Студопедия

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника



Указания к выполнению работы

Читайте также:
  1. DL – deadline – крайний срок сдачи работы – после DL работа принимается, но оценка снижается (20% за неделю, если не оговорено другое).
  2. ExpertOnline; 28.05.2012, Итоги работы НПФ Урала и Западной Сибири в 2011 году
  3. FDDI. Кадр. Процедуры управления доступом к кольцу и инициализации работы кольца.
  4. I ТРЕБОВАНИЯ К ВЫПОЛНЕНИЮ ТЕХНИЧЕСКОГО ОБСЛУЖИВАНИЯ ТОРМОЗНОГО ОБОРУДОВАНИЯ МОТОР-ВАГОННОГО ПОДВИЖНОГО СОСТАВА
  5. I. Задания для самостоятельной работы
  6. I. Задания для самостоятельной работы
  7. I. Задачи настоящей работы
  8. I. ОБЩИЕ УКАЗАНИЯ.
  9. I. СТРУКТУРА КУРСОВОЙ РАБОТЫ
  10. I.УКАЗАНИЯ К ВЫПОЛНЕНИЮ ЗАДАНИЙ

 

Микроконтроллеры серии МК51 имеют два встроенных программируемых 16-разрядных таймера-счетчика. При работе в режиме таймера счетчики подсчитывают импульсы, поступающие от тактового генератора с периодом машинного цикла. При тактовой частоте 12 МГц этот период равен 1 мкс, то есть инкремент таймера производится каждую микросекунду и максимальное время счета равно 216 мкс. При работе в режиме счетчика подсчитываются импульсы, поступающие на вход T0 (P3.4 – вывод 14 микросхемы) 0-го таймера и на вход T1 (P3.5 – вывод 15 микросхемы) 1-го таймера. Внешний импульс распознается за два машинных цикла, поэтому максимальная частота сигнала счетчика равна половине частоты, соответствующей машинному циклу (500 кГц при тактовой частоте 12 МГц).

16-разрядные регистры таймеров доступны по чтению и записи побайтно и расположены в области регистров специальных функций. При использовании Ассемблера к ним можно обращаться по именам TH0 и TL0 – для старшего и младшего байтов таймера 0, TH1 и TL1 – для таймера 1.

Таймеры управляются двумя регистрами специальных функций: TMOD и TCON.

Первый регистр - TMOD имеет следующую структуру:

 

Биты
Обозн. GATE1 C/T1 M1.1 M0.1 GATE0 C/T0 M1.0 M0.0

 

Биты M0-M1 определяют один из 4-х режимов работы.

Бит C/T определяет работу в режиме таймера (0) или счетчика (1).

Бит GATE разрешает управление таймером от внешнего управляющего сигнала INT (INT0 – вывод 12, INT1 – вывод 13).

Режим работы 0 используется для совместимости с МК48. При этом в таймере для счета используется регистр TH и 5 младших разрядов регистра TL – всего 13 разрядов.

Режим работы 1 – наиболее употребительный. При этом используются все 16 разрядов счетчика.

В режиме работы 2 для счета используются только 8 младших разрядов (TL). При переполнении происходит их автоматическая перезагрузка содержимым регистров TH.

Режим работы 3 используется в основном при управлении скоростью передачи данных по последовательному каналу и в данной работе не рассматривается.

Побитный доступ к регистру TMOD отсутствует. Запись в него возможна любой командой с прямой адресацией, например, команда MOV TMOD,#00000001b определяет режим 1 нулевого таймера.



Второй регистр – TCON имеет следующую структуру:

 

Биты
Обозн. TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

 

Здесь биты TR включают - 1 и отключают - 0 работу таймеров.

Биты TF – флаги переполнения таймеров. Они устанавливаются аппаратно, когда к содержимому таймеров 0FFFFh прибавляется 1, и должны быть программно сброшены после опроса.

К данным битам возможна побитовая адресации и в Ассемблере предусмотрено обращение по именам. Например, таймер 1 запускается командой SETB TR1.

Для загрузки таймера необходимо двойное слово загрузить раздельно в два байта. Для этого удобно использовать функции Ассемблера получения младшего байта (Low()) и старшего байта (High()). Так, для получения временной задержки 200 мкс в таймер нужно загрузить константу 65536-200=65336. Это можно сделать следующей последовательностью команд:

 

       
Delay: equ -200  
  mov TH0,#low(Delay)  
  mov TL0,#high(Delay)  

 



Окончание счета можно проверить командой проверки бита TF. При этом команда JBC bit,Address позволяет проверять бит с его автоматическим сбросом.

Полностью программа, определяющая временную задержку 200 мкс, будет выглядеть следующим образом:

 

       
Delay: EQU -200 ;Определяем длительность
  MOV TMOD,#1 ;Задаем режим таймера
  Mov TH0,# high(Delay) ;Задаем длительность
  Mov TL0,# low(Delay) ;
  Setb TR0 ; Запускаем таймер
Wait: Jbc TF0,Okay ; Ждем конца счета
  Sjmp Wait  
Okay: clr TR0 ;Останавливаем таймер
           

Отладка программы с помощью логического анализатора среды разработки mVision позволяет графически отобразить состояние портов ввода-вывода микроконтроллера. Для этого в режиме отладки вызовите отображение окна логического анализатора (пункт меню View>Logic Analyzer Window). Затем в пункте меню логического анализатора Setup выберите отображаемый сигнал, например состояние порта P0.


Дата добавления: 2015-04-05; просмотров: 5; Нарушение авторских прав


<== предыдущая лекция | следующая лекция ==>
Пример использования подпрограмм и команд условного перехода | Пример программы формирования сигнала произвольной формы
lektsii.com - Лекции.Ком - 2014-2019 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты