ВУЗ:
Составители:
239
;РОН SLUG_I2C_R - адрес устройства и признак операции (запись).
;Прочитанный байт данных возвращается в РОНе DATA_I2C_R.
;-------------------------------------------------------------------------------
Pod_READ_I2C:
LCALL Pod_PWRITE_I2C ;фиктивная запись - указание на ячейку
LCALL Pod_START ;повторный START
MOV A,SLUG_I2C_R ;
SETB ACC_0 ;уст признак чтения данных
LCALL Pod_OUT_BYTE ;передача адреса устр и признака чтения
LCALL Pod_ZACK ;запрос подтверждения
LCALL Pod_IN_BYTE ;чтение байта данных из устройства
LCALL Pod_NACK ;не даем подтверждения
LCALL Pod_STOP ;STOP
MOV DATA_I2C_R,A ;
RET
;-----------------------------------------------------------------------------
;Подпрограмма инициализации РСН.
;-----------------------------------------------------------------------------
Pod_INIT_RSN:
MOV PORT_KNOP,#11111111b ;сделать вх все линии порта кн
MOV PORT_IND,#00000000b ;сделать вых все линии порта индик
;настройка модуля I2C
MOV I2CCON,#10101000b ;уст SDA и SCL, SDA - вход,
;уст режим ведущего
RET
;------------------------------------------------------------------------------
;Подпрограмма инициализации РОНов. Обнуляются все РОНы с адресами
;от NACH_ADR до KON_ADR при помощи косвенной адресации.
;------------------------------------------------------------------------------
Pod_INIT_RON:
MOV R0,#NACH_ADR ;установка начального адреса
Lk_0: MOV @R0,#0 ;обнуление очередного РОНа
INC R0 ;переход к следующему адресу
CJNE R0,#KON_ADR,Lk_0 ;не достигли ли последнего адреса ?
MOV @R0,#0 ;обнуление последнего РОНа
RET ;да, выход
;-----------------------------------------------------------------------------
;Подпрограмма вывода на ЖКИ содержимого буфера из 10 РОНов в виде 10 знакомест.
;R0 должен указывать на РОН в буфере, содержимое которого индицируется первым.
;R1 должен содержать нач адрес знакоместа в ОЗУ ЖКИ.
;-----------------------------------------------------------------------------
Pod_IND_10ZN:
MOV R2,#0 ;нач уст ст цикла
Ii_0: MOV DATA_IND_R,@R0 ;
MOV ADR_IND_R,R1 ;
LCALL Pod_PER_DAT_LCD ; индикация очередного символа
INC R0 ;
INC R1 ;
INC R2 ;
CJNE R2,#10,Ii_0 ;
RET
;Подключение модулей опроса кнопок, вывода данных на ЖКИ (с опросом ЖКИ)
;и преобразования представления чисел
$INCLUDE (C:\PR_ADUC\I2C_EEP1\knop.asm)
$INCLUDE (C:\PR_ADUC\I2C_EEP1\lcd_opr.asm)
$INCLUDE (C:\PR_ADUC\I2C_EEP1\preobr.asm)
;Конец исполняемого кода
END
Страницы
- « первая
- ‹ предыдущая
- …
- 237
- 238
- 239
- 240
- 241
- …
- следующая ›
- последняя »
