Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpora_na_pechat.docx
Скачиваний:
22
Добавлен:
22.04.2019
Размер:
2.4 Mб
Скачать

44. Взаимодействие микроконтроллера с клавиатурой,дисплеем

Взаимодействие с клавиатурной матрицей:

Решение задачи:

- устранение дребезга контактов

- идентификация нажатых клавиш

- обнаружение замыкания клавиш

Схемотехническая реализация:

- в открытых МП-системах в роли регистров ВВ используют порты

- использование ППИ

- использование встроенных средств (в составе МК)

- использование специальных контроллеров управления клавиатурой

Алгоритм взаимодействия с клавиатурой:

м атрица 6х4,

n_col – текущая колонка,

k_kol=6 – количество колонок

Программа для МК51:

; Инициализация

SCAN_COD reg R2

n_col reg R3

k_kol reg R4

start: mov P0,#0Fh; РО на ввод

mov P1,#FFh; Р1 неактивен

mov SCAN_COD,#FEh

mov B,#4; множитель

mov n_col,#0

mov k_kol,#6

mov DPTR,#TBL

m1: mov A,SCAN_COD

mov P1,A

RL A

mov SCAN_COD,A

mov A,P0

anl A,#0Fh; выделяем младшую тетраду

mov R5,A; сохранение состояние порта Р0

cjne A,#05h,m3; переход по замыканию

inc n_col

cjne n_col,#6,m1 если <6 возвр. на m1

jmp start

m3: ;задержка и повторный ввод с проверкой задержек

;процедура идентификации

mov A,n_col

mul A,B; 4 x n_col

cjne R5,#0FEh,m2

add A,#0FEh; +m_rot

m2: cjne R5,#0FDh,m4

add A,#1

m4: cjne R5,#0FBh,m5

add A,#2

m5: cjne R5,#0F7h,m6

add A,#3

m6: movc A,@A+DPTR

mov 40h,A; сохранение кода клавиши, взятой из таблицы

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

С дисплеями через ССИ и ЖК.

Принцип действия с ССИ – Подавая уровни напряжений лог. Нуля и лог. Единицы можно высветить нужный цифровой символ. Управляющее слово для включения светодиодов обычно представляет собой один байт, разряды которого закреплены за сегментами индикатора. Если используется один ССИ, его можно подключить напрямую к выходам порта. При этом общий катод подключают к общей шине(GND). Если входной ток линии порта недостаточен, то между выходом портом и входом ССИ включают усилитель, формирователь тока с ограничительным сопротивлением. В случае применения многоразрядных индикаторов схему управления строят применяя принцип динамического управления. При этом через один порт МК поочередно выводятся коды отображаемых цифр, через другой порт – сигналы выборки, определяющие номера разрядов, для которых предназначена выводимая информация.

ЖК дисплеи – Современные ЖК-дисплеи часто имеют встроенные контроллеры для управления дисплеем типа широкого известного HD44780,который имеет собственную систему команд. Команды и данные для дисплея пересылаются по восьми или четырех разрядной шине данных, управляющие сигналы – по отдельным линиям связи

45. Устройства энергонезависимой памяти с последовательным интерфейсом (на примере at25, at45).

Речь идёт о памяти EEPROM.

Цикл обращения к EEPROM при записи данных:

1. Проверка доступности (ожидание обновления флага в регистре управления EEWE)

2. При EEWE = 0 происходит запись адреса (пересылка) в регистр адреса, запись данных в регистр данных, в регистре управления устанавливается регистр разрешения записи EEMWE и через 4 такта EEWE устанавливается в 1.

3. Начинается режим записи, который длится > 2 мс, после чего происходит аппаратный сброс флага и повторение цикла.

Имеются 2 бита защиты, которыми можно запретить доступ к памяти на считывание и запись.

Память последовательного типа EEPROM.

Объём: 128б – 128 Кбайт. Напряжение питания – 1.8 – 5.5 В.

Для записи данных на страницу предварительно заносим данные в буфер и после сигнала STOP на интерфейсе происходит стирание страницы и перенос данных из буфера на страницу. При записи границы между страницами сохраняются, т.е. при достижении границы страницы запись дальше пойдёт с начала страницы. При чтении контроль границ страниц не осуществляется. Возможные размеры страниц: 8, 16, 32, 64, 128, 256 б/Мб.

Некоторые модели внутри разбиваются на банки. Может быть 2,4,8 банков. Это делается для уменьшения количества интерфейсных входов на 1, 2, 3 соответственно (интегрируем 2, 4, 8 схем в одну).

Временные диаграммы работы EEPROM:

1. Запись одиночного бита:

2. Запись страничная (последовательности байт):

3. Чтение по текущему адресу:

4. Чтение по заданному адресу:

Временные диаграммы операций чтения/записи были приведены для единого адресного пространства в схеме. Если же устройство поделено на банки, то в протоколе адрес устройства вида 1010A2A1A0 модифицируется на:

1010А2А1Р0 – для 2х банков (Р0 – номер банка).

1010А2Р1Р0 – для 4х банков.

1010Р2Р1Р0 – для 8ми банков.

В случае расширения имеем: 1А2А1А0Р2Р1Р0 (2К∙8 = 16 Кбайт).

В случае использования протокола I2C (линейка АТ24) временная диаграмма записи одиночного байта выглядит следующим образом:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]