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 ;вызов П/П вывода ошибки на

Перейти на страницу: 1 2 3 4 5 6

Статья в тему

Графоаналитический расчет звукоизоляции ограждающих конструкций помещения
звукоизоляция защита информация безопасность Аттестация объекта информатизации по требованиям безопасности информации представляет собой комплекс организационно-технических мероприятий, в результате которых подтверждается, что на аттестационном объекте выполнены требования по безопасно ...

Главные разделы


www.globalinformatics.ru © 2024 - Все права защищены!