基本的な事なのですが、よろしくお願いします。
以下のアセンブラのソースで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

このQ&Aに関連する最新のQ&A

A 回答 (1件)

回路図が無いので想像でこたえます。


PA0にスイッチを接続してると思いますが、HIGHレベルが不安定ではないかと考えます。
プルアップ抵抗が接続されていないのなら接続してみてください。
    • good
    • 0
この回答へのお礼

回答有難うございました。

お礼日時:2011/04/08 19:42

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報