Микроконверторы фирмы Analog Devices в микропроцессорных приборных комплексах. Виноградов А.Б - 258 стр.

UptoLike

258
стрируется программой, исходный текст которой содержится в файле
i2c_slav.asm (листинг 3.18).
Листинг 3.18. Реализация режима «аппаратный ведомый»
;-----------------------------------------------------------------------------
;Демонстрационная программа организации обмена между ADuC824 и центральным
;процессором (AT89C2051) по шине I2C.
;
;ADuC824 является ведомым устройством I2C.
;Протокол обмена по шине I2C реализован аппаратно.
;(Используется встроенный аппаратный модуль I2C в режиме "аппаратный ведомый").
;
;Передача данных в центральный процессор и прием данных из него производятся
;только по инициативе центрального процессора и тактируются им.
;
;При нажатии на кнопку 0 производится выбор байта данных для передачи в
;центральный процессор. Выбранный байт данных в ASCII коде выводится на ЖКИ
;по адресу 0 ОЗУ ЖКИ.
;
;Принятый из центрального процессора байт данных в ASCII коде отображается на
;ЖКИ по адресу 8 ОЗУ ЖКИ.
;------------------------------------------------------------------------------
$INCLUDE (C:\ADuC\mod824)
$INCLUDE (C:\PR_ADUC\I2C_SLAV\824.inc)
;-----------------------------------------------------------------------------
;Описание битов, регистров и констант
;-----------------------------------------------------------------------------
;Порты и линии ввода-вывода
PORT_KNOP EQU P0 ;порт кнопок
PORT_IND EQU P2 ;порт индикации
_IN_KNOP0 EQU P0_0 ;-----------------------------
_IN_KNOP1 EQU P0_1 ;
_IN_KNOP2 EQU P0_2 ; входы кнопок
_IN_KNOP3 EQU P0_3 ;
_IN_KNOP4 EQU P0_4 ;
_IN_KNOP5 EQU P0_5 ;
_IN_KNOP6 EQU P0_6 ;
_IN_KNOP7 EQU P0_7 ;-----------------------------
PORT_IND_0 EQU P2_0 ;-----------------------------
PORT_IND_1 EQU P2_1 ;
PORT_IND_2 EQU P2_2 ; выходы индикации
PORT_IND_3 EQU P2_3 ;
PORT_IND_4 EQU P2_4 ;
PORT_IND_5 EQU P2_5 ;
PORT_IND_6 EQU P2_6 ;
PORT_IND_7 EQU P2_7 ;-----------------------------
RW EQU PORT_IND_1 ;--------------------------
RS EQU PORT_IND_2 ; линии управления ЖКИ
E EQU PORT_IND_3 ;--------------------------
;РОНы обслуживания ЖКИ и кнопок
ADR_IND_R DATA 030h ;-----------------------------
COM_IND_R DATA 030h ; РОНы обслуживания ЖКИ
DATA_IND_R DATA 031h ;-----------------------------
KNOP0_R DATA 032h ;-----------------------------
KNOP1_R DATA 033h ;
KNOP2_R DATA 034h ; регистры, содержащие
KNOP3_R DATA 035h ;
KNOP4_R DATA 036h ; флаги нажатия и удержания
KNOP5_R DATA 037h ;
KNOP6_R DATA 038h ; каждой кнопки
KNOP7_R DATA 039h ;-----------------------------