Лекция №6

Download Report

Transcript Лекция №6

Лекция 6

Проектирование устройств на универсальных микроконтроллерах

Лектор: Люличева И.А. 1 1

Рассматриваются вопросы

     Обзор пройденного Блок регистров спецфункций МК Интерфейс пользователя – типы клавиатур, примеры подключения.

Интерфейс пользователя – типы индикаторов, примеры подключения.

Примеры МК систем.

Краткий обзор пройденного

     Введение в МК Структура МК 8051 Карта памяти МК 8051 Система команд 8051 (форматы команд, группы команд, виды адресации) Схема подключения внешней памяти данных к МК 3

Виды адресации (данных)

1. Прямая к байтам   Примеры MOV R0, Р0; ADD R1, 40h 2. Прямая к битам SETB P0.0

3. Непосредственная  Примеры MOV R0, #0FFh; ADD R1, #40h 4. Косвенная  Примеры MOV @R0, Acc; MOV @DPTR, R3 5. Стековая PUSH R0, POP R0, ACALL z0, RET 4

Группы команд

5я группа - Команды работы с битами – все что можно делать с битом:  CLR bit, SETB bit; Обнулить или установить   CPL bit; инвертировать ANL C,bit; ORL C,bit; XRL C,bit; логич. опер   MOV C,bit, MOV bit,C; операции пересылки Ну и передачи управления по биту JB/JNB.

5

Вектор прерываний и ПП

 Система прерываний включает 5 источников прерываний с фиксированными векторами, из которых 2 внешних (входы INT0, INT1) и 3 внутренних (таймеры 0 и 1, последовательный порт) источника. 0030 0023 001В 0013 000B 0003 0000 Free memory SINT Т1 Int1 T0 Int0 Reset 6

Подключение внешней памяти программ

7

Блок регистров специальных функций (SFR)

   Регистры специальных функций - это дополнительные устройства, которые отображаются в адресное пространство внутренней памяти данных. В различных х51-совместимых микроконтроллерах состав дополнительных устройств различается. Микроконтроллеры различаются между собой количеством параллельных портов , последовательных портов , таймеров . Регистры специальных функций (для более современного семейства x51) с указанием их адресов в адресном пространстве SFR внутреннего ОЗУ приведены на следующем слайде. 8

Блок регистров специальных функций (совр. Аналог 8051)

9

Блок регистров спецфункций

         

Блок регістрів спеціальних функцій

містить адреси вбудованих портів та пристроїв, а також акумулятора і деяких регістрів: починається з адреси 80Н і Е0Н, F0Н - адреса акумулятора і його розширення; 81Н - SP - вказівник стеку; 80Н, 90Н, А0Н, В0Н - адреси парних паралельних портів - від Р0 до Р3; 87H - PCON - регістр керування потужністю; 88H - 8DH - адреси регістру керування і двохбайтних лічильників-таймерів ( TMOD,TH0,TL0,TH1,TL1); 98Н, 99Н – SBUF SCON регістри керування зв’язковим адаптером; A8H, B8H - регістри маски і пріоритетів контролеру переривань; D0 - слово стану програми.

10

Параллельные порты

    80Н, 90Н, А0Н, В0Н - адреса Р0 - Р3.

Все 4 могут служить как порты ввода вывода, но есть и специализация.

Р0 и Р2 могут быть использованы для создания внешних шин адреса и данных (см. слайд 7) Все биты Р3 имеют альтернативные функции.

11

Альтернативные функции порта Р3

12

Регистры таймера

   В составе микроконтроллера имеются регистровые пары с именами TH0, TL0 и TH1, TL1, на основе которых функционируют два независимых программно-управляемых 16-битных таймера/счетчика событий (T/C0 и T/C1). При работе в качестве таймера содержимое T/C инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов резонатора. При работе в качестве счетчика содержимое T/C инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (T0, T1) вход микроконтроллера. 13

Пример программы задержки с использованием таймера             

Задача 7.

Розробити програму організації тривалої часової затримки для ОЕОМ К1816ВЕ51 за допомогою вбудованого таймера.

Рішення.

Для організації тривалої часової затримки використаєм переривання від вбудованого таймеру з адресою 0BH.

ORG 0BH CLR TCON.4 RETI ORG 100H ; адреса вектора переривань ; зупинка таймера ; повертання ; адреса основної програми МОV TMOD, #01 ; встановлення таймера в режим лічильника MOV TL0, #LOWB ; молодший байт лічильника MOV TH0, #HIGHB ; старший байт лічильника SETB TCON.4 SETB IE SETB PCON.O NEXT: ...

; запуск лічильника ; дозвіл переривань ; режим холостого ходу МП ; продовження програми 14

Режимы УАПП (UART)

    Режим 0. В этом режиме информация и передается и принимается через внешний вывод входа приемника (RXD). Принимаются или передаются 8 бит данных. Через внешний вывод выхода передатчика (TXD) выдаются импульсы сдвига, которые сопровождают каждый бит. Частота передачи бита информации равна 1/12 частоты резонатора.

