Global Informatics
;дисплей(дважды нажата кнопка запятой)
JMP ENDSKAN:CLR KBFWAIT:CJNE R4,#FFh,NOTPR6,R5:MOV P1,#00010000bR2,P1R2,#00010001b,WAIT2A,FLAG2F2E1_2FLAG2,#1bE1_2:MOV FLAG2,#0,b
JMP ENDUST
;переход по метке означает что введена вторая/третья цифра целого
числа
;уставки и надо сформировать новое число, т.е. было A, СТАЛО (или было AB ;СТАЛО ABC)
NOTP:MOV A,R7B,#00001010bABB,R6ABR7,AR0R0,FROMR3:MOV P1,#00010000bR2,P1R2,#00010001b,WAIT3A,FLAG2F2E1_3FLAG2,#1bE1_3:MOV FLAG2,#0,bENDUST:LCALL SET_USTR0R0,#6d,FROM3: MOV P1,#11010000bR2,P1R2,#11010001b,NORSTPCON;ПЕРЕЗАГРУЗКА МК(СБОР ФЛАГА POF в регистре )PCON,00010000bENDSKAN:MOV P1,#11100000bR2,P1R2,#11100010b,SKAN_PADCLR_DISP;вызов П/П очистки дисплея вследствие ;нажатия
кнопки CLR:USING 0KBF
;===============================================
;П/П сохранения уставок в память
;вызывается 10 раз, каждый раз по вызову сохраняет набор уставок(2
байта ;r7.r6 уставки в память)
;входные переменные:
;r0 - счетчик указывающий номер датчика, для которого вводится В
или Н ;уставка
;flag2 - переменная-флаг, если =0 то Н уставка, если =1 то В уставка
;выходные переменные отсутствуют
;результат выполнения ПП - данные в памяти
;===============================================_UST:CJNE R0,#1d,NOD1A,FLAG2NODL1@0X67h,R7@0X68h,R6:MOV @0X69h,R7@0X70h,R6:CJNE R0,#1d,NOD2A,FLAG2NODL2@0X71h,R7@0X72h,R6:MOV @0X73h,R7@0X74h,R6:CJNE R0,#1d,NOD3A,FLAG2NODL2@0X75h,R7@0X76h,R6:MOV @0X77h,R7@0X78h,R6:CJNE R0,#1d,NOD4A,FLAG2NODL2@0X78h,R7@0X79h,R6:MOV @0X80h,R7@0X81h,R6:MOV A,FLAG2NODL2@0X78h,R7@0X79h,R6:MOV @0X80h,R7@0X81h,R6
RETI
;====================================================
;П/П вывода на дисплей сообщения "ERROR DOUBLE POINT"
;====================================================_DPOINT: USING 5P2,#01000101b ;EP0.7P0.7P2,#11111111bP2,#01010010b ;RP0.7P0.7P2,#11111111bP2,#01010010b ;RP0.7P0.7P2,#11111111bP2,#01000101b ;OP0.7P0.7P2,#11111111bP2,#01000101b ;RP0.7P0.7P2,#11111111bP2,#000000001b ;PROBELP0.7P0.7P2,#11111111bP2,#01000100b ;DP0.7P0.7P2,#11111111bP2,#01001111b ;OP0.7P0.7P2,#11111111bP2,#01010110b ;UP0.7P0.7P2,#11111111bP2,#01000010b ;BP0.7P0.7P2,#11111111bP2,#01001000b ;LP0.7P0.7P2,#11111111bP2,#01000101b ;EP0.7P0.7P2,#11111111bP2,#00000000b ;PROBE;P0.7P0.7P2,#11111111bP2,#01010000b ;PP0.7P0.7P2,#11111111bP2,#01001111b ;OP0.7P0.7P2,#11111111bP2,#01001001b ;IP0.7P0.7P2,#11111111bP2,#01001110b ;NP0.7P0.7P2,#11111111bP2,#01010100b ;TP0.7P0.7P2,#11111111b
;====================================================
;П/П вывода на дисплей сообщения "ERR LOW UST ON Dx"
;входные переменные:
;флаг FLRORPRER - значение флага определяет на каком датчике
обнаружена ;ошибка(1-5)
;====================================================
ERR_L:USING 5
MOV P2,#01000101b ;EP0.7P0.7P2,#11111111bP2,#01010010b ;RP0.7P0.7P2,#11111111bP2,#01010010b ;RP0.7P0.7P2,#11111111bP2,#00000000b ;PROBELP0.7P0.7P2,#11111111bP2,#01001100b ;LP0.7P0.7P2,#11111111bP2,#01001111b ;OP0.7P0.7P2,#11111111bP2,#01010111b ;WP0.7P0.7P2,#11111111bP2,#00000000b ;PROBELP0.7P0.7P2,#11111111bP2,#01010110b ;UP0.7P0.7P2,#11111111bP2,#01010011b ;SP0.7P0.7P2,#11111111bP2,#01010100b ;TP0.7P0.7P2,#11111111bP2,#00000000b ;PROBELP0.7P0.7P2,#11111111bP2,#001001111b ;OP0.7P0.7P2,#11111111bP2,#01001110b ;NP0.7P0.7P2,#11111111bP2,#00000000b ;PROBELP0.7P0.7P2,#11111111bP2,#01000100b ;DP0.7P0.7P2,#11111111bR0,FLFORERRR0,#00110000b P2,R0 ;n (НОМЕР ДАТЧИКА)
SETB P0.7P0.7P2,#11111111b
RETI
;====================================================
;П/П вывода на дисплей сообщения "ERR HIGH UST ON Dx"
;входные переменные:
;флаг FLRORPRER - значение флага определяет на каком датчике
обнаружена ;ошибка(1-5)
;====================================================
ERR_L:USING 5
MOV P2,#01000101b ;EP0.7P0.7P2,#11111111bP2,#01010010b ;RP0.7P0.7P2,#11111111bP2,#01010010b ;RP0.7P0.7P2,#11111111bP2,#00000000b ;PROBELP0.7P0.7P2,#11111111bP2,#01001000b ;HP0.7P0.7P2,#11111111bP2,#01001001b ;IP0.7P0.7P2,#11111111bP2,#01000111b ;GP0.7P0.7P2,#11111111bP2,#01001000b ;HP0.7P0.7P2,#11111111bP2,#00000000b ;PROBELP0.7P0.7P2,#11111111bP2,#01010110b ;UP0.7P0.7P2,#11111111bP2,#01010011b ;SP0.7P0.7P2,#11111111bP2,#01010100b ;TP0.7P0.7P2,#11111111bP2,#00000000b ;PROBELP0.7P0.7P2,#11111111bP2,#001001111b ;OP0.7P0.7P2,#11111111bP2,#01001110b ;NP0.7P0.7P2,#11111111bP2,#00000000b ;PROBELP0.7P0.7P2,#11111111bP2,#01000100b ;DP0.7P0.7P2,#11111111bR0,FLFORERRR0,#00110000bP2,R0 ;n (НОМЕР ДАТЧИКА)P0.7P0.7P2,#11111111b
Статья в тему
Системы связи с подвижными объектами
Рассматривается прямолинейный диспетчерский участок железнодорожной магистрали (рис 1)
Рисунок 1. Диспетчерский участок
Использованные следующие аббревиатуры: ТВЛ - два провода трехфазной высоковольтной линии, ВЛС - воздушная линия связи, ДВ и ОВ - соответственно двух- и однопроводной волноводы. ...