Код: Выделить всё
LIST P=PIC16F84A
__CONFIG H'3FF2'
STATUS EQU H'0003'
TRISA EQU H'0005'
PORTA EQU H'0005'
TRISB EQU H'0006'
PORTB EQU H'0006'
org 0 ; начало программы
; подготовительные моменты
bsf STATUS,5 ; переход в Банк 1
movlw b'00011111'
movwf TRISA
clrf TRISB
bcf STATUS,5 ; переход назад в Банк 0
clrf PORTB ; очистка порта
; отслеживание нажатия кнопки
m1 clrf PORTB
m2 btfsc PORTA,1 ; проверка ножки RA1
goto ma
goto m4 ; нету одного сигнала, проверяем второй
ma movlw b'10000000'
movwf PORTB
m3 btfsc PORTA,2
goto mb
goto m2 ; нету второго сигнала - к началу без стирания
mb movlw b'11000000' ; если 2 сигнала
movwf PORTB
goto m2
m4 btfsc PORTA,2
goto mc
goto m1 ; вообще ничего не было
mc movlw b'01000000' ; нету первого сигнала, но есть второй, нужно включить только второй
movwf PORTB
goto m2
end ; конец программы

