Режим 1. В первом режиме работы таймер работает как шестнадцатиразрядный счётчик. Режим 1 похож на режим 0, за исключением того, что в регистрах таймера использует все 16 бит. В этом режиме регистры ТНх и TLx также включены друг за другом. Работе таймера 0 или таймера 1 в
режиме 1 соответствует схема:
Рисунок 11 - Схема таймеров 0 или 1 в режиме 1
В этом режиме можно обеспечить формирование интервала времени длительностью до 65536 мкс при частоте задающего генератора 12 МГц.
Нулевой и первый режимы работы таймеров T0 и T1 предназначены для формирования одиночного интервала времени. Если возникает необходимость формировать последовательность интервалов времени для периодических процессов, то загрузка регистров TH0 и TL0 для задания нужного интервала времени производится программно, что для коротких интервалов времени может привести к значительным затратам процессорного времени.
Для формирования последовательности одинаковых интервалов времени используется режим работы таймера с перезагрузкой - режим 2.
Режим 2. В режиме 2 регистр таймера TLx работает как 8-битный счетчик с автоматической перезагрузкой начального значения из регистра ТНх в регистр TLx. Переполнение регистра TLx не только устанавливает флаг TFx, но и загружает регистр TLx содержимым регистра ТНх, который предварительно инициализируется программно. Перезагрузка не изменяет содержимое регистра ТНх. Работе таймера 0 или таймера 1 в режиме 2 соответствует схема:
32
Рисунок 12 - Схема таймеров 0 или 1 в режиме 2.
Схема управления таймерами 0 и 1 идентична и для таймера T0 приведена на рисунке 6. Для схемы управления таймером T1 изменятся только номера управляющих бит (нули будут заменены на 1). В приведенной схеме заштрихованным прямоугольником обозначены внешние ножки микросхемы микроконтроллера.
Рисунок 13 - Схема управления таймерами 0 или 1
Из схемы видно, что таймер может включаться и выключаться битами
TRx. Таким образом можно уменьшать потребление микросхемы и уровень помех, создаваемый ею. Учитывая, что счетчики таймеров переключаются на высокой частоте, то они могут потреблять до половины тока потребления микроконтроллера. Следует отметить, что при включении и после сброса микроконтроллера работа таймеров запрещена.
Есть возможность управлять работой таймера извне при помощи внешней ножки T0 для таймера T0 или T1 для таймера T1. Для этого необходимо записать в бит GATEx логическую единицу (не забыв при этом разрешить работу таймера при помощи бита TRx).
Кроме того, таймер может синхронизироваться от внешнего генератора.
Для этого в бит управления C/T нужно записать логическую единицу.
33
Биты включения таймеров TR0 и TR1 размещены в регистре TCON (control - управлять), а биты GATE и C/T в регистре TMOD. Формат регистра
TCON приведён на следующем рисунке:
Рисунок 14 - Формат регистра управления режимами работы таймеров TCON
Таблица 8- Назначение битов таймеров регистра TCON
СимволПозиция |
Имя и назначение |
|
|
|
|
|
|
|
||||
TF1 |
TCON.7 |
Флаг |
переполнения |
таймера |
1. Устанавливается |
|||||||
|
|
аппаратно |
|
при |
переполнении |
|
таймера/счетчика. |
|||||
|
|
Сбрасывается при обслуживании прерывания аппаратно |
||||||||||
TR1 |
TCON.6 |
Бит |
|
|
|
управления |
|
таймера |
||||
|
|
1. Устанавливается/сбрасывается |
|
программой |
для |
|||||||
|
|
пуска/останова |
|
|
|
|
|
|
|
|
||
TF0 |
TCON.5 |
Флаг |
переполнения |
таймера |
0. Устанавливается |
|||||||
|
|
аппаратурно. |
Сбрасывается |
при |
обслуживании |
|||||||
|
|
прерывания |
|
|
|
|
|
|
|
|
|
|
TR0 |
TCON.4 |
Бит |
управления |
таймера |
0. Устанавливается |
/ |
||||||
|
|
сбрасывается |
программой |
для |
пуска/останова |
|||||||
|
|
таймера/счетчика |
|
|
|
|
|
|
|
|
||
IE1 |
TCON.3 |
Флаг |
|
фронта |
|
прерывания |
1. Устанавливается |
|||||
|
|
аппаратно, когда детектируется срез внешнего сигнала |
||||||||||
|
|
INT1. Сбрасывается при обслуживании прерывания |
|
|
||||||||
IT1 |
TCON.2 |
Бит |
|
управления |
|
типом |
прерывания |
|||||
|
|
1. Устанавливается |
/ |
сбрасывается |
|
программно |
для |
|||||
|
|
определения |
типа |
запроса |
прерывания |
INT1 |
||||||
|
|
(срезу/низким уровнем). |
|
|
|
|
|
|
||||
IE0 |
TCON.1 |
Флаг |
фронта |
прерывания |
0. Устанавливается |
по |
||||||
|
|
срезу сигнала INT0. Сбрасывается при обслуживании |
||||||||||
|
|
прерывания |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
IT1 |
TCON .0 |
Бит |
|
управления |
|
типом |
прерывания |
|||||
|
|
0. Устанавливается |
/ |
сбрасывается |
|
программно |
для |
|||||
|
|
определения типа запроса прерывания INT0 (срез/низкий |
||||||||||
|
|
уровень) |
|
|
|
|
|
|
|
|
|
|
34
МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ
Лабораторная работа №1 Тема: Изучение симулятора однокристальной микро-ЭВМ семейства
МК-51
Цель работы: ознакомление с работой программы симулятора микро-
ЭВМ семейства МК-51.
Указания по выполнению работы
1. Изучение выводимой на дисплей информации.
Запустите симулятор однокристальной микро-ЭВМ семейства МК-51 (далее симулятор) AVSIM.BAT - на дисплей будет выведено изображение основного экрана симулятора (рис. 14).
Рисунок 14
Две нижние строки экрана составляют меню команд симулятора и командную строку, отображающую мнемонику и параметры вводимой команды. При нахождении курсора на этих строках симулятор работает в режиме ввода «MENU». Остальная часть экрана используется для отображения программной модели микро-ЭВМ и хода выполнения команд программы. Для изменения содержания элементов программной модели микро-ЭВМ в процессе отладки программы необходимо переключить симулятор в режим ввода
35
«ЭКРАН». В этом режиме курсор находится на этой программной модели и с помощью клавиатуры можно ввести данные непосредственно в элементы программной модели. Переключение режимов ввода осуществляется клавишей
«Escape». Движения курсора по экрану, командной строке и меню осуществляется клавишами перемещения (<—, —>).
Рассмотрим часть экрана, отображающую листинг программы и программную модель микро-ЭВМ. Эта часть экрана разделена цветом на ряд областей.
Листинг программы расположен в левой части экрана на поле красного цвета (рис.15). И содержит адреса ячеек памяти программ, в которых
Рисунок 15
размещены команды программы. Каждая ячейка содержит один байт данных,
поэтому для команд, содержащих более одного байта, автоматически резервируется необходимое число ячеек памяти.
В правом верхнем углу экрана (на черном фоне) индицируются режимы ввода и отображения информации (рис.16).
«SCL» имеет два состояния: ON/OFF (вкл. / выкл.). Работает только в режиме «ЭКРАН»- Переключение состояний осуществляется сочетанием клавиш " Ctrl+PageUp.
36