MOV R4,#11 ;R4ß кол-во датчиков
MOV TC1,#00H ;обнуление ячеек хранения
MOV TC2,#00H ;суммарного расхода
MOV R0,R5 ;
MOV DPTR,nTAB_COD ;
MET2: MOV A,@R0 ;
ADD A,TC1 ;
MOV TC1,A ;
CLR A ;
ADDC A,TC2 ;
INR R0 ;
DJNZ R4,MET2 ;
MOV R4,#04H ;
MOV IND1,#39H ;код “с”
MOV IND2,#73H ;код “р”
MOV IND3,#00H ;код гашения
MOV IND4,#3FH ;код нуля
MET3: CLR C ;определение
ADD A,TC2 ;общего
RRC A ;расхода
MOV TC2,A ;т.е.
MOV A,TC1 ;деление
RRC A ;содержимого
MOV TC1,A ;ячеек ТС1,ТС2
DJNZ R4,MET3 ;на 16
MOV A,ТС1 ;(А)ß результат деления
CALL BIN_BCD ;вывод
CALL OBMEN ;общего расхода
CALL DISPL ;на дисплей
CALL DEL3 ;
CLR R2.1 ;запрет индикации до окончания
;опроса текущего цикла
JMP WAIT ;переход для индикации последних
;данных от датчиков
;п/п задержки на 20ms
ORG 0180H
DEL20:MOV R1,#2A ;
LOOP2: MOV R2,#EC ;
LOOP1: DJNZ R2,LOOP1 ;
DJNZ R1,LOOP2 ;
NOP ;
NOP ;
RET ;
;п/п отсчета временных промежутков по 50ms
;входные параметры:COUNT - счетчик 50 милисекундных циклов
ORG 0190H
TAIM : MOV TMOD,#20H ;выбор т/с 0 на режим 2
MOV TH0,#3CH ;загрузка
MOV TL0,#AFH ;таймера
SETB TR0 ;запуск т/с 0
RET ;
;п/п обслуживания прерывания от т/с 1
ORG 001BH
T1_PR:INC COUNT ;счетчик времени
MOV A,#FFH ;
SUBB A,COUNT ;
JZ M ;переход, если ноль
CJNE PROM,#01H,EX ;проверка истекания
CJNE COUNT,#91H,EX ;20 секунд
CALL OPROS ;п/п опроса датчиков
CALL INTERF ;п/п пересылки данных во ВУ
MOV COUNT,#00H ;обнуление счетчика времени
MOV R2,#01H ;разрешение индикации
EX: RETI ;
M: INC PROM ;
JMP EX ;
;п/п задержки на 3 сек
ORG 01A0H
DEL3:MOV R6,#03H ;
MOV R5,#50H ;
M1: CALL DEL20 ;
DJNZ R5,M1 ;
DJNZ R6,DEL3 ;
RET ;
;п/п инициализация PKDC
ORG 01B0H
INIT:CLR A ;код УС0
SETB P2.2 ;активизация РУС PKDC
MOV Р0,A ;вывод УС0 в РУС
MOV A,#34H ;код УС1
MOV Р0,A ;вывод УС1 в РУС
SETB P2.1 ;отключение РУС
RET ;
;п/п индикации
;входные параметры:IND1¸IND7 сс-код символов,
;выводимых надисплей
ORG 01C0H
DISPL:CLR P2.1 ;выбор PKDC
SETB P2.2 ;активизация РУС
MOV A,#1001 0000 B;код УС4
MOV P0,A ;
;запись данных в память дисплея
CLR P1.2 ;
MET: MOV A,IND1 ;Aß IND1
MOV P0,A ;
INC A ;
CJNE A,#57H ;переход если индикатор не последний
RET ;
;п/п заполнения ячеек IND4,IND5,IND6 информацией, выводимой
;на дисплей
;входные параметры:R6,R7,B-сотни, десятки, единицы, т.е.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.