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

UptoLike

187
MOV ADCMODE,#00010011b ;АЦП1 вкл, реж циклич преобразований
MOV DATA_IND_R,#4 ;------------------------------------
MOV ADR_IND_R,#78 ; индикация номера нажатой кнопки
LCALL Pod_PER_DAT_LCD ;------------------------------------
LJMP La_OSN ;закрыть основной цикл
;Блок, предшествующий вызову подпрограммы опроса кнопки 5.
La_5: MOV R0,#KNOP5_R ;
MOV R1,#NAKOPL5_R ;
LCALL Pod_OPR_KNOP5 ;
;Блок, следующий за вызовом подпрограммы опроса кнопки (уст факта ее наж)
MOV ACC,@R0 ;
JNB ACC_1,La_6 ;
CLR ACC_1 ;кн была нажата, сброс флага нажат кн
MOV @R0,ACC ;
LCALL Pod_CLEAR_LCD ;стирание ЖКИ
LJMP La_OSN ;закрыть основной цикл
;Блок обработки результатов и вывода их на индикацию
La_6: CLR EA ;глоб запрещение прерываний
MOV BYTE_R,ADC1H_R ;------------------------------------
MOV R2,#0 ; индикация ADC1H_R с адр 0 ОЗУ ЖКИ
LCALL Pod_IND_BYTE ;------------------------------------
MOV BYTE_R,ADC1L_R ;------------------------------------
MOV R2,#8 ; индикация ADC1L_R с адр 8 ОЗУ ЖКИ
LCALL Pod_IND_BYTE ;------------------------------------
SETB EA ;глоб разрешение прерываний
LJMP La_OSN ;закрыть основной цикл
;Подпрограммы------------------------------------------------------------------
;------------------------------------------------------------------------------
;Подпрограмма инициализации РСН.
;-----------------------------------------------------------------------------
Pod_INIT_RSN:
MOV PORT_KNOP,#11111111b ;сделать вх все линии порта кн
MOV PORT_IND,#00000000b ;сделать вых все линии порта индик
;Блок настройки АЦП
MOV ADCSTAT,#00000000b ;сбросить все флаги АЦП
MOV ADCMODE,#00000000b ;АЦП0, АЦП1 выкл, реж "снято питание"
MOV ADC1CON,#01001000b ;АЦП1: внешн ИОН, вход AIN3,
;униполярный режим
MOV SF,#045h ;частота обновл выхода 20 Гц
MOV ICON,#00000000b ;отключены все источники тока
MOV IE,#01000000b ;разрешены только прерыв от АЦП
RET
;------------------------------------------------------------------------------
;Подпрограмма инициализации РОНов. Обнуляются все РОНы с адресами
;от NACH_ADR до KON_ADR при помощи косвенной адресации.
;------------------------------------------------------------------------------
Pod_INIT_RON:
MOV R0,#NACH_ADR ;установка начального адреса
Lk_0: MOV @R0,#0 ;обнуление очередного РОНа
INC R0 ;переход к следующему адресу
CJNE R0,#KON_ADR,Lk_0 ;не достигли ли последнего адреса ?
MOV @R0,#0 ;обнуление последнего РОНа
RET ;да, выход
;-------------------------------------------------------------------------
;Подпрограмма вывода на ЖКИ содержимого байта в двоичном коде (побитно) в
;виде восьми знакомест. Первым выводится СЗР байта. Байт предварительно