Микропроцессорная техника: практический курс : учебное пособие для студентов Физико-технологического института, обучающихся по направлениям подготовки "Ядерная физика и технологии", "Биомедицинская инженерия"


 Доступ к периферийным устройствам через ПЛИС


Download 0.63 Mb.
Pdf ko'rish
bet41/74
Sana29.03.2023
Hajmi0.63 Mb.
#1306393
1   ...   37   38   39   40   41   42   43   44   ...   74
Bog'liq
978-5-321-02171-21 2012 (1)

3.4. Доступ к периферийным устройствам через ПЛИС
Лабораторный стенд SDK-1 содержит ряд периферийных устройств,
доступных через регистры ПЛИС (табл. 3.2). Это клавиатура, жид-
кокристаллический (ЖК) дисплей, линейка из восьми светодиодов,
внешний параллельный порт и звуковой излучатель. Все регистры
ПЛИС расположены на странице 8 внешней памяти данных. Для до-
ступа к регистрам ПЛИС нужно сначала выбрать 8-ю страницу внеш-
ней памяти данных. Для этого служит специальный регистр DPP (ад-
рес 84H) – указатель страницы данных. Необходимо помнить, что при
переключении страниц становятся недоступными все данные, разме-
щенные на других страницах памяти. Т.е. перед обращением к DPP
все передаваемые данные необходимо разместить в резидентной па-
мяти данных. Кроме того, перед записью в регистр DPP необходимо
временно сохранить его предыдущее содержимое (номер предыдущей
страницы). После окончания работы с регистрами ПЛИС необходимо
восстановить предыдущее содержимое регистра DPP.
Подпрограмма PUTBYTE иллюстрирует технологию доступа к ре-
гистрам ПЛИС лабораторного стенда SDK-1. Программа подробно
прокомментирована. Следует обратить особое внимание на приемы
корректной работы с регистрами микроконтроллера и на технологию
доступа к страницам внешней памяти данных.
66


3.4. Доступ к периферийным устройствам через ПЛИС
Таблица 3.2. Спецификация регистров ПЛИС
Адрес
Регистр
Доступ
Назначение
080000H
KB
R/W
Регистр клавиатуры
080001H DATA_IND
R/W
Регистр шины данных ЖК-дисплея
080002H
EXT_LO
R/W
Регистр
данных
внешн.
порта
(d7. . .d0)
080003H
EXT_HI
R/W
Регистр
данных
внешн.
порта
(d15. . .d8)
080004H
ENA
W
Регистр управления внешним пор-
том ввода-вывода, звуком и сигна-
лом INT0
080006H
C_IND
W
Регистр управления ЖК-дисплеем
080007H
SV
W
Регистр управления светодиодами
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ðÏÄÐÒÏÇÒÁÍÍÁ PUTBYTE
; ÷Ù×ÏÄ ÂÁÊÔÁ × ÒÅÇÉÓÔÒ ðìéó (0h...7h) ÓÔÅÎÄÁ.
; (A) -- ÂÁÊÔ ÄÁÎÎÙÈ; (dptr) -- ÁÄÒÅÓ ÒÅÇ. ðìéó.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
putbyte:
push dpp
; óÏÈÒ. ÎÏÍÅÒ ÔÅËÕÝÅÊ ÓÔÒ.
mov
dpp,#08d
; ðÅÒÅÈÏÄ ÎÁ 8-À ÓÔÒ.
movx @dptr,A
; úÁÐÉÓØ × ÒÅÇÉÓÔÒ ðìéó.
pop
dpp
; ÷ÏÓÓÔ. ÎÏÍÅÒÁ ÓÔÒ.
ret
;
; ëÏÎÅàÐÏÄÐÒÏÇÒÁÍÍÙ PUTBYTE
end
;
3.4.1. Светодиодные излучатели
Для работы с линейкой светодиодов служит регистр SV, каждый
бит которого управляет свечением одного светодиода. Единичное зна-
чение бита соответствует свечению светодиода. Программирование
светодиодных излучателей сводится к выводу байта данных в регистр
SV
(табл. 3.2). Для иллюстрации приведем программу, которая ко-
пирует байт данных из аккумулятора в регистр SV с использованием
подпрограммы PUTBYTE.
67


