Устройство сбора данных. Надёжность средств измерения и информационно–измерительных систем. Измерение, средства измерений, страница 9

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

CLR P2.1                    ;выбор PKDC 

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-сотни, десятки, единицы, т.е.