- •1. Однокристальные микро-эвм (омэвм) семейства mcs51. Обобщённая структурная схема микроЭвм. Основные характеристики омэвм.
- •2. Структурная схема микро-эвм семейства mcs51 (к1816ве51). Операционный узел. Формат регистра psw. Структурная схема микроконтроллера
- •Операционный узел
- •3. Структурная схема микро-эвм семейства mcs51 (к1816ве51). Узел внутренней памяти. Состав регистров специального назначения.
- •4. Организация адресного пространства микро-эвм семейства mcs51. Узел внутренней памяти
- •5. Порты микро-эвм семейства mcs51 (к1816ве51). Назначение портов. Функциональная схема порта р0. Узел управления и синхронизации
- •Узел сопряжения с внешними устройствами
- •6. Способы адресации микро-эвм семейства mcs51 (к1816ве51).
- •Cпособы адресации
- •7. Система команд микро-эвм семейства mcs51 (к1816ве51). Группа команд пересылки данных.
- •8. Система команд микро-эвм семейства mcs51 (к1816ве51). Группа команд обработки данных.
- •9. Система команд микро-эвм семейства mcs51 (к1816ве51). Группа команд управления.
- •11. Временная диаграмма типового машинного цикла. Примеры временных диаграмм для выполнения команд за один и за два машинных цикла.
- •А) Считывание команд из внутр. Памяти программ (сверху до пунктира).
- •Б) Ниже пунктира – внешняя память данных. Данные читаются во 2ом мц.
- •1. Если чтение из внутр. Пп, то psen не вырабатывается.
- •12. Таймеры/счётчики 0 и 1 микроконтроллера семейства mcs51 (омэвм51). Режимы работы, программирование таймера/счётчика.
- •13. Таймер/счётчик 2. Режимы работы.
- •14. Организация прерываний в омэвм51.
- •Обработка внутренних прерываний
- •15. Организация последовательного ввода/вывода микроконтроллера семейства mcs51 (омэвм51). Режимы работы uart. Расчет скорости передачи данных для асинхронного режима.
- •Формирование p для передатчика.
- •Примеры программирования последовательного ввода/вывода.
- •16. Последовательный интерфейс i2c.
- •Случай чтения байта из памяти:
- •Временная диаграмма
- •17. Последовательный интерфейс spi (Serial Periferial Interface).
- •18. Последовательный интерфейс can.
- •19. Последовательный интерфейс One wire (MicoLine).
- •Структурная схема шины usb
- •Хост контроллер – на шине только один. Функция – периферийное устройство. В хабе имеется порт (точка подключения). Корневой хаб входит в состав хоста.
- •21. Обзор современных микроконтроллеров семейства mcs51. Особенности микроконтроллеров фирм Philips, Atmel и др.
- •22. Микроконтроллеры mсs 251, 151. Микроконтроллер 251.
- •23. События. Примеры захвата событий. Массив программируемых счетчиков (pca). Режимы захвата, программируемого таймера, скоростного ввода вывода, генератора шим.
- •Краткий обзор pic 16c 6x/7x/8x
- •3. Управляющие команды
- •4. Команды пересылки данных
- •25. Микроконтроллеры с risc архитектурой (семейство avr). Организация памяти. Особенность портов ввода вывода. Обзор системы команд. Пример программы с использованием команд микроконтроллера avr.
- •26. Цифровая обработка сигналов (цос). Примеры задач цос. Сигнальные микроконтроллеры фирмы Texas Instruments (tms320). Сигнальные процессоры
- •Рассмотрим tms 320
- •Организация памяти
- •Инструментальные ср-ва разработки и отладки мпс
13. Таймер/счётчик 2. Режимы работы.
Начиная с i8052.
16-разрядный.
Режимы:
- захвата событий;
- автозагрузки;
- использование как генератора для последовательного ввода/вывода;
- генератора тактовых сигналов.
Режим захвата событий.
Режим может быть таймера или счетчика (от внешнего тактового генератора). У порта Р1 некоторые биты переопределены (раньше у порта Р3).
TF2 может быть обработан по прерыванию.
- детектор событий, определяет перепад от 1 к 0.
RCAP2H и L – регистры захвата старшего и младшего байтов.
При захвате события текущее значение регистров ТН, ТL перепишется в регистр захвата. Во время дальнейшего счета содержимое RCAP2 надо быстро переписать в память. При поступлении нового события содержимое регистров TH, TL перепишется в регистр захвата.
EXEN2 – разрешает режим работы захвата.
EXF2 – обработчик прерывания по самому событию.
Нужны доп. регистры спец. функций: T2CON, T2COM, TH2, TL2, RCAP2H, RCAP2L.
Перезапускаемый режим.
1. Традиционный – накапливающий таймер/счетчик: RCAP2 используется для записи начального значения, с которого начинается счет.
2. Вычитающий: работает верхний вентиль, загружается 0FFh, вычитается до значения из RCAP2.
Как генератор послед. ввода/вывода.
1. Диапазон скоростей 9600 (?).
2. Могут быть использованы режимы таймера 1. Либо счет идет от таймера 1, либо от таймера 2.
Использование как генератора тактовых импульсов.
14. Организация прерываний в омэвм51.
Cуществует 5 уровней прерываний;
3 внутренних (2 таймера T0,T1;UART)
2 внешних (INT0, INT1)
Для настройки прерываний исп. регистр:
Регистр управления:
При переполнении биты TF равны 1. Их можно опросить программным способом. Чтобы разрешать или запрещать прерывания нужен регистр IE.
Разряды IE1(0) регистра TCON служат для запоминания прерываний от внешних сигналов. Биты IT1(0) – в них указывается управление внешними прерываниями. Если IТ=1, то обработка идет по спадающему фронту, если 0, то по уровню.
Регистр разрешения прерываний (побитно доступен) IE:
Регистр приоритетов прерываний IP:
Если все нули, то приоритет выставляется по стрелке. Если 1, то там наивысший приоритет. При включении IE и IP выставляются в 0.
0ой бит IP – внеш. 0, 1ый – Т0, 2ой – внеш. 1, 3ий – Т1, 4ый – послед.
Назначение разрядов IE:
EA- Запретить все прерывания (ставим 0);
4. ES- разрешения прерываний от UART;
ET1- разрешения прерываний по переполнению таймера 1;
EX1 – разрешения прерываний для внешнего прерывания INT1;
ET0- разрешения прерываний по переполнению таймера 0;
0. EX0 – разрешения прерываний для внешнего прерывания INT0.
Обработка внутренних прерываний
При переполнения таймера возникает сигнал переполнения TF1,TF0. Если переполнения от таймеров разрешены, наступает обработка. При этом 1-ая команда обработчика от таймеров сбрасывает биты TF.
Формат регистра SCON (используется для обработки прерываний от последовательного ввода/вывода):
Для UART исп. биты RI,TI (от RECEIVE , TRANSMIT). Поднимаются при приеме/передача байта. Сброс осуществляет программист.
Биты запросов прерываний от внешних источников сбрасываются автоматически, если обработка идет по срезу, по уровню - надо сбрасывать программно.
За каждым прерыванием закрепляется вектор.
Внешний 0 (INT0) – 0003h
Внутренний 0 (T0) – 000Bh
Внешний 1 (INT1) – 0013h
Внутренний 1 (T1) – 001Bh
Внутренний (последоват.) – 0023h
На обработчик отводим 8 байт – явно мало, поэтому надо перейти на свой обработчик. Для перехода на обработчик используется jmp, call.
JMP:
Org 0003h jmp prog1
Prog1:
…
Reti
CALL:
Org 0003h call prog1
Reti
Prog1:
…
ret
После того, как пришел сигнал прерывания, пройдет время до завершения текущей команды + время на переход к обработчику. Наличие прерывания определяется в конце МЦ, не позже чем за 2 такта.
Итого: Через 38 тактов выполним 1-ую команду обработчика (если команда 2-х байтная. Проверка наличия прерывания происходит в середине команды.
2+24+12=38 – это лучший результат.
Худший результат 2+12+24+48=86, если команда более длинная (MUL,DIV)
Расширение внешних источников прерываний
Если внешних прерываний более 2-х, то :
1)
Это монтажное ИЛИ. Номер источника определяется программным способом. Приоритеты устанавливает пользователь. После обработки прерывания нужно сделать программный сброс битов.
Если остался свободный внутренний таймер, то его надо настроить в режим счетчика и загрузить начальное значение либо FF, либо FFFF.
Пример программы для обработки бита TF по прерыванию.
MOV TMOD, #01h
MOV TH0, #high(65536-50000)
MOV TL0, #low(65536-50000)
MOV IE, #10000010B
SETB TR0 ;запуск таймера
JMP $
000Bh: Call clock
Reti
Clock: Mov TH0,#
Mov TL0, #
….
RET