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

UptoLike

201
ACALL Pod_INIT_RSN ;иниц РСН
ACALL Pod_INIT_RON ;иниц РОН
ACALL Pod_INIT_LCD ;иниц ЖКИ
ACALL Pod_CLEAR_LCD ;стирание ЖКИ
MOV DDD_R,#021h ;уст нач значения байта данных
MOV R5,#0 ; исх данные - адрес EEPROM
MOV R4,EEADR_R ;
LCALL B16BCDD ;преобраз двоичн в упак двоичн-дес
LCALL BCD5BCD ;преобраз упак двоичн-дес в неупак
MOV DATA_IND_R,IND_SOT_R ;------------------------------------
MOV ADR_IND_R,#0 ; индикация сотен
LCALL Pod_PER_DAT_LCD ;------------------------------------
MOV DATA_IND_R,IND_DES_R ;------------------------------------
MOV ADR_IND_R,#1 ; индикация дес
LCALL Pod_PER_DAT_LCD ;------------------------------------
MOV DATA_IND_R,IND_ED_R ;------------------------------------
MOV ADR_IND_R,#2 ; индикация ед
LCALL Pod_PER_DAT_LCD ;------------------------------------
;Начало основного цикла-------------------------------------------------------
La_OSN: NOP ;метка возврата осн цикла
;Блок, предшествующий вызову подпрограммы опроса кнопки 0.
MOV R0,#KNOP0_R ;
MOV R1,#NAKOPL0_R ;
ACALL Pod_OPR_KNOP0 ;
;Блок, следующий за вызовом подпрограммы опроса кнопки (уст факта ее наж)
MOV ACC,@R0 ;
JNB ACC_1,La_0 ;
CLR ACC_1 ;кн была нажата, сброс флага нажат кн
MOV @R0,ACC ;
MOV ACC,EEADR_R ;-----------------------------------
INC A ; перебор возможных адресов EEPROM
MOV EEADR_R,A ;-----------------------------------
MOV R5,#0 ; исх данные - адрес EEPROM
MOV R4,EEADR_R ;
LCALL B16BCDD ;преобраз двоичн в упак двоичн-дес
LCALL BCD5BCD ;преобраз упак двоичн-дес в неупак
MOV DATA_IND_R,IND_SOT_R ;------------------------------------
MOV ADR_IND_R,#0 ; индикация сотен
LCALL Pod_PER_DAT_LCD ;------------------------------------
MOV DATA_IND_R,IND_DES_R ;------------------------------------
MOV ADR_IND_R,#1 ; индикация дес
LCALL Pod_PER_DAT_LCD ;------------------------------------
MOV DATA_IND_R,IND_ED_R ;------------------------------------
MOV ADR_IND_R,#2 ; индикация ед
LCALL Pod_PER_DAT_LCD ;------------------------------------
;Блок, предшествующий вызову подпрограммы опроса кнопки 1.
La_0: MOV R0,#KNOP1_R ;
MOV R1,#NAKOPL1_R ;
ACALL Pod_OPR_KNOP1 ;
;Блок, следующий за вызовом подпрограммы опроса кнопки (уст факта ее наж)
MOV ACC,@R0 ;
JNB ACC_1,La_2 ;
CLR ACC_1 ;кн была нажата, сброс флага нажат кн
MOV @R0,ACC ;
MOV ACC,DDD_R ;------------------------------------
INC A ;
CJNE A,#06Fh,La_1 ; перебор возможных значений байта
MOV A,#021h ; данных