Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
sh.doc
Скачиваний:
13
Добавлен:
16.12.2018
Размер:
8.22 Mб
Скачать

46. Способы взаимодействия микроконтроллера (микроЭвм) с большой памятью.

Подключение памяти данных большого объема (> 64Кб)

Метод банков:

Пример реализации для SRAM 512K:

Необходимо согласование времени доступа.

Метод окна:

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

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

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

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

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

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

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

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

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

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

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

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

матрица 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; сохранение кода клавиши, взятой из таблицы

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

48. Контроллер клавиатуры и дисплея. Основные режимы работы и их программирование.

Сервисные функции:

1) Выбор способа опроса и анализа состояний клавиатуры

2) Формирование запросов прерываний

3) Поддержка различных режимов работы дисплея

Функции интерфейса для клавиатуры:

1) Опрос и анализ состояний датчиков клавиш

2) Буферизация вводимой информации

3) Устранение дребезга

Функции интерфейса для дисплея: буферизация выводимой информации при регенерации изображения

Схема сопряжения МК с клавиатурой и дисплеем:

1 – буфер данных

2 – регистр управления

3 – регистр состояния

4 – счетчик сканирования

5 – память дисплея (16б)

6 – память датчиков клавиатуры (8б)

7 – матрица датчиков клавиатуры 4х8 или 8х8

8 – схема катодного формирователя

9 – блок индикации

10 – схема анодного формирователя

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

1. Непосредственное подключение

2. С электронной коммутацией датчиков

3. Используя мультиплексор

Программные средства.

8 управляющих слов com0 – com7

com0:

765

43

210

Задание режима работы клавиатуры/дисплея

(765): номер, (4): 0 – ввод слева, 1 – ввод справа, (3): 0 – 8 бит, 1- 16 бит, (21): 00 - режим блокировки двух клавиш сцепл. (блок одновременного нажатия нескольких клавиш), 01 – режим N клавиш сцеплен. (количество одновременно нажатых клавиш до 8), 10 – сканирование матрицы датчиков, 11 – ввод по стробу, (0): 0 – кодирование, 1- дешифрация.

Код клавиши определяется правилом

CTRL

SHIFT

Номер строки

Номер столбца

com1:

001

ppppp

ррррр – коэффициент деления частоты CLK, FCLK/p<=100КГц

com2 (чтение ОЗУ клавиатуры):

010

AI

0

AAA

AI – бит автоинкремента, ААА – номер строки

В режимах 0, 1, 3 ААА игнорируется, чтение в той последовательности, в которой замыкали.

com3 (чтение ОЗУ дисплея):

011

AI

АAAA

com4 (запись в ОЗУ дисплея):

100

AI

АAAA

com5 (запрет записи/отправки):

101

Х

АВ

АВ

Одна пара АВ запрещает запись в ОЗУ дисплея, вторая пара запрещает отправку на дисплей.

com6 (гашение)

110

Все нули или все единицы

com7 (сброс запроса прерывания)

111

Е

ХХХХ

Е – бит фиксации ошибки

Слово состояния ВВ79

Dv

S/E

O

U

F

NNN

Dv – неготовность дисплея к приему данных

S/E – бит замыкания в режиме матричных датчиков

О – индикатор запроса в заполненную память клавиатуры

U – флаг ошибки чтения из пустой памяти клавиатуры

F – флаг заполнения памяти клавиатуры

NNN – количество принятых клавиш в ОЗУ клавиатуры

49. AVR – микроконтроллеры. Архитектура, организация памяти, способы адресации данных.

Обобщенная архитектура:

Организация адресного пространства.

Организация памяти МК AVR выполнена по Гарвардской архитектуре.

Память программ предназначена для хранения команд, управляющих функционирование МК. В памяти программ также хранятся различные константы, не меняющиеся во время работы программы. Память программ представляет собой электрически стираемое ППЗУ (FLASH-ПЗУ). Для адресации используется счетчик команд.

Память данных разделена на три части: регистровая память, оперативная память (статическое ОЗУ) и энергонезависимое EEPROM. Регистровая память включает в себя 32 РОНа (32 байта) и служебные регистры ВВ (64 байта). В области регистров ВВ расположены различные служебные регистры (регистр указатель стека, регистр состояния и др.), а также регистры управления ПУ, входящими в состав МК. Для хранения переменных программ вместе с регистрами также может использоваться статическое ОЗУ. Есть возможность подключения внешнего статического ОЗУ объемом до 64 Кбайт. Для хранения данных, которые могут изменяться в процессе настройки и функционирования готовой системы (калибровочные константы, серийные номера, ключи и т. п.), может быть использована EEPROM. Эта память расположена в отдельном адресном пространстве, а доступ к ней осуществляется с помощью определенных РВВ.

Использование внешнего ОЗУ.

Для подключения внешнего ОЗУ используются следующие выводы МК:

- порт А (RA0..RA7) – мультиплексированная шина адреса (младшие 8 разрядов)/шина данных;

- порт С (RC0..RC7) – шина адреса (старшие 8 разрядов)ж

- ALE – сигнал строба адреса, RD (RC7) – сигнал строба чтения и WR (RC6) – сигнал строба записи.

При обращении по адресу, который находится вне границы внутреннего ОЗУ, автоматически происходит обращение к внешнему ОЗУ. После формирования на выводах порта А требуемого адреса вывод ALE меняет свое состояние с лог. «1» на лог. «0» и остается в этом состоянии в течении всего цикла чтения/записи.

Способы адресации в AVR

  1. Прямая регистровая (адресация одного или двух регистров общего назначения)

2. Прямая адресация к памяти ВВ

3. Прямая адресация к ОЗУ

4. Косвенная адресация со смещением

5. Косвенная с преддекрементом и постинкрементом

6. Обращение за константой к памяти программ

7. Косвенная адресация к памяти программ использую команды IJMP, RCALL

8. Косвенная относительная адресация к памяти программ RJMP, RCALL

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