Global Informatics
;подпрограмма обработки прерывания порта Р1
;определяет какая кнопка нажата и в зависимости от этого, согласно
алгоритму,
;производит дальнейший скан клавиатуры для считывания уставок или
фиксирует ;номер датчика для которого надо вывести Tx или вызывает
П/П ошибки ввода ;данных,
;если дважды нажата запятая
;=====================================================_PRER:
USING 2FLAG1,#0dFLAG2,#0,d
;начало сканирования клавиатуры через порт Р1
MOV P1,#01110000bR2,P1
;проверка нажата ли кнопка TEMPR2,#01110001b,NOTEMP
;кнопка TEMP нажата, проверка какая кнопка(номер датчика) нажата
;в соответствии с этим запись в регистры r0-r3 данных об Nh и Nl
чтобы
;потом вызвать П/П вычисления Tx
D1:MOV R2,P1R2,#01111000,NO1R0,@0X47h ;adress high TH byte D1R1,@0X48h ;adress high TL byte D1R2,@0X49h ;adress low TH byte D1R3,@0X50h ;adress low TL byte D1FLAG1,#1dWENT1:CJNE R2,#01110100,NO2R0,@0X51h ;adress high TH byte D2R1,@0X52h ;adress high TL byte D2R2,@0X53h ;adress low TH byte D2R3,@0X54h ;adress low TL byte D2FLAG1,#2dWENT1:CJNE R2,#01110010,NO3R0,@0X55h ;adress high TH byte D3R1,@0X56h ;adress high TL byte D3R2,@0X57h ;adress low TH byte D3R3,@0X58h ;adress low TL byte D3FLAG1,#3dWENT1CJNE R2,#10111000,NO4R0,@0X59h ;adress high TH byte D4R1,@0X60h ;adress high TL byte D4R2,@0X61h ;adress low TH byte D4R3,@0X62h ;adress low TL byte D4FLAG1,#4d:CJNE R2,#10110100,NO5R0,@0X63h ;adress high TH byte D5R1,@0X64h ;adress high TL byte D5R2,@0X65h ;adress low TH byte D5R3,@0X66h ;adress low TL byte D5FLAG1,#5dWENT1: JMP D1
;ожидание пока будет нажата кнопка ENTER
WENT1: MOV P1,#00010000bR2,P1R2,#00010001b,WENT1FLAG1,#0d
CLR KBFENDSKAN
;кнопка TEMP не нажата, следовательно скан нажата-ли кнопка UST
NOTEMP: CLR R0R3,#3d:CLR KBFP1,#10110000bR2,P1R2,@10110001b,NOUST
;кнопка UST нажата, скан клавиатуры на прием первой цифры уставки
;уставка в формате ABC.D(3 цифры целого и 1 цифра остаток)
P1:MOV P1,#01110000bP1,#01111000b,NE1R7,#1dP2,#00110001bP0.7P0.7P2,#11111111bPOPAL:CJNE P1,#01110100b,NE2R7,#2dP2,#00110010bP0.7P0.7P2,#11111111bPOPAL:CJNE P1,#01110010b,NE3R7,#3dP2,#00110011bP0.7P0.7P2,#11111111bPOPAL:MOV P1,#10110000bP1,#10111000b,NE4R7,#4dP2,#00110100bP0.7P0.7P2,#11111111bPOPAL:CJNE P1,#10110100b,NE5R7,#5dP2,#00110101bP0.7P0.7P2,#11111111bPOPAL:CJNE P1,#10110010b,NE6R7,6dP2,#00110110bP0.7P0.7P2,#11111111bPOPAL:MOV P1,#11010000bP1,#11011000b,NE7R7,#7dP2,#00110111bP0.7P0.7P2,#11111111bPOPAL:CJNE P1,#11010100b,NE8R7,#8dP2,#00111000bP0.7P0.7P2,#11111111bPOPAL:CJNE P1,#11010010,NE9R7,#9dP2,#00111001bP0.7P0.7P2,#11111111bPOPAL:MOV P1,#11100000bP1,#11101000b,NE0R7,#0dP2,#00110000bP0.7P0.7P2,#11111111bPOPAL:CJNE P1,#11100100b,NEPR4,#FFh ;ФЛАГ ЗАПЯТОЙP2,#00101110bP0.7P0.7P2,#11111111bPOPAL:JMP P1:DEC R3
;первая цифра уставки введена, ожидание ввода 2-й цифры целого
уставки
;или нажатия кнопки ENT.
;если еще одна цифра уставки введена то ожидание ввода 3-й цифры
целого
;или кнопки ENT.
;нажатие запятой фиксируется флагом-регистром R4, если запятая
нажата то
;ввод цифры определяется как десятичный остаток уставки и далее
окончание ;приема значения уставки.
WAIT:MOV P1,#11100000b
MOV R2,P1R2,#11100001b, WENT2A,FLAG2F2E1FLAG2,#1bE1:MOV FLAG2,#0bENDUST:MOV P1,#01110000bP1,#01111000b,NEE1R5,#1dP2,#00110001bP0.7P0.7P2,#11111111bPOPAL2:CJNE P1,#01110100b,NEE2R5,#2dP2,#00110010bP0.7P0.7P2,#11111111bPOPAL2:CJNE P1,#01110010b,NEE3R5,#3dP2,#00110011bP0.7P0.7P2,#11111111bPOPAL2:MOV P1,#10110000bP1,#10111000b,NEE4R5,#4dP2,#00110100bP0.7P0.7P2,#11111111bPOPAL2:CJNE P1,#10110100b,NEE5R5,#5dP2,#00110101bP0.7P0.7P2,#11111111bPOPAL2:CJNE P1,#10110010b,NEE6R5,6d
MOV P2,#00110110bP0.7P0.7P2,#11111111bPOPAL2:MOV P1,#11010000bP1,#11011000b,NEE7R5,#7dP2,#00110111bP0.7P0.7P2,#11111111bPOPAL2:CJNE P1,#11010100b,NEE8R5,#8dP2,#00111000bP0.7P0.7P2,#11111111bPOPAL2:CJNE P1,#11010010,NEE9R5,#9dP2,#00111001bP0.7P0.7P2,#11111111bPOPAL2:MOV P1,#11100000bP1,#11101000b,NEE0R5,#0dP2,#00110000bP0.7P0.7P2,#11111111bPOPAL2:CJNE P1,#11100100b,NEEPERROR_DPOINR ;вызов П/П вывода ошибки на
Статья в тему
Модуляционно-легированные транзисторы MODFET, биполярные транзисторы на гетеропереходах. Резонансный туннельный эффект
Высокая степень интеграции, характерная для современной кремниевой
технологии, не может быть достигнута при использовании полупроводниковых
соединений AIIIBV, однако эти соединения обеспечивают
большее быстродействие, прежде всего, за счет высокой подвижности р носителей и
меньши ...