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

UptoLike

253
LCALL B32BCD ;преобр адреса из двоичн в двоичн-дес
MOV R0,#BYTE_0_R ;
MOV R1,#IND_MILL_R ;
LCALL BCD10BCD ;преобр адреса из уп дв-дес в неуп дес
MOV R0,#IND_MILL_R ; индицировать с РОНа IND_MILL_R
MOV R1,#0 ; индицировать с адр 0 ЖКИ
LCALL Pod_IND_10ZN ;индикация адреса
;Блок, предшествующий вызову подпрограммы опроса кнопки 1.
La_100: MOV R0,#KNOP1_R ;
MOV R1,#NAKOPL1_R ;
LCALL Pod_OPR_KNOP1 ;
;Блок, следующий за вызовом подпрограммы опроса кнопки (уст факта ее наж)
MOV ACC,@R0 ;
JNB ACC_1,La_200 ;
CLR ACC_1 ;кн была нажата, сброс флага нажат кн
MOV @R0,ACC ;
INC R5 ;-----------------------------------
CJNE R5,#06Fh,La_00 ; перебор возможн знач индицир байта
MOV R5,#021h ;------------------------------------
La_00: MOV DATA_IND_R,R5 ;------------------------------------
MOV ADR_IND_R,#64 ; индикация байта (символа)
ACALL Pod_PER_DAT_LCD ;------------------------------------
;Блок, предшествующий вызову подпрограммы опроса кнопки 2.
La_200: MOV R0,#KNOP2_R ;
MOV R1,#NAKOPL2_R ;
LCALL Pod_OPR_KNOP2 ;
;Блок, следующий за вызовом подпрограммы опроса кнопки (уст факта ее наж)
MOV ACC,@R0 ;
JNB ACC_1,La_300 ;
CLR ACC_1 ;кн была нажата, сброс флага нажат кн
MOV @R0,ACC ;
MOV SLUG_I2C_R,#EE_I2C_K ;подготовка служебной константы I2C
MOV DATA_I2C_R,R5 ;подготовка данных для зап в EEPROM I2C
LCALL Pod_WRITE_I2C ;запись в EEPROM I2C
MOV DATA_IND_R,DATA_I2C_R;------------------------------------
MOV ADR_IND_R,#70 ; индикация записанного байта (символа)
ACALL Pod_PER_DAT_LCD ;------------------------------------
;Блок, предшествующий вызову подпрограммы опроса кнопки 3.
La_300: MOV R0,#KNOP3_R ;
MOV R1,#NAKOPL3_R ;
LCALL Pod_OPR_KNOP3 ;
;Блок, следующий за вызовом подпрограммы опроса кнопки (уст факта ее наж)
MOV ACC,@R0 ;
JNB ACC_1,La_400 ;
CLR ACC_1 ;кн была нажата, сброс флага нажат кн
MOV @R0,ACC ;
MOV SLUG_I2C_R,#EE_I2C_K ;подготовка служебной константы I2C
MOV DATA_I2C_R,#0FFh ;контрольная порча РОНа данных I2C
LCALL Pod_READ_I2C ;чтение из EEPROM I2C
MOV DATA_IND_R,DATA_I2C_R;------------------------------------
MOV ADR_IND_R,#72 ; индикация прочит байта (символа)
ACALL Pod_PER_DAT_LCD ;------------------------------------
La_400: LJMP La_OSN ;закрыть основной цикл