Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные_Методичка_07-04-11.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
8 Мб
Скачать
☆

5.4.Работа №5 «Символьный экран и матричная клавиатура»

Для выполнения данной работы в отладочную материнскую плату вставляется дочерняя плата символьного экрана и матрич7ной клавиатуры, структура которой представлена на рис.5.11.

Рис. 5.20 Плата символьного экрана и матричной клавиатуры.

Клавиатура представляет собой матрицу из 16 клавиш, расположенных на пересечениях 4 строк и 4 столбцов, подключенных к портам микроконтроллера. Ее схема представлена на рис.5.12. В исходном состоянии на всех линиях столбцов поддерживается высокий логический уровень сигнала за счет подключенных к ним резисторов. При нажатии клавиши соответствующие строка и столбец замыкаются. Опрос клавиатуры осуществляется последовательным сканированием строк. Для этого на все линии строк кроме одной подаются сигналы высокого логического уровня, и только на одну, опрашиваемую в данный момент строку, подается сигнал нулевого уровня. Если ни одна из клавиш, подключенных к этой стоке, не нажата, то на всех линиях столбцов будет присутствовать высокий логический уровень сигналов. Если же какие-либо клавиши, подключенные к этой строке, нажаты, то на соответствующих линиях столбцов будут присутствовать сигналы низкого логического уровня. Зная номер текущей опрашиваемой строки и номер столбца с нулевым уровнем сигнала, можно однозначно идентифицировать нажатую клавишу. В следующем цикле опроса сигнал нулевого уровня подается на следующую линию строки, и таким образом опрашиваются клавиши, подключенные к этой строке. Для опроса всей клавиатуры в данном случае необходимо четыре цикла опроса строк.

Рис. 5.21 Схема матричной клавиатуры.

Кроме того, на плате данной лабораторной работы размещён знакосинтезирующий текстовый буквенно-цифровой ЖК-дисплеем. Экран имеет 2 строки по 16 символов в каждой. Размер шрифта 5*8 пикселей. Экран имеет встроенный контроллер управления и встроенное ОЗУ, в каждой ячейке которой хранится 8-битный код символа, выводимого на экран. Каждому знакоместу однозначно сопоставлена ячейка памяти. Все действия по выводу и регенерации изображения на экран выполняются внутренним микроконтроллером дисплея. Центральному управляющему микроконтроллеру для вывода информации на дисплей необходимо лишь записать коды выводимых символов во внутреннее ОЗУ дисплея и задать режим его работы с помощью соответствующих команд(см. Табл. 5 .3).

Встроенное ОЗУ экрана делится на две независимые области, с разным назначением. Первая область – DDRAM (Display Data RAM) – та часть памяти, в которой хранятся ASCII-коды выводимых на экран символов. В таблице символов, изображения которых записаны в ПЗУ встроенного в дисплей контроллера есть 8 кодов символов предназначенных для вывода пользовательских знаков, графические изображения которых в специальном виде (см рисунок 5.13) хранятся во второй области ОЗУ – CGRAM (Character Generator RAM). Размер CGRAM составляет 64 байта (коды от 0x00 до 0x3F)

Рис. 5.22 Формат хранения пользовательских знаков в CGRAM

Размер DDRAM составляет 127 байт (коды от 0x00 до 0x7F). Это сделано в целях унификации, т.к. существуют экраны с различным количеством строк и символов в строке, и во все типы экранов устанавливаются одинаковые типы контроллеров. Для данного экрана соответствие знакомест на дисплее кодам в DDRAM представлено ниже:

№ символа в строке

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

адрес в

DDRAM

00

01

02

03

04

05

06

07

08

09

0A

0B

0C

0D

0E

0F

40

41

42

43

44

45

46

47

48

49

4A

4B

4C

4D

4E

4F

Обмен данными с дисплеем осуществляется по параллельной магистрали, в которую входят:

  • шина данных D0–D7 (сигналы подключены к выводам портов P2.0 – P2.7 микроконтроллера) - двунаправленная шина, по которой передаются данные в циклах обмена информацией с дисплеем;

  • сигнал RS (подключен к выводу порта P1.5 микроконтроллера) – единичный уровень его означает запись(чтение) кода символа, который будет выведен(или который уже выведен) на текущее знакоместо, а нулевой - запись команды управления в дисплей (включение отключение экрана, отображение курсора, установка адреса текущего знакоместа) или чтение текущего состояния экрана (бит готовности);

  • сигнал R/W (подключен к выводу порта P1.6 микроконтроллера) – его единичный уровень означает чтение из дисплея, а нулевой - запись в дисплей;

  • сигнал E(подключен к выводу порта P1.7 микроконтроллера) – строб чтения/записи – в этом сигнале формируется нулевой импульс при реализации чтения либо записи информации в или из дисплея.

Диаграмма цикла записи информации в дисплей представлена на Рис. 5 .23, а её временные параметры в Таблица 5 .1.

Рис. 5.23 Цикл записи информации в дисплей.

Таблица 5.1 Временные параметры диаграммы цикла записи.

