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

UptoLike

278
;Блок, следующий за вызовом подпрограммы опроса кнопки (уст факта ее наж)
MOV ACC,@R0 ;
JNB ACC_1,La_100 ;
CLR ACC_1 ;кн была нажата, сброс флага нажат кн
MOV @R0,ACC ;
CLR EA ;глоб запрещение прерываний
MOV R1,MIN ; сохранение регистров счета
MOV R2,HOUR ; времени TIC
MOV TIMECON,#00110000b ;разрешить модификацию регистров TIC
MOV MIN,R1 ;---------------------------------
MOV HOUR,R2 ; восст регистров счета времени TIC
MOV TIMECON,#00110011b ;запретить модификацию регистров TIC
SETB EA ;разрешить прерывания глобально
LJMP La_OSN ;закрыть основной цикл
;Блок преобразования и индикации текущего времени
La_100:
MOV RAB_R,HOUR ;
MOV R0,#BYTE_0_R ;
MOV R1,#RAB_R ;
MOV RAB_R+1,#0 ;-------------------------------
MOV RAB_R+2,#0 ; обнуление ст незначащих РОНов
MOV RAB_R+3,#0 ;-------------------------------
LCALL B32BCD ;преобр часов из двоичн в двоичн-дес
MOV R0,#BYTE_0_R ;
MOV R1,#IND_MILL_R ;
LCALL BCD10BCD ;преобр часов из уп дв-дес в неуп дес
MOV DATA_IND_R,IND_DES_R ;
MOV ADR_IND_R,#0 ;
LCALL Pod_PER_DAT_LCD ; индикация дес часов
MOV DATA_IND_R,IND_ED_R ;
MOV ADR_IND_R,#1 ;
LCALL Pod_PER_DAT_LCD ; индикация единиц часов
MOV RAB_R,MIN ;
MOV R0,#BYTE_0_R ;
MOV R1,#RAB_R ;
MOV RAB_R+1,#0 ;-------------------------------
MOV RAB_R+2,#0 ; обнуление ст незначащих РОНов
MOV RAB_R+3,#0 ;-------------------------------
LCALL B32BCD ;преобр минут из двоичн в двоичн-дес
MOV R0,#BYTE_0_R ;
MOV R1,#IND_MILL_R ;
LCALL BCD10BCD ;преобр минут из уп дв-дес в неуп дес
MOV DATA_IND_R,IND_DES_R ;
MOV ADR_IND_R,#3 ;
LCALL Pod_PER_DAT_LCD ; индикация дес минут
MOV DATA_IND_R,IND_ED_R ;
MOV ADR_IND_R,#4 ;
LCALL Pod_PER_DAT_LCD ; индикация единиц минут
MOV RAB_R,SEC ;
MOV R0,#BYTE_0_R ;
MOV R1,#RAB_R ;
MOV RAB_R+1,#0 ;-------------------------------
MOV RAB_R+2,#0 ; обнуление ст незначащих РОНов
MOV RAB_R+3,#0 ;-------------------------------
LCALL B32BCD ;преобр секунд из двоичн в двоичн-дес