Программирование МК на ассемблере ASM-51 и AVR Pascal. Китаев Ю.В. - 47 стр.

UptoLike

Составители: 

47
данных ЖКД. R/~W – признак записи или чтения байта данных (R/~W=1 –
чтение, R/~W=0 – запись). RS он же ~C/D(~Control/Data) – бит,
определяющий, что передается через порт D7..D0: байт данных при
~C/D=1 или управляющий работой ЖКД байт при ~C/D=0. Естественно,
что при R/~W=0 и ~C/D=0 считывается информация о состоянии ЖК
дисплея.
Необходимо рассчитать адреса, но теперь уже двух регистров:
регистра данных RG2 и регистра управляющих
сигналов RG3 (не путать с
регистром управлениярегистром специальных функций SFR,
находящимся в недрах самого ЖКД).
Рассмотрим вариант задания: 1) Задействован 62-й выход
дешифратора, т.е. Yx=Y62, 2) Четыре входа элементаИ” A22,A20,A17 и
A16 – прямые, остальныеинверсные (как показано на рисунке).
Расчет адреса регистра RG2.
Во время выполнения команды ассемблера “MOVX @DPTR, A
младший байт адреса ШАД (AD7, AD6,…,AD0) записывается в регистре
RG1 стробом адреса ALE (A7, A6,…,A0). Далее, дешифратор адреса
формирует один из 256-х управляющих сигналов (y0..y255), каждый из
которых поступает на вход разрешения того или иного устройства (CE, CS
и т.д.). На рис.3 сигнал Yx разрешает выходы по входу CE (Crystall Enable
он
же Chip Select) регистра RG2. Далее за стробом ALE следует строб
записи данных #WR, который защелкивает в RG2 информационный байт
D7..D0, поступающий по ШАД.
Рассчитаем адрес для обращения к регистру RG2. 16 младших битов
адреса ячейки внешней памяти XRAM или ВУ в пределах одной
страницы памяти (64KB) хранятся в двухбайтовом регистре DPTR=(DPH
и DPL ‘Data Pointer’) микроконтроллера. Номер текущей страницы (8
старших битов адреса) находится в
однобайтовом регистре DPP (‘Data
Pointer Page’).