Использование таймера в качестве измерителя длительности импульсов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Использование таймера в качестве измерителя длительности импульсов



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

Рис. 6.20. Временная диаграмма измерения длительности импульсов

Для измерения длительности импульсаизмеряемый сигнал подается на вывод микроконтроллера INTx, и в бит управления GATE записывается разрешающий сигнал логической единицы. Таймер/счетчик настраивается в режим таймера записью в бит C/Tx логического нуля. Содержимое таймера перед измерением длительности импульса обнуляется. Ассемблерный текст процедуры измерения длительности импульса приведен в листинге 20.1.

Листинг 20.1. Процедура измерения длительности импульса

MOV TMOD,#00001001b

;

|| ;

Перевести таймер T0 в 16-разрядный режим ;

Работать от внутреннего генератора ;|+------Включать таймер от вывода микроконтроллера INT0 ;||++-------Перевести таймер T1 в 13-разрядный режим ;|+---------Работать от внутреннего генератора ;+----------Запретить управление таймером от вывода INT1   MOV TH0, #0;Обнулить старший байт таймера MOV TL0, #0;Обнулить младший байт таймера   SETB TR0;Включить измеритель ширины импульса   TstLog0: JNB INT0, TstLog0;Подождать начало импульса TstLog1: JNB INT0, TstLog1;Подождать конец импульса   CLR TR0;Отключить измеритель ширины импульса Если теперь на вход микроконтроллера INT0 подать импульс с неизвестной длительностью, то в регистрах TH0 и TL0 будет записана его длительность в микросекундах.

Использование таймера в качестве частотомера

Известно, что измерение частотыможно произвести, подсчитав количество периодов неизвестной частоты за единицу времени. Принцип измерения частоты иллюстрируется рис. 20.21. Например, если за 1 мс на вход счетчика таймера поступят 15 импульсов, то измеренная частота равна 15 кГц.

Рис. 6.21. Временная диаграмма измерения частоты

Измеряемый сигнал подается на вывод микроконтроллера Tx. Таймер/счетчик настраивается в режим счетчика записью в бит C/Tx логической единицы. Содержимое таймера обнуляется. Таймер включается на строго определенный интервал времени. Этот интервал задается другим таймером.

Пример исходного текста программы измерения частоты сигнала на выводе микроконтроллера T0 приведен в листинге 20.2.

Если теперь на вход микроконтроллера T0 подать сигнал с неизвестной частотой, то в регистрах TH0 и TL0 будет записана его частота в килогерцах.

Листинг 20.2. Процедура измерения частоты сигнала

MOV TMOD,#00010101b

;

|| ;

Перевести таймер T0 в 16-разрядный режим ;

Работать от сигнала на выводе T0 ;|+------Запретить управление таймером от вывода INT0 ;||++-------Перевести таймер T1 в 16-разрядный режим ;|+---------Работать от внутреннего генератора ;+----------Запретить управление таймером от вывода INT1   MOV TH0, #0;Обнулить старший байт счетчика MOV TL0, #0;Обнулить младший байт счетчика ;---измерение вести в течение 1 мс-------------------------------------- MOV TH1, #HIGH(-1000);Загрузить старший байт таймера MOV TL1, #LOW(-1000);Загрузить младший байт таймера   MOV TCON,#01010000b;Включить частотомер ;

|| ;



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 374; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.227.0.192 (0.006 с.)