お初の方は右側カテゴリーより興味のある記事をご覧ください。まとめシリーズがおすすめです。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
;PIC16F886 LED制御実験
LIST P=PIC16F886
INCLUDE P16F886.INC
;内部クロック利用、番犬OFF、起動時リセットON、コードプロテクトOFF、データプロテクトOFF、デバッガOFF、PortB.3特殊用途無効、PortE.3MCLRE無効
__CONFIG _CONFIG1, _INTOSCIO & _WDT_OFF & _PWRTE_ON & _CP_OFF & _CPD_OFF & _DEBUG_OFF & _LVP_OFF & _MCLRE_OFF
ORG 0
;アナログ入力->デジタル入出力
BANKSEL ANSEL
CLRF ANSEL
;各ポートを入力->出力
BANKSEL TRISA
CLRF TRISA
BANKSEL TRISB
CLRF TRISB
BANKSEL TRISC
CLRF TRISC
BANKSEL PORTA
MOVLW 0xFF
MOVWF PORTA
BANKSEL PORTB
MOVLW 0xFF
MOVWF PORTB
BANKSEL PORTC
MOVLW 0xFF
MOVWF PORTC
END
配線はこんな感じ。写真の電源は会社からパクってきたアダプタを使いましたが、どうやらCPUの電源PINを間違えていたらしく、この配線で+-に昨日のUSBモジュールの電源を繋いだら動いたので晴れてUSB電源駆動も出来るようになりました。
__CONFIGの内容をしっかり設定しないとやっぱりちゃんと動かないみたいです。設定内容一覧みたいなのは検索しても見つからなかったので、結構テキトウです。一個一個調べてサンプルコードのコメントとかTips的な解説を読み集めて上のコードになってます。
PIC16F88xは起動時に各ポートがアナログ入力に設定されているらしく、これをちゃんとデジタル入出力に設定したほうがいいみたいです。
今日やっと20個のLEDを点灯させた時点で気づいたんですが、886だと一つで0~9の二桁を表示すると、殆どのポートを使ってしまう為、886で今回の要求を満たせるか怪しくなってきました。購入したRTCモジュールの通信方式はI2Cなのですが、使った事ないので明日から頑張って調べます。
2007/12/09設置