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

UptoLike

194
LCALL B32BCD ;преобр числа дискр из дв в дв-дес
MOV R0,#BYTE_0_R ;указание на РОНы для преобразования
MOV R1,#IND_MILL_R ;
LCALL BCD10BCD ;пр числа дискр из уп дв-дес в неуп дес
MOV R0,#IND_MILL_R ; индицировать с РОНа IND_MILL_R
MOV R1,#0 ; индицировать с адр 0 ЖКИ
LCALL Pod_IND_10ZN ;индикация числа дискрет
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,#0FFh ;частота обновл выхода 5 Гц
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 ;да, выход
;-----------------------------------------------------------------------------
;Подпрограмма вывода на ЖКИ содержимого буфера из 10 РОНов в виде 10 знакомест.
;R0 должен указывать на РОН в буфере, содержимое которого индицируется первым.
;R1 должен содержать нач адрес знакоместа в ОЗУ ЖКИ.
;-----------------------------------------------------------------------------
Pod_IND_10ZN:
MOV R2,#0 ;нач уст ст цикла
Ii_0: MOV DATA_IND_R,@R0 ;
MOV ADR_IND_R,R1 ;
LCALL Pod_PER_DAT_LCD ; индикация очередного символа
INC R0 ;
INC R1 ;
INC R2 ;
CJNE R2,#10,Ii_0 ;
RET
;Подключение модулей опроса кнопок, вывода данных на ЖКИ (с опросом ЖКИ)
;и преобразования представления чисел
$INCLUDE (C:\PR_ADUC\ADC1_a\knop.asm)
$INCLUDE (C:\PR_ADUC\ADC1_a\lcd_opr.asm)
$INCLUDE (C:\PR_ADUC\ADC1_a\preobr.asm)
;Конец исполняемого кода
END