3. Лабораторный практикум
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ÷Ù×ÏÄ ÂÁÊÔÁ ÎÁ ÌÉÎÅÊËÕ Ó×ÅÔÏÄÉÏÄÏ× ÓÔÅÎÄÁ SDK-1
; Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÏÄÐÒÏÇÒÁÍÍÙ putbyte
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
org
02000h
; îÁÞÁÌÏ SRAM ÷ðð.
dpp
data 84h
; áÄÒÅÓ ÒÅÇÉÓÔÒÁ dpp.
mov
a,#11000011b
; âÁÊÔ ÄÁÎÎÙÈ ÄÌÑ ×Ù×ÏÄÁ.
call svdisp
;
sjmp $
; ëÏÎÅàÐÒÏÇÒÁÍÍÙ.
svdisp: mov
dptr,#07h
; áÄÒÅÓ ÒÅÇ. Ó×ÅÔÏÄÉÏÄÏ×.
call putbyte
;
ret
;
end
;
3.4.2. Жидкокристаллический дисплей
Двухстрочный дисплей на основе жидкокристаллических индика-
торов типа WH1602B-YGK-CP (Winstar Display) содержит 32 знако-
места (по 16 знакомест в каждой строке). После сброса вывод проис-
ходит в левую верхнюю позицию дисплея. При каждом выводе курсор
автоматически сдвигается вправо на следующее знакоместо. Данный
дисплей не переводит автоматически строку и не возвращает автома-
тически курсор в начало строки. Это необходимо осуществлять вруч-
ную при помощи специальных команд.
Дисплей имеет встроенный знакогенератор, содержащий различ-
ные символы, цифры и буквы (латиница и кириллица). Каждый символ
кодируется одним байтом. Большинство символов с кодами 00H. . .7FH
соответствуют таковым для ASCII кодировки. В частности, сюда вхо-
дят знаки препинания, цифры, а также строчные и прописные латин-
ские буквы. Наличие ASCII кодировки дает возможность использо-
вать литералы для задания кода символов при программировании.
Кириллица имеет нестандартную кодировку: знакогенератор содер-
жит лишь кириллические символы, отличающиеся по начертанию от
латиницы. Все прочие кириллические символы необходимо заменять
латинскими символами, сходными по начертанию.
Для взаимодействия с жидкокристаллическим дисплеем служат два
регистра ПЛИС (табл. 3.2). Регистр данных DATA_IND позволяет уста-
навливать данные на шине данных дисплея и считывать их оттуда. При
этом необходимо также использовать регистр управления дисплеем
C_IND
(табл. 3.3). В этом регистре программист может использовать
лишь три младших бита.
В табл. 3.4 приведены некоторые наиболее употребительные ко-
манды для работы с дисплеем. Приведенный набор команд достато-
68


3.4. Доступ к периферийным устройствам через ПЛИС
Таблица 3.3. Спецификация битов регистра C_IND
Бит Поле
Описание
0
E
Бит управления входом «E» ЖК-дисплея. Наличие по-
ложительного импульса 0–1–0 на входе «E» фиксирует
информацию на шине ЖК-дисплея. Данные и сигналы
RS, RW к этому моменту должны быть уже установ-
лены. Операцию чтения следует проводить при уста-
новленном значении «E» = 1
1
RW
Переключение шины ЖК-дисплея на чтение (1), за-
пись (0)
2
RS
Переключение режимов команды (0) или данные (1)
Таблица 3.4. Примеры команд управления дисплеем
Команда
RS RW
Регистр DATA_IND
Очистка дисплея
0
0
0
0
0
0
0
0
0
1
Возврат в начало стро-
ки
0
0
0
0
0
0
0
0
1
×
Установка текущей по-
зиции курсора
0
0
1
a6 a5 a4 a3 a2 a1 a0
Чтение флага занято-
сти (BF) и текущей по-
зиции курсора
0
1
BF a6 a5 a4 a3 a2 a1 a0

Download 0.63 Mb.

Do'stlaringiz bilan baham:
1   ...   37   38   39   40   41   42   43   44   ...   74




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling