1
100
Guest
こんにちは..
現在、私は..コンバータの午前とデータ並列にPIC16F84のシリアルに行動するように
私は..ここに私のソ¥ースコードをよ囲む
問題が表¥面コードを私のiしてください。
8LEDsは(それに応じていない点灯を開く表¥す)ビットパラレル8。時には習慣も正しい出力を、なる展望だ。時間のほとんどは、それが出力されます間違っている。
<img src=¥"http://www.edaboard.com/images/smiles/icon_sad.gif¥" alt=¥"悲しい¥" border=¥"0¥" />
リストのp = 16F84
"を含む"P16F84.incを
;------------------------------------------------- -----------------
CBLOCKは0x20、一般的なレジスタの開始アドレス
BIT_COUNTER
NEXT_BIT
DELAY_COUNT
TEMP_STORE
ENDC
;------------------------------------------------- -----------------
BSFはステータスは、RP0;入力としてRA0を初期化する
MOVLW 0x01に
MOVWF TRISA
BCF社はステータス、RP0
CLRFポートA
BSFはステータス、RP0;として出力ポートB初期化する
MOVLW 0x00の
MOVWF TRISB
BCF社はステータス、RP0
CLRFポートB
後藤STARTは、プログラムのメイン移動する
;------------------------------------------------- -----------------START_DELAYはMOVLWは0x0Cは、サブルーチンが52usを遅らせる
MOVWF DELAY_COUNT
START_WAIT NOP命令
DECFSZのDELAY_COUNT、1
後藤START_WAIT
返り
;------------------------------------------------- ------------------
BIT_DELAYはMOVLWは0x18が、サブルーチンは104usを遅らせる
MOVWF DELAY_COUNT
BIT_WAIT NOP命令
DECFSZのDELAY_COUNT、1
後藤BIT_WAIT
返り
;------------------------------------------------- ------------------
スタートBTFSC PORTAは、0、ビットを検出開始
後藤スタート
のCALL START_DELAYは、そこにいることを確認スタートまだ少しは
BTFSCポータ、0
後藤スタート
メインのCLRFのポートB
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、0
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、1
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、2
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、3
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、4
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、5
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、6
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、7
のCALL BIT_DELAY
MOVFのTEMP_STORE、0
MOVWFポートB
後藤スタート
END
現在、私は..コンバータの午前とデータ並列にPIC16F84のシリアルに行動するように
私は..ここに私のソ¥ースコードをよ囲む
問題が表¥面コードを私のiしてください。
8LEDsは(それに応じていない点灯を開く表¥す)ビットパラレル8。時には習慣も正しい出力を、なる展望だ。時間のほとんどは、それが出力されます間違っている。
<img src=¥"http://www.edaboard.com/images/smiles/icon_sad.gif¥" alt=¥"悲しい¥" border=¥"0¥" />
リストのp = 16F84
"を含む"P16F84.incを
;------------------------------------------------- -----------------
CBLOCKは0x20、一般的なレジスタの開始アドレス
BIT_COUNTER
NEXT_BIT
DELAY_COUNT
TEMP_STORE
ENDC
;------------------------------------------------- -----------------
BSFはステータスは、RP0;入力としてRA0を初期化する
MOVLW 0x01に
MOVWF TRISA
BCF社はステータス、RP0
CLRFポートA
BSFはステータス、RP0;として出力ポートB初期化する
MOVLW 0x00の
MOVWF TRISB
BCF社はステータス、RP0
CLRFポートB
後藤STARTは、プログラムのメイン移動する
;------------------------------------------------- -----------------START_DELAYはMOVLWは0x0Cは、サブルーチンが52usを遅らせる
MOVWF DELAY_COUNT
START_WAIT NOP命令
DECFSZのDELAY_COUNT、1
後藤START_WAIT
返り
;------------------------------------------------- ------------------
BIT_DELAYはMOVLWは0x18が、サブルーチンは104usを遅らせる
MOVWF DELAY_COUNT
BIT_WAIT NOP命令
DECFSZのDELAY_COUNT、1
後藤BIT_WAIT
返り
;------------------------------------------------- ------------------
スタートBTFSC PORTAは、0、ビットを検出開始
後藤スタート
のCALL START_DELAYは、そこにいることを確認スタートまだ少しは
BTFSCポータ、0
後藤スタート
メインのCLRFのポートB
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、0
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、1
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、2
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、3
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、4
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、5
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、6
のCALL BIT_DELAY
BTFSCポータ、0
BSFのTEMP_STORE、7
のCALL BIT_DELAY
MOVFのTEMP_STORE、0
MOVWFポートB
後藤スタート
END