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

UptoLike

229
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)
;---------------------------------------------------------------------
;Подпрограмма чтения байта из массива памяти по произвольному адресу.
;Прочитанный байт возвращается в РОНе DATA_R.
;Абсолютный адрес байта в массиве следует предварительно поместить
;в РОНы ADRF_H_R, ADRF_M_R, ADRF_L_R.
Pod_READ_BYTE:
LCALL Pod_READ_SR ;чтение рег статуса DataFlash
CLR SC ;выбор устройства
MOV ACC,#053h ;
LCALL Pod_TX_BYTE ;передача КОПа перемещ стр в буфер 1
LCALL Pod_TX_ADRF ;передача абс адреса байта в массиве