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

UptoLike

286
;РОНы обслуживания подпрограмм преобразования формы представления чисел
IND_MILL_R DATA 04Eh ;РОН миллиардов дес числа
IND_SOTMIL_R DATA 04Fh ;РОН сотен миллионов дес числа
IND_DESMIL_R DATA 050h ;РОН десятков миллионов дес числа
IND_MIL_R DATA 051h ;РОН миллионов дес числа
IND_SOTTIS_R DATA 052h ;РОН сотен тысяч дес числа
IND_DESTIS_R DATA 053h ;РОН десятков тысяч дес числа
IND_TIS_R DATA 054h ;РОН тысяч дес числа
IND_SOT_R DATA 055h ;РОН сотен дес числа
IND_DES_R DATA 056h ;РОН десятков дес числа
IND_ED_R DATA 057h ;РОН единиц дес числа
BYTE_0_R DATA 05Bh ;байт 0 упакованного двоичн-дес числа
BYTE_1_R DATA 05Ch ;байт 1 упакованного двоичн-дес числа
BYTE_2_R DATA 05Dh ;байт 2 упакованного двоичн-дес числа
BYTE_3_R DATA 05Eh ;байт 3 упакованного двоичн-дес числа
BYTE_4_R DATA 05Fh ;байт 4 упакованного двоичн-дес числа
DAC_L_R DATA 068h ; РОНы предельного значения числа
DAC_H_R DATA 069h ; дискрет выхода ЦАП
ST_L_R DATA 06Ah ; РОНы текущего значения числа
ST_H_R DATA 06Bh ; дискрет выхода ЦАП
;Константы
NACH_ADR EQU 000h ;начальный адрес обнуления РОНов
KON_ADR EQU 07Fh ;конечный адрес обнуления РОНов
POROG_K EQU 10 ;порог подавления дребезга кнопок
;Начало исполняемого кода-----------------------------------------------------
ORG 0h
AJMP Lab_START ;идти на начало осн программы
ORG 000Bh
AJMP Lab_TIM0 ;идти на обр прерыв от T0
;Блок обработки прерываний от T0 --------------------------------------------
;Прерывания обрабатываются по переполнению Т0.
;Прерывания должны быть разрешены.
Lab_TIM0: CLR EA ;----------------------------------
PUSH PSW ; глоб запрет прер и сохр контекста
PUSH ACC ;----------------------------------
MOV TH0,#HIGH(65505) ;Загрузка в Т0 константы
MOV TL0,#LOW(65505) ;(уст периодичности прерываний от Т0)
MOV ACC,ST_L_R ;-----------------------------------
ADD A,#1 ;
JNC La_1 ;
INC ST_H_R ; блок организации ступенчатого
La_1: MOV ST_L_R,ACC ; возрастания
CJNE A,DAC_L_R,La_5 ; выходного напряжения ЦАП
MOV ACC,ST_H_R ; до предельн значения, заложенного
CJNE A,DAC_H_R,La_5 ;
MOV ST_L_R,#0 ; в DAC_H_R, DAC_L_R
MOV ST_H_R,#0 ;-----------------------------------
La_5: MOV DACH,ST_H_R ;
MOV DACL,ST_L_R ;момент модификации вых напряж ЦАП
;Блок возврата из прерываний--------------------------------------------------
Lab_RETI: POP ACC ;---------------------------------
POP PSW ; восст контекста и глоб разр прер
SETB EA ;---------------------------------
RETI ;возврат из блока обраб прерываний
;Начало осн программы---------------------------------------------------------
ORG 100h
Lab_START: MOV SP,#080h ;определить указатель стека