- •Микропроцессорные контроллеры
- •8.3 Система команд
- •10.4 Организация памяти
- •1. Типы архитектур микроконтроллеров
- •1.1 Основные структуры вычислительных систем
- •1.2 Определение микропроцессора
- •1.3 Шинная организация соединений
- •1.4. Типы архитектур микроконтроллеров
- •2 Микроконтроллер на базе 8-разрядного
- •2.1 Описание микропроцессора кр1821вм85
- •2.2 Режимы работы мп
- •3 Микроконтроллер на базе 16-разрядного микропроцессора к1810вм86
- •3.1 Технические характеристики мп к1810вм86
- •3.2 Назначение сигналов
- •3.3 Программно-доступные регистры
- •3.5 Организация внешней памяти
- •3.6 Структурная схема мк на базе мп к1810вм86
- •3.7 Способы адресации
- •3.8 Система команд мп 1810вм86
- •3.8.1 Команды пересылок данных
- •2. Пересылки “регистр-память” -
- •3.8.2 Команды преобразование данных
- •10. Команды сдвигов –
- •3.8.3 Команды передачи управления
- •1. Безусловные переходы -
- •8 Микроконтроллер на базе омэвм к1816ве48
- •8.1 Технические характеристики к1816ве48
- •8.2 Способы адресации операндов
- •8.3 Система команд
- •Rlc a, rrc a ; циклические сдвиги влево и вправо через признак переноса.
- •8.4 Таймер
- •8.5 Структурная схема мк
- •9 Микроконтроллер на базе омэвм к1816ве51
- •9.1 Технические характеристики омэвм к1816ве51
- •9.2 Организация памяти
- •9.3 Регистры специальных функций
- •9.4 Способы адресации операндов
- •9.5 Система команд
- •Rlc a, rrc a ; циклические сдвиги влево и вправо через признак переноса.
- •9.6 Управление прерываниями
- •9.7. Последовательный ввод-вывод данных
- •9.8 Таймеры
- •11.1 Семейство pic-контроллеров
- •12 Современные тенденции в развитии
- •12.1 Сигнальные процессоры фирмы Texas Instruments
- •12.2 Сигнальные процессоры Analog Devices
- •12.3 Транспьютеры
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”.