TH0; запис в пам'ять Nh для періоду низького уровняR2, R6; запис в R3 адреси комірки (для П / П MAKE_TEMP) R6 @ R6, TL0; запис в пам'ять Nl для періоду низького уровняR3, R6; запис в R3 адреси комірки (для П / П MAKE_TEMP) MAKE_TEMP; виклик П / П обчислення Tx для виміряного
імпульсу
; на вих - 0х40h адресу комірки з цілим Tx
; 0x41h адресу комірки з дес. залишком Tx
MOV R4, @ 40 @ R5, R4R5R4, @ 41 @ R5, R4
LCALL CHECH_Tx; виклик П / П порівняння Tx з уставками
INC R6TH0TL0R7, CICLE: MOV A, FLAG1
JNB NODISPOUT; перевірка прапора запиту виклику, якщо flag=0 то чи не
; треба виводітьDISP_TEMP; виклик П / П виведення Tx N-го датчика на дисплей: JMP START
; ========================================= =============
==================
; П / П виведення Тх на дисплей
; вхідні змінні:
; flag1 - значення прапора визначає для якого датчика виводити tx
; результат виконання П / П - висновок Тх N-го датчика на дисплей
; ========================================= =============
================== _TEMP: USING 3
; перевірка яка кнопка натиснута
MOV A, FLAG1A, # 1, NED1R0, @ 0X20hR1, @ 0X21h: CJNE A, # 2, NED2R0, @ 0X22hR1, @ 0X23h: CJNE A, # 2, NED3R0, @ 0X24hR1, @ 0X25h: CJNE A, # 2, NED4R0, @ 0X26hR1, @ 0X27h: CJNE A, # 2, NED5R0, @ 0X28hR1, @ 0X29h: MOV R0, @ 0X30hR1, @ 0X31h
; перетворення Tx (розбиття числа на цифри)
MOV A, R0B, # 00001010bABR6, BA, BB, # 00001010bABR5, BR4, A
MOV R7, R1
; ВНАСЛІДОК R4 R5 R6 - ЦИФРИ ЦІЛОЇ
; R7 - ЦИФРА десяткових ЗАЛИШКУ Тх
; перетворення r4-r7 в Коли для пересилання (дописує 3 В
старшої тетради)
ORL R4, # 00110000b
ORL R5, # 00110000b
ORL R6, # 00110000b
ORL R7, # 00110000b
; ПЕРЕСИЛКА КОДІВ
1SIMV: MOV P2, R4P0.7P0.7P2, # 11111111b, # 1d
SIMV: MOV P2, R5P0.7P0.7P2, # 11111111b, # 1d
SIMV: MOV P2, R6P0.7P0.7P2, # 11111111b, # 1d
SIMV: MOV P2, # 00101110b; POINTP0.7P0.7P2, # 11111111b, # 1d
SIMV: MOV P2, R7P0.7P0.7P2, # 11111111b, # 1d
RETI
; ========================================= =============
==================
; П / П порівнянь Tx з уставками
; вхідні параметри:
; 0x50 - адреса байта, де зберігається число - скільки разів викликалася П / П
; це число потрібно, щоб знати для якого датчика які уставки
використовувати
; що зберігатися в адресах:
; 0x67h - 0x70h - уставки для 1-го датчика
; 0x71h - 0x74h - уставки для 2-го датчика
; ...