Величина

Обозначение

Значение

Ед.

изм.

Мин.

Макс.

Строб E:

время цикла

tcycE

400

-

нс

ширина импульса высокого уровня

PWEH

150

-

нс

время нарастания/спада

tEr,tEf

-

25

нс

Время установления стробов адреса

(от RS, R/W к E)

tAS

30

-

нс

Время удержания стробов адреса

tAH

10

-

нс

Время установления сигналов на линиях данных

tDSW

40

-

нс

Время удержания сигналов на линиях данных

tH

10

-

нс

Диаграмма цикла чтения информации из дисплея представлена на Рис. 5 .24, а её временные параметры в Таблица 5 .1.

Рис. 5.24 Цикл чтения информации из дисплея.

Табл. 5.2 Временные параметры диаграммы цикла чтения.

Величина

Обозначение

Значение

Ед.

изм.

Мин.

Макс.

Строб E:

время цикла

tcycE

400

-

нс

ширина импульса высокого уровня

PWEH

150

-

нс

время нарастания/спада

tEr,tEf

-

25

нс

Время установления стробов адреса

(от RS, R/W к E)

tAS

30

-

нс

Время удержания стробов адреса

tAH

10

-

нс

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

tDDR

-

100

нс

Время удержания сигналов на линиях данных

tDHR

20

-

нс

Табл. 5.3 Управляющие команды дисплея.

Команда

Код команды

Описание

Время

выполнения

RS

R/W

DB

7

DB

6

DB

5

DB

4

DB

3

DB

2

DB

1

DB

0

Очистка

экрана

0

0

0

0

0

0

0

0

0

1

Записывает во все ячейки знакомест значение 00h и устанавливает указатель адреса текущего знакоместа в 00h, те первый символ первой строки.

1.53 мс

Возврат

курсора в

начало

0

0

0

0

0

0

0

0

1

-

Устанавливает указатель адреса текущего знакоместа в 00h, те первый символ первой строки. Содержимое памяти не меняется.

1.53 мс

Установка

режима

записи

0

0

0

0

0

0

0

1

I/D

SH

I/D: режим смещения указателя адреса текущего знакоместа после записи очередного символа.

«1» - счетчик увеличивается

(курсор сдвигается вправо),

«0» - счетчик уменьшается

(курсор сдвигается влево);

S: режим сдвига всего содержимого экрана после записи очередного символа вместо сдвига курсора.

«0» - нет сдвига изображения,

«1» - изображение сдвигается в зависимости от I/D.

39 мкс

Выбор

режима

отображения

0

0

0

0

0

0

1

D

C

B

D: изображения на экране

«0» - выключено,

«1» - включено;

C: курсор в виде подчеркивания

«0» - выключен,

«1» - включен;

B: курсор в виде мерцающего знакоместа

«0» - выключен,

«1» - включен.

39 мкс

Сдвиг

курсора или

экрана

0

0

0

0

0

1

S/C

R/L

-

-

Команда, производящая операцию сдвига содержимого экрана (без изменений в DDRAM) или курсора в зависимости от значения флагов

S/C:

«0» - сдвиг курсора,

«1» - сдвиг экрана;

R/L:

«0» - влево,

«1» - вправо.

39 мкс

Установка параметров развертки и

шины данных

0

0

0

0

1

DL

N

F

-

-

DL: ширина шины данных

«0» - 4 разряда,

«1» - 8 разрядов;

N: режим развертки изображения

«0» - одна строка,

«1» - две строки;

F: размер матрицы символов

«0» - 5х8 точек,

«1» - 5х10 точек.

39 мкс

Установка

адреса CGRAM

0

0

0

1

AC5

AC4

AC3

AC2

AC1

AC0

Присвоение счетчику АС адреса в области CGRAM.

39 мкс

Установка

адреса DDRAM

0

0

1

AC6

AC5

AC4

AC3

AC2

AC1

AC0

Присвоение счетчику АС адреса в области DDRAM.

39 мкс

Чтение флага занятости и указателя

адреса

0

1

BF

AC6

AC5

AC4

AC3

AC2

AC1

AC0

Флаг занятости может быть опрошен в любой момент, даже во время выполнения команды. Так же эта команда возвращает текущее значение счетчика адреса AC.

0 мкс

Запись данных в ОЗУ

1

0

D7

D6

D5

D4

D3

D2

D1

D0

Запись данных в текущую ячейку ОЗУ (DDRAM/CGRAM)

43 мкс

Чтение данных из ОЗУ

1

1

D7

D6

D5

D4

D3

D2

D1

D0

Чтение данных из текущей ячейки ОЗУ (DDRAM/CGRAM)

43 мкс

После подачи питания дисплей необходимо инициализировать. Блок схема алгоритма инициализации представлена на Рис. 5 .25.

Рис. 5.25 Блок-схема алгоритма инициализации

Символы, отображаемые дисплеем и соответствующие им кодов, записываемые в память дисплея, представлены в Табл. 5 .4 Таблица.

Табл. 5.4 Таблица символов, отображаемых дисплеем.