Свежие обсуждения
Микроконтроллеры

Коммутатор на PIC16F877A

Накалякал программу только не хочет работать так как надо. Надо коммутировать 20-ю кнопками 20 релюх. Подскажите что не так?
MPLAB 7.42
Сканирование клавы 5(порт A) на 4( порт B).
A1
MOVLW B'11111110'
MOVWF PORTA
CALL SCANB
MOVLW B'11111101'
MOVWF PORTA
CALL SCANB
MOVLW B'11111011'
MOVWF PORTA
CALL SCANB
MOVLW B'11110111'
MOVWF PORTA
CALL SCANB
MOVLW B'11011111'
MOVWF PORTA
CALL SCANB
GOTO A1

;Определение нажатой кнопки
SCANB
CALL PAUZA

COMF PORTB,W
BTFSC STATUS,Z
COMF PORTB,W
BTFSC STATUS,Z
COMF PORTB,W
BTFSC STATUS,Z
RETURN

BTFSS PORTB,4
CALL B4
BTFSS PORTB,5
CALL B5
BTFSS PORTB,6
CALL B6
BTFSS PORTB,7
CALL B7
GOTO A1

215833.asm

 

Ckut: не хочет работать так как надо

а как надо?

 

PROTEUS поставьте и смотрите что там и как - proteus123.narod.ru АСМ в нем имеется.

 

Табличный вызов проще получится...

 

да протеус 70 мег я буду качать 2 дня беспробудно.
AnSi при нажатии на кнопку единичка появляется и тут же пропадает на нужном мне выводе.
Вроде не дребезг. Кнопки напрямую подключаю с вывода на вывод.

 

У меня на RA0 постоянно нулик сидит почему-то.