Я программирую PIC16f877 в MPLAB (используя сборку).У меня 4x4 панель переключателей.Я могу принимать входные данные, но не могу определить, с какого из переключателей это происходит.Я использую portb, делая первый вход RB4 в RB7 и выход RB0 в RB3, но, например, SW0, SW4, SW8, SW12 работают одинаково?Как я могу строго определить их ??
Вот соответствующие части моего кода
...
bsf TRISB,5
bcf TRISB,2
bcf STATUS,RP0
bsf STATUS,RP0
bcf OPTION_REG,7
bcf STATUS,RP0
...
btfs PORTB,5
call button1
goto main
button1:
movlw b'11111111'
movwf PORTD
clrf PORTE
bsf PORTE,2
call delay
return