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

UptoLike

214
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 DATASPI_R,R5 ;подготовка данных для зап в DF SPI
LCALL Pod_WRITE_BYTE ;запись в DF SPI
MOV DATA_IND_R,DATASPI_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 DATASPI_R,#0 ;контрольная порча РОНа данных SPI
LCALL Pod_READ_BYTE ;чтение из DF SPI
MOV DATA_IND_R,DATASPI_R ;------------------------------------
MOV ADR_IND_R,#72 ; индикация прочитанного байта (символа)
ACALL Pod_PER_DAT_LCD ;------------------------------------
La_400: LJMP La_OSN ;закрыть основной цикл
;Подпрограммы------------------------------------------------------------------
;---------------------------------------------------------------------
;Подпрограммы байтового обмена с DataFlash AT45D041.
;ADRF_H_R, ADRF_M_R, ADRF_L_R - РОНы хранения абсолютного адреса
;записи/чтения байта в массиве памяти (ст ср мл).
;DATA_R - РОН хранения данных записи/чтения.
;Адресные регистры не портятся.
;
; Структура абсолютного адреса байта в массиве:
;
; YYYYYYYY ZZZZZZZZ HHHHHHHH - 3 байта адреса (ст ср мл)
; СЗР МЗР
; xxxx - 4 незначащих бита
; XXXX XXXXXXX - 11 битов адреса стр (0...2047)
; X XXXXXXXX - 9 битов адреса байта в стр (0...264)
;
; 0000XXXX XXXXXXX0 XXXXXXXX - рекомендуемая маска абс адреса
; (в случае использования этой маски в
; странице доступно только 256 байт из 264)