Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPS.doc
Скачиваний:
27
Добавлен:
17.04.2019
Размер:
1.08 Mб
Скачать

8.4 Таймер

Таймер – устройство формирования и измерения временных интервалов. Основой таймера является 8-разрядный счетчик, который работает в двух режимах:

- счет внешних импульсов со входа Т1;

– формирование заданного интервала.

Счетчик работает на инкремент и при переходе из состояния

FF  00 формируется импульс запроса на прерывание TF, по которому выполняется переход к подпрограмме обработки прерывания по адресу 007h. Команды управления таймером следующие:

а). для режима счета внешних импульсов -

MOV T, A ; начальная установка таймера,

STRT CNT ; пуск режима счета внешних импульсов,

MOV A, T ; контроль состояния таймера;

Рисунок 8.4.1 Формирование заданного интервала

б). для формирования заданного интервала –

MOV T, A ; начальная установка таймера,

STRT T ; пуск таймера.

При расчете временного интервала необходимо учесть, что на счетчик подается импульсная последовательность с частотой FT = FQ/480, где FQ – частота кварцевого резонатора, используемого в тактовом генераторе.

Пример: Сформировать временной интервал T = 10 мс, при FQ= 6 МГц,

Частота тактовых импульсов на входе таймера FT = 6 МГц/480 = 12,5 кГц или TТ = 80 мкс. Число тактов, которые должен выполнить счетчик таймера – NТ = 10мс/80мкс = 125.

Определим код, который необходимо загрузить в счетчик таймера

256 -125 – 1 = 130.

Последовательность команд должна быть следующая:

MOV A, #130

MOV T, A

STRT T.

На рисунке 8.4.1 представлена временная диаграмма формирования

временного интервала длительностью 10 мс.

8.5 Структурная схема мк

На рисунке 8.5.1 представлена структурная схема простейшего микроконтроллера с использованием ОМЭВМ К1816ВЕ48 с подключением клавиатуры и одного индикатора. Наличие всего трех портов не позволяет напрямую подключать больше трех внешних устройств (ВншУ) ввода-вывода данных.

Рисунок 8.5.1 Структурная схема простейшего МК

Например, для случая МК с подключением клавиатуры и блока индикации потребуется как минимум 4 порта. Для клавиатуры необходимо два порта – порт для вывода кода опроса клавиатуры и порт для ввода кода состояния клавиатуры. Для подключения динамической семисегментной индикации потребуется также два порта – порт для вывода кода символа и порт для вывода номера индикатора, а если используется матричная индикация, то потребуется уже три порта - порт для вывода кода символа по строкам, порт для включения столбцов и порт для вывода номера индикатора. Таким образом, требуется 4-5 портов ввода-вывода кодов.

1. Подключение ВншУ, входящих в адресное пространство. Внешние устройства ввода-вывода данных можно отождествить с ячейками внешнего ОЗУ, тогда ВншУ будут входить в адресное пространство ОЗУ. В этом случае можно реализовать максимальный вариант подключения 256 ВншУ0. Для этого варианта предназначены команды пересылок с использованием косвенной адресации:

MOV R0(1), #<Adr8> ; в R0 или R1 записать 8- разрядный

адрес ВншУ,

MOVX A, @R0(1) ; из ВншУ по адресу, хранящемуся в R0 или

R1 переслать байт в аккумулятор.

Рисунок 8.5.2 Схема подключения ВншУ и временные диаграммы

Для схемы подключения ВншУ, входящих в адресное пространство ОЗУ (рисунок 8.5.2), используются команды MOVX A, @R0(1) , по которым на выходе P0 устанавливается 8-разрядный адрес, сопровождаемый сигналом ALE = 1. По этому сигналу необходимо защелкнуть адрес в РгА, выход которого используется для выбора ВншУ. Затем порт P0 переходит в режим ввода данных, которые поступают от внешнего устройства. Аналогичным образом реализуется вывод данных, который данных сопровождается сигналом чтения WR, а ввод – сигналом записи RD.

2. Подключение ВншУ, не входящих в адресное пространство ОЗУ.

Другим вариантом схемы МК с подключением более трех ВншУ является схема использования порта Р0 в качестве шины данных, а порты P1 и Р2 – в качестве источника сигналов управления ВншУ. В этом случае каждый разряд портов Р1 и Р2 используется для формирования сигналов записи или чтения (рисунок 8.5.3). Такая схема организация управления позволяет подключить до 16-ти ВншУ.

Рисунок 8.5.3 Подключение ВншУ с поразрядным управлением

Для обращения к ВншУ, не входящим в адресное пространство ОЗУ, используются команды ввода-вывода через порт P0. При этом на соответствующих разрядах портов Р1 или Р2 необходимо сформировать для ВншУ управляющий импульс. Последовательность команд следующая:

а). режим вывода данных (управляющий разряд – Р1-0) -

OUTL BUS, A ; вывод из аккумулятора байта в порт Р0

MOV A, #00000001b ; загрузка в аккумулятор

OUTL P1, A ; разряд порта P1-0 переключается в “1”;

MOV A, #00000000b ; загрузка в аккумулятор

OUTL P1, A ; разряд порта P1-0 переключается в “0”;

б). режим ввода данных (управляющий разряд – Р1-1)

MOV A, #00000010b

OUTL P1, A ; разряд порта P1-1 переключается в “1” и открывает шинный формирователь ВншУ, подключенный к порту P0

INS A, BUS ; чтение данных через порт Р0 в А

MOV A, #00000000b

OUTL P1, A ; разряд порта P1-1 переключается в “0”.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]