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

UptoLike

208
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 ; данных
La_1: MOV DDD_R,A ;------------------------------------
MOV DATA_IND_R,DDD_R ;------------------------------------
MOV ADR_IND_R,#64 ; индикация выбранного байта
ACALL Pod_PER_DAT_LCD ;------------------------------------
;Блок, предшествующий вызову подпрограммы опроса кнопки 2.
La_2: MOV R0,#KNOP2_R ;
MOV R1,#NAKOPL2_R ;
ACALL Pod_OPR_KNOP2 ;
;Блок, следующий за вызовом подпрограммы опроса кнопки (уст факта ее наж)
MOV ACC,@R0 ;
JNB ACC_1,La_3 ;
CLR ACC_1 ;кн была нажата, сброс флага нажат кн
MOV @R0,ACC ;
MOV EEDATA_R,DDD_R ;
ACALL Pod_WR_EEPROM ;запись байта в EEPROM
MOV DATA_IND_R,EEDATA_R ;------------------------------------
MOV ADR_IND_R,#68 ; индикация записанного байта
ACALL Pod_PER_DAT_LCD ;------------------------------------
;Блок, предшествующий вызову подпрограммы опроса кнопки 3.
La_3: MOV R0,#KNOP3_R ;
MOV R1,#NAKOPL3_R ;
ACALL Pod_OPR_KNOP3 ;
;Блок, следующий за вызовом подпрограммы опроса кнопки (уст факта ее наж)
MOV ACC,@R0 ;
JNB ACC_1,La_4 ;
CLR ACC_1 ;кн была нажата, сброс флага нажат кн
MOV @R0,ACC ;
MOV EEDATA_R,#0FFh ;контрольная порча регистра EEDATA_R
ACALL Pod_RD_EEPROM ;чтение байта из EEPROM
MOV DATA_IND_R,EEDATA_R ;------------------------------------
MOV ADR_IND_R,#72 ; индикация считанного байта
ACALL Pod_PER_DAT_LCD ;------------------------------------
La_4: AJMP La_OSN ;идти на начало осн цикла
;Подпрограммы-------------------------------------------------------------------
;-------------------------------------------------------------------------------
;Подпрограмма записи одного байта в EEPROM данных по адресу, предварительно
;помещенному в РОНы EEADRH_R, EEADRL_R. Байт данных следует предварительно
;поместить в РОН EEDATA_R. В случае ошибки записи (ошибки верификации)
;установится флаг _ERR_WR_EE - "ошибка записи в EEPROM". Можно адресовать
;только 640 (от 0 до 639) байт EEPROM.
;-------------------------------------------------------------------------------