※ ChatGPTを利用し、要約された質問です(原文:PICのスイッチのプログラムについて)
PICスイッチプログラムの改善方法
このQ&Aのポイント
PICのスイッチプログラムについて改善方法を教えてください。
問題点はLEDBの光る際の高速点滅であり、対策方法を教えてください。
スイッチ入力でLEDAは綺麗に光るが、LEDBは高速点滅するため、問題を解決する方法を教えてください。
基本的な事なのですが、よろしくお願いします。
以下のアセンブラのソースでPICを作ってみました。プログラムを変えてみたり、回路を変えてみたりしましたが、改善されませんでした。回路の構成は、LED(仮に、A・Bとします)2個、スイッチ1個、PIC、抵抗器など・・・これを交互にスイッチのオンオフで切り替える。としています。現状の問題点は、スイッチ入力で、LEDAは光るときは綺麗に光りますし、消えるときは綺麗に消えます。問題は、LEDBのほうで、光るときに高速で点滅します。理由と対策が解りません。どなたか教えてください。よろしくお願いします。
list p=16f628a
#include<p16f628a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF & _LVP_OFF
ORG 0x000
goto main
ORG 0x004
main
bcf STATUS,RP0
bcf STATUS,RP1
clrf INTCON
clrf PORTA
movlw 0x07
movwf CMCON
bsf STATUS,RP0
bsf PCON,OSCF
clrf TRISB
movlw 0x03
movwf TRISA
bcf STATUS,RP0
clrf PORTA
clrf PORTB
main_loop
btfsc PORTA,0;この辺りがよくわかりません。
goto loop2
bsf PORTB,0
bcf PORTB,1
goto main_loop
loop2
bcf PORTB,0
bsf PORTB,1
goto main_loop
END
お礼
回答有難うございました。