Режим 1. В этом режиме передаются через TXD или принимаются из RXD 10 бит информации: старт-бит (0), 8 бит данных и стоп-бит (1). Скорость приема/передачи _величина переменная и задается таймером. Режим 2. В этом режиме через TXD передаются или из RXD принимаются 11 бит информации: старт-бит, 8 бит данных, программируемый девятый бит и стоп-бит. При передаче девятый бит данных может принимать значение 0 или 1, или, например, для повышения достоверности передачи путем контроля по четности в него может быть помещено значение признака паритета из слова состояния программы (PSW.0). Частота приема/передачи выбирается программой и может быть равна либо 1/32, либо 1/64 частоты резонатора в зависимости от управляющего бита SMOD.

Режим 3. Режим 3 совпадает с режимом 2 во всех деталях, за исключением частоты приема/передачи, которая является величиной переменной и задается таймером. 15

УАПП (UART)

   Запись байта в буфер SBUF приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта. Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного байта. Если к моменту окончания приема байта предыдущий байт не был считан из SBUF, то он будет потерян.

Настройка на режим производится через SCON.

16

Диаграмма работы УАПП в режиме 3

17

Регистр управления УАПП (SCON)

18

Структурная схема микроконтроллерной платы

19

Типы клавиатур

    Отдельные кнопки (как в пейджере) Цифровая клавиатура 3х4 (простой телефон или калькулятор) Цифро-буквенная клавиатура (мобильный телефон) Кодирующие типы клавиатур (в ПК – на базе МК) 20

Пример подключения – одна кнопка

21

Пример подключения – три кнопки

22

Пример подключения клавиатуры к PIC24

23

Схема подключения клавиатуры c использованием дешифратора 24

Пример подключения клаиатуры к МК 51

25

Типы индикаторов

      Промышленно выпускается огромное количество моделей индикаторов, начиная от светодиодов и оканчивая матричными дисплеями, наиболее часто встречаются: Светодиод – отображает 1 бит 7-сегментный индикатор – отображает 1 цифру Линейка из нескольких 7-сегм. индикаторов Одно- и дву-строчные матричные индикаторы со встроенным контроллером Многострочный дисплей, управляемый видеокартой.

26

Выбор индикаторов в среде Proteus

27

Простой пример подключения индикаторов к МК 28

Измеритель напряжения на МК

29

Цифровые часы

30

Пример подключения двустрочного индикатора

   AT90S2313 имеет маленькие EEPROM и RAM, и портов ввода/вывода явно маловато, поэтому подключать его будем к порту D по параллельному 4-х битному интерфейсу. Кодовая таблица контроллера Hitachi соответствует ASCII (Латиница и специальные символы). Есть возможность запрограммировать свои собственные 8 символов. При отладке пригодились светодиоды на порту B, оставшиеся от светодиодной мигалки. 31

Электрическая схема

32

Кодовые таблицы

 Буфер данных имеет больше ячеек, чем число знакомест дисплея. Смещая окно индикатора относительно буфера данных (см. систему команд), можно отображать на дисплее различные области буфера. У двустрочных индикаторов первые 40 ячеек буфера данных, обычно, отображаются на верхней строке дисплея, а вторые 40 ячеек - на нижней строке. Сдвиг окна дисплея относительно буфера данных для верхней и нижней строк происходит синхронно. Курсор будет виден на индикаторе только в том случае, если он попал в зону видимости дисплея (и если предварительно была подана команда отображать курсор).

33

Кодовые таблицы

  Кроме DDRAM, контроллер ЖКИ содержит еще один блок памяти - знакогенератор. Его "прошивка", то есть соответствие ASCII кодов начертанию символов, обычно имеется в описании индикатора. Знакогенератор состоит из двух частей. Основная его часть представляет собой ПЗУ (CGROM) и ее, следовательно, нельзя изменить. Вторая часть, в которой задаются начертания символов для первых 16-ти кодов таблицы знакогенератора, представляет собой перепрограммируемое ОЗУ(CGRAM). Имеется возможность задать начертание 8 символов.

34

Порядок инициализации дисплея:

         включить питание (ждать 30 мкс) 0b00000011 (ждать 40 мкс) 0b00000011(ждать 40 мкс) 0b00000011(ждать 40 мкс) здесь происходит переход в четырехбитный режим(0b00000010)(ждать 40 мкс) 0b00000010,0b00001000 (ждать 40 мкс) выключить дисплей (0b00000000,0b00001000)(ждать 40 мкс) установить направление сдвига курсора и разрешить сдвиг дисплея (0b00000000,0b00000110)(ждать 40 мкс) включить индикатор и разрешить курсор, установить его тип* (0b00000000,0b00001111)(ждать 40 мкс) очистить индикатор, курсор домой (0b00000000,0b00000001)(ждать 1500 мкс) 35

Пример просмотра состояния регистров

36

Цифровой осциллограф

В наше время портативным цифровым осциллографом с экраном на ЖКИ никого не удивишь. Фирмы Fluke, Velleman, Metrix, Hameg, и др. предлагают разные модели А ведь сделать самодельный осциллограф не сложно. Из крупных деталей потребуются МК, ЖКИ, 3 переменных резистора и кнопка (рис.8).

Параметры осциллографа: диапазон входных напряжений 0…5 В; диапазон входных частот 0…33 кГц; количество отображаемых на ЖКИ аналоговых уровней - 8; максимальная частота дискретизации - 66 кГц;

37

38

Вопросы для самоконтроля

      Что такое блок РСФ, что в него входит в МК 51?

Перечислите типы клавиатур.

Приведите пример подключения матричной клавиатуры.

Перечислите типы индикаторов.

Приведите пример подключения матричного индикатора.

Приведите пример таблицы кодировки.

39