- •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
- •Организация памяти
- •Инструментальные ср-ва разработки и отладки мпс
15. Организация последовательного ввода/вывода микроконтроллера семейства mcs51 (омэвм51). Режимы работы uart. Расчет скорости передачи данных для асинхронного режима.
Бит четности Р – не используется – 10 бит
Бит четности Р используется – 11 бит
COM-порт: «0» = +3..+12 В, «1» = -3..-12 В.
Для организации последовательного ввода/вывода используется 2 регистра: SBUF – буфер последовательного ввода/вывода. При поступлении сюда байта автоматически осуществляется преобразование из параллельного кода в последовательный и наоборот из послед. в параллельный.
SCON – управление последовательны вводом/выводом.
Формат регистра SCON
SCON SM1,SM0,SM2,REN,TB8,RB8,TI,RI
SM1 |
SM2 |
Режим работы |
0 |
0 |
0- режим послед. cинхронного вода/вывода на скорости fт/12. Линия данных – RxD, Линия синхр-ии – TxD (частота fт/12) |
0 |
1 |
1- асинхронный (10 бит) |
1 |
0 |
2 – асинхронный (11 бит), но 2 фиксированных скорости: fт/32 и fт/64 |
1 |
1 |
3-асинхронный (11 бит) |
Для режимов 1 и 3 скорость устанавливается с помощью таймера 1.
Для режима 2 , существует 2 фиксированных скорости обмена.
FT/32
FT/64
Задаются в PCON (используется бит четности).
REN(receive enable) - разрешить\заблокировать приём.
TB8 – место для записи бита четности при передаче.
RB8 – место для записи бита четности при приеме.
Эти места побитно доступны.
TI – бит готовности для передатчика;
RI – бит готовности для приёмника;
Эти биты могут быть обработаны либо программно, либо по прерыванию.
Расчет скорости передачи для послед. вв/выв.
Расчет для режимов 1 и 3.
Скорость задается с помощью внутр.таймера Т1 в режиме 2. Таймер Т1 выполняет функцию внутр. Генератора. ТН1 – идет накопление, когда он 0, то загрузка его содержимого в TL1. Нужно загрузить в ТН1 и TL1 начальные значения. В них загружаются одинаковые значения = 256 - [ ], где V – скорость передачи (300 бод, 600, 1200….).
Пример. На что повлияет округление. Найти начальное значение для таймера Т1. fт=6 МГц, V=1200 б/с.
. А в таймер нужно загружать целое числа. Следовательно, округлим до 13. 256 – 13=243. Следовательно, скорость V= .
Возможно отклонение скорости на 0.05%. Мы укладываемся.
Если V=2400 б/с, то получаем . Нужно либо 6, либо 7 брать. Но в обоих случаях отклонение больше, чем 0.05%. Нужно выбирать fт, кратную набору всех скоростей. В частности fт=11.0592 МГц.
TCPU ~ мкс => необходимо подождать пока появится TI.
Контроллер 8-ми разрядный, а если есть контроль чётности, то девать его некуда. Решили хранить этот бит в SCON
!!! Аппаратно бит чётности не формируется !!!
Формирование p для передатчика.
Задача: передать содержимое аккумулятора. Добавим к нему бит чётности.
Бит чётности есть в PSW (в PC - регистр флагов).
Флаги формируются при арифметических и логических операциях, поэтому сложим A с 0 (чтобы не портить его содержимое).
add A,#0 mov C,P mov TB.8,C |
;Сформировали бит чётности и поместили в TB.8. ;C - бит переноса в PSW. |
mov SBUF,A |
;регистр SBUF для преобразования параллельного кода в ;последовательный |
Перед следующей записью\чтением в SBUF необходимо проверить сигнал готовности.
PSW:
C |
F0 |
RS1 RS0 |
P |
|
!!!Бит P – бит пересылать нельзя, но через флаг переноса (С) – можно!!!
Для приемника:
… ;опрос бита готовности
mov A,SBUF ;преобразование последовательного кода в параллельный
add A,#0 ;далее сформируем бит чётности и сравним с приходящим(RB8)
mov C,P
xor C,RB.8 ;сравнение с RB8: если Р=RB8, то правильно принято, иначе нет
jnz error_msg
SM2
SM2 – разрешение многопроцессорной работы.
Р=0 & SM2=1– передаём команды => формируется бит готовности (RI)
Р=1 & SM2=1– передаём данные => бит готовности приёмника не формируется.
В режиме 0 SM2=0. В режиме 1: SM2=1 для приемника, если STOP=0, то RI не формируется. В режиме 2 и 3: если RB8=0, то RI не формируется, если RB8=1, то RI формируется.
Топология звезды. Передатчик вещает всем приемникам, а откликнуться должен только один. Помогает бит SM2. ТВ8=1 – передача адреса. ТВ8=0 – передача данных.
Пример.
В поле Data поместим адрес Slave. Пакет получат все, но расшифрует только Slave 2, сбросит SM2=0 и RI будет формироваться, а у других – не будет => данные будут принимать только Slave2.
Если SM2=0, то RI формируется в любом случае (всегда).
Если передаётся команда (SM2=1), то передаётся команда, которую примут все. Потом будут переданы данные (SM2=0), которые примет только тот, кому они предназначены.