0x75h - 0x78h - уставки для 3-го датчика
; 0x79h - 0x82h - уставки для 4-го датчика
; 0x83h - 0x86h - уставки для 5-го датчика
; вихідні змінні:
; змінна FLFORERR - значення змінної опеределяется номер
датчика на; якому виявлено помилку
; змінна має місце тільки коли помилку виявлено, але значення
; присвоюються в будь-якому випадку, тк
; сначало визначається для якого датчика треба робити порівняння,
; присвоюється значення змінної FRFORERR,
; А ПОТІМ вже відбувається порівняння
; ========================================= =============
==================_Tx:USING3R0,@0X50hR0@0x50h,R0R0,#1d,TO2R0,@67hR1,@68hR2,@69hR3,@70hFLFORERR,#1CHECK:CJNE R0, # 1d, TO3R0, @ 71hR1, @ 72hR2, @ 73hR3, @ 74hFLFORERR, # 2CHECK: CJNE R0, # 1d, TO4R0, @ 75hR1, @ 76hR2, @ 77hR3, @ 78hFLFORERR, # 3CHECK: CJNE R0, # 1d , TO5R0, @ 79hR1, @ 80hR2, @ 81hR3, @ 82hFLFORERR, # 4CHECK: MOV R0, @ 83hR1, @ 84hR2, @ 85hR3, @ 86h
CLR R0 @ 0x50h, R0; ОЧИЩЕННЯ ЛІЧИЛЬНИКА ВИКЛИКІВ п / п ТК ЦИКЛ
ВИМІРЮВАННЯ -; 5 ІМПУЛЬСІВ
MOV FLFORERR, # 5
JMP CHECK
; R0.R1 - HIGH UST, R2.R3 - LOW UST FOR ND: MOV R4, @ 0X40hR5, @ 0X41h; R4.45 - TX
; порівняння з нижньої уставкойA, R2
SUBB A, R4ERR_LCHECK_HA, R3A, R5ERR_L
JMP CHECK_H
; порівняння з верхньої уставкою
CHECK_H: MOV A, R2A, R0NOTERRERR_H: MOV A, R5A, R1ENDCHECKERR_H
ENDCHECK: USING0
; ========================================= =============
==================
; підпрограма обчислення значення температури Т
; вхідні параметри:
; R0, R1, R2, R3-адреси комірок пам'яті даних, де храняться значення
періодів Th; і Tl датчика
; вихідні параметри:
; 0X40 - адреса комірки, де зберігатися ціле значення температури (1
байт)
; 0X41 - адреса комірки, де зберігатися десятковий залишок значення
; температури (1 байт)
; форма представлення T: Х.У
; ========================================= =============
=================== _TEMP:
; перезапис адрес з банку 0 в банк 1
MOV A, R0B, R11R3, @ AR4, @ B0A, R2B, R31
; ---------------------------------------------- R5, @ AR6, @ B
; переклад Th з W в FP
MOV R3, @ R0R4, @ R1W_TO_FP @ 0x45h, R2 @ 0x46h, R3 @ 0x47h, R4
; переклад Tl з W в FP
MOV R3, R5R4, R6W_TO_FP
; ----------------------------------------------
; поділ Th на Tl
; завантаження дільника (Tl) R6, R3R7, R4
; завантаження діленого (Th)