Последний уровень раздела предыдущего изложения   Текущий уровень изложения предыдущего раздела   Текущий уровень изложения следующего раздела   Первый уровень изложения следующего раздела   Уровень: Глоссарии:


Пример использования ПИТ



На рисунке внизу приведена одна из множества схем применения ПИТ в качестве таймера с программируемой длительностью временного интервала T1, подачей звуковых отметок с периодом T2 и сигнализацией с частотой F0 спустя время T1.



PIT-budilnik.gif(4835bytes)



Исходные данные для проектирования:





Необходимо для каждого счетчика вычислить коэффициенты деления Ni и управляющие байты.





D7 D6 D5 D4 D3 D2 D1 D0 HEX код
0 0 1 1 0 1 1 0 36
0 0 1 1 1 1 1 0 3E




D7 D6 D5 D4 D3 D2 D1 D0 HEX код
1 0 0 1 0 1 0 0 94
0 0 1 1 1 1 0 0 9C




D7 D6 D5 D4 D3 D2 D1 D0 HEX код
0 1 0 1 0 0 0 1 51


Программа запуска приведенной схемы таймера:



   ;++++ подготовка счетчиков таймера к работе в выбранных режимах
   mov al,51h; загрузка управляющего байта CT1
   out 83h,al; по адресу 83
   mov al,9ch ; загрузка управляющего байта CT2
   out 83h,al; по адресу 83
   mov al,3eh  ;  загрузка управляющего байта CT0
   out 83h,al;  по адресу 83




   ;++++ запись коэффициентов деления  Ni в счетчики
   ;++++ в режимах 0,2,3 счетчики при записи в них последнего
   ;++++ (единственного) байта Ni начинают счет импульсов CLKi

   mov al,14h  ; запись N1=14(BCD) в счетчик CT1
   out 81h,al; по адресу 81
   mov al,64h  ; запись N2=100(DEC) в счетчик CT2
   out 82h,al; по адресу 82
   mov al,20h  ; запись младшего байта N0=20000(DEC)=4e20(HEX)
   out 80h,al; в счетчик CT0 по адресу 80
   mov al,4eh  ; а теперь - старшего байта N0
   out 80h,al; по тому же адресу
   ;++++ таймер начал отсчет времени.