400 likes | 675 Views
Лекция 6. Проектирование устройств на универсальных микроконтроллерах. Лектор: Люличева И.А. 1. Рассматриваются вопросы. Обзор пройденного Блок регистров спецфункций МК Интерфейс пользователя – типы клавиатур, примеры подключения.
E N D
Лекция 6 Проектирование устройств на универсальных микроконтроллерах Лектор: Люличева И.А. 1
Рассматриваются вопросы Обзор пройденного Блок регистров спецфункций МК Интерфейс пользователя – типы клавиатур, примеры подключения. Интерфейс пользователя – типы индикаторов, примеры подключения. Примеры МК систем. 2
Краткий обзор пройденного • Введение в МК • Структура МК 8051 • Карта памяти МК 8051 • Система команд 8051 (форматы команд, группы команд, виды адресации) • Схема подключения внешней памяти данных к МК
Виды адресации (данных) 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
Группы команд 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 источников прерываний с фиксированными векторами, из которых 2 внешних (входы INT0, INT1) и 3 внутренних (таймеры 0 и 1, последовательный порт) источника. Вектор прерываний и ПП
Подключение внешней памяти программ
Блок регистров специальных функций (SFR) • Регистры специальных функций - это дополнительные устройства, которые отображаются в адресное пространство внутренней памяти данных. • В различных х51-совместимых микроконтроллерах состав дополнительных устройств различается. Микроконтроллеры различаются между собой количеством параллельных портов, последовательных портов, таймеров. • Регистры специальных функций (для более современного семейства x51) с указанием их адресов в адресном пространстве SFR внутреннего ОЗУ приведены на следующем слайде.
Блок регистров специальных функций (совр. Аналог 8051)
Блок регистров спецфункций • Блок регістрів спеціальних функцій починається з адреси 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 - слово стану програми.
Параллельные порты • 80Н, 90Н, А0Н, В0Н - адреса Р0 - Р3. • Все 4 могут служить как порты ввода-вывода, но есть и специализация. • Р0 и Р2 могут быть использованы для создания внешних шин адреса и данных (см. слайд 7) • Все биты Р3 имеют альтернативные функции.
Регистры таймера • В составе микроконтроллера имеются регистровые пары с именами TH0, TL0 и TH1, TL1, на основе которых функционируют два независимых программно-управляемых 16-битных таймера/счетчика событий (T/C0 и T/C1). • При работе в качестве таймера содержимое T/C инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов резонатора. • При работе в качестве счетчика содержимое T/C инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (T0, T1) вход микроконтроллера.
Пример программы задержки с использованием таймера • Задача 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: ... ; продовження програми
Режимы УАПП (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 во всех деталях, за исключением частоты приема/передачи, которая является величиной переменной и задается таймером.
УАПП (UART) • Запись байта в буфер SBUF приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта. • Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного байта. Если к моменту окончания приема байта предыдущий байт не был считан из SBUF, то он будет потерян. • Настройка на режим производится через SCON.
Структурная схема микроконтроллерной платы
Типы клавиатур • Отдельные кнопки (как в пейджере) • Цифровая клавиатура 3х4 (простой телефон или калькулятор) • Цифро-буквенная клавиатура (мобильный телефон) • Кодирующие типы клавиатур (в ПК – на базе МК)
Пример подключения – одна кнопка
Схема подключения клавиатуры c использованием дешифратора
Типы индикаторов • Промышленно выпускается огромное количество моделей индикаторов, начиная от светодиодов и оканчивая матричными дисплеями, наиболее часто встречаются: • Светодиод – отображает 1 бит • 7-сегментный индикатор – отображает 1 цифру • Линейка из нескольких 7-сегм. индикаторов • Одно- и дву-строчные матричные индикаторы со встроенным контроллером • Многострочный дисплей, управляемый видеокартой.
Простой пример подключения индикаторов к МК
Кодовая таблица контроллера Hitachi соответствует ASCII (Латиница и специальные символы). Есть возможность запрограммировать свои собственные 8 символов. При отладке пригодились светодиоды на порту B, оставшиеся от светодиодной мигалки. AT90S2313 имеет маленькие EEPROM и RAM, и портов ввода/вывода явно маловато, поэтому подключать его будем к порту D по параллельному 4-х битному интерфейсу. Пример подключения двустрочного индикатора
Кодовые таблицы • Буфер данных имеет больше ячеек, чем число знакомест дисплея. Смещая окно индикатора относительно буфера данных (см. систему команд), можно отображать на дисплее различные области буфера. У двустрочных индикаторов первые 40 ячеек буфера данных, обычно, отображаются на верхней строке дисплея, а вторые 40 ячеек - на нижней строке. Сдвиг окна дисплея относительно буфера данных для верхней и нижней строк происходит синхронно. Курсор будет виден на индикаторе только в том случае, если он попал в зону видимости дисплея (и если предварительно была подана команда отображать курсор).
Кодовые таблицы • Кроме DDRAM, контроллер ЖКИ содержит еще один блок памяти - знакогенератор. Его "прошивка", то есть соответствие ASCII-кодов начертанию символов, обычно имеется в описании индикатора. • Знакогенератор состоит из двух частей. Основная его часть представляет собой ПЗУ (CGROM) и ее, следовательно, нельзя изменить. Вторая часть, в которой задаются начертания символов для первых 16-ти кодов таблицы знакогенератора, представляет собой перепрограммируемое ОЗУ(CGRAM). Имеется возможность задать начертание 8 символов.
Порядок инициализации дисплея: включить питание (ждать 30 мкс) • 0b00000011 (ждать 40 мкс) • 0b00000011(ждать 40 мкс) • 0b00000011(ждать 40 мкс) • здесь происходит переход в четырехбитный режим(0b00000010)(ждать 40 мкс) • 0b00000010,0b00001000 (ждать 40 мкс) • выключить дисплей (0b00000000,0b00001000)(ждать 40 мкс) • установить направление сдвига курсора и разрешить сдвиг дисплея (0b00000000,0b00000110)(ждать 40 мкс) • включить индикатор и разрешить курсор, установить его тип* (0b00000000,0b00001111)(ждать 40 мкс) • очистить индикатор, курсор домой (0b00000000,0b00000001)(ждать 1500 мкс)
Пример просмотра состояния регистров
Цифровой осциллограф В наше время портативным цифровым осциллографом с экраном на ЖКИ никого не удивишь. Фирмы Fluke, Velleman, Metrix, Hameg, и др. предлагают разные моделиА ведь сделать самодельный осциллограф не сложно. Из крупных деталей потребуются МК, ЖКИ, 3 переменных резистора и кнопка (рис.8).Параметры осциллографа:диапазон входных напряжений 0…5 В;диапазон входных частот 0…33 кГц;количество отображаемых на ЖКИ аналоговых уровней - 8;максимальная частота дискретизации - 66 кГц;
Вопросы для самоконтроля Что такое блок РСФ, что в него входит в МК 51? Перечислите типы клавиатур. Приведите пример подключения матричной клавиатуры. Перечислите типы индикаторов. Приведите пример подключения матричного индикатора. Приведите пример таблицы кодировки.