Я использую сборку, MPLAP и PROTEUS, чтобы написать код, чтобы включить или выключить светодиод кнопкой. Проблема здесь в том, что мой код включается, когда кнопка находится в верхнем положении и выключает ее при нажатии кнопки в нижнем положении.Кнопка удержания вкл/выкл с использованием ассемблерного кода с использованием PIC16F887
Что я хочу: нажмите кнопку, и светодиод включится и останется включенным. Нажмите кнопку еще раз, и светодиод выключится и останется выключенным. Повторите это навсегда.
Вот мой код:
; Exam 7 - Bonus 2
INCLUDE "P16F887.INC"
Status EQU 0x20 ; Bien dung de
BSF Status,0;
;Init----------------
BANKSEL TRISD ; Lua chon bank 1
BCF TRISD,0 ; PortD,0 la Output
CLRF TRISD
BSF TRISC,0 ; PortC,0 la Input
BANKSEL PORTD ; Lua chon bank 0
;Main--------------
check db 0
Start
mainloop
btfsc PORTC,0
GOTO OFF
ON
movlw 0
movwf PORTD
GOTO mainloop
OFF
movlw 1
movwf PORTD
GOTO mainloop
;.............................
END
Вы должны изменить свой код, чтобы он переключает светодиод включен или выключен, когда входной бит изменяется от 1 до 0. –
@RossRidge Вы можете написать свой код ?? – JamesCornel
Казалось бы, это ваша работа. Мне не дали этого задания. –