Лекция №6 - WordPress.com

advertisement
Лекция 6
Проектирование устройств на
универсальных микроконтроллерах
Лектор: Люличева И.А.
1 1
Рассматриваются вопросы





Обзор пройденного
Блок регистров спецфункций МК
Интерфейс пользователя – типы
клавиатур, примеры подключения.
Интерфейс пользователя – типы
индикаторов, примеры подключения.
Примеры МК систем.
2
Краткий обзор пройденного





Введение в МК
Структура МК 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
Download