私のコードは次のように表示されます。プッシュ ボタンを使用して LED のオンとオフを切り替えようとしています。そのため、一度押すとオンになり、もう一度ボタンを押すまでオンのままになります。
ただし、コンパイル中に「アドレス ラベルが重複しているか、2 番目のパスで異なります」というエラーが 1 つ発生します。
ここで何が間違っていますか?
前もって感謝します。:)
;Program name: T code
;CPU Configuration
processor 16F84A
include <p16f84a.inc>
__config _XT_OSC & _WDT_OFF & _PWRTE_ON
;Register Label Equates
PORTA equ 05
PORTB equ 06
Count equ 0C
;Register Bit Label Equates
Input equ 4 ;PUSH BUTTON INPUT RA4
LED1 equ 0 ;LED OUTPUT RB0
;*****Program Start*****
org 0
;Initialize (Default = Input)
movlw B'00000000' ;Define Port B output
tris PORTB ; and set bit direction
goto check
;Main Loop
check BTFSS PORTA,Input ;If button is OFF, goto check, and keep waiting for button HIGH condition.
goto check ;
bsf PORTB,LED1 ;Turn the LED ON
check BTFSS PORTA,Input ;Assuming the LED is currently ON, keep checking for a button press...
goto check
bcf PORTB,LED1 ;Turn the LED OFF
goto check ;repeat always
END