Лекция: Таймеры. Т1 как измеритель длительности импульса

Режим 0.Перевод любого Т/С в режим 0 делает его похожим на таймер КМ1816ВЕ48 (восьми битный счетчик), к входу которого подключен пяти-битный предделитель частоты на 32. Работу Т/С в режиме 0 на примере T/C1 иллюстрирует рис а. В этом режиме таймерный регистр имеет разрядность 13 бит. При переходе из состояния «все единицы» в состояние «все нули» устанавливается флаг прерывания от таймера TF 1. Входной синхросигнал таймера 1 разрешен (поступает на вход Т/С1), когда управляющий бит TR1 установ­лен в 1 либо управляющий бит GATE (блокировка) равен 0, либо на внешний вывод запроса прерывания INT1 поступает уровень 1. Отметим попутно, что установка бита GATE в 1 позволяет использовать таймер для измерения длительности импульсного сигнала подаваемого на вход запроса прерывания.

Для измерения длительности импульса измеряемый сигнал подается на вывод микроконтроллера INTx и в бит управления GATE записывается разрешающий сигнал логической единицы

 

 

mov TMOD,#00001001b

mov TH1, #0; Обнулить старший байт таймера

mov TL1, #0; Обнулить младший байт таймера

setb TR1; Включить измеритель ширины импульса

TstLog0: jnb INT0, TstLog0; Подождать начало импульса (начало — 1)

TstLog1: jnb INT0, TstLog1; Подождать конец импульса (надо вроде jb)

Clr TR1; Отключить измеритель ширины импульса

 

4. Система команд. Как изменится состояние асс после команды anl a,#0FEh?

В АСС в младший бит запишется 0 (1*1=1, 0*1=0) (0FEh=1111 1110b)

еще рефераты
Еще работы по информатике