PIC16F877AをPICkit 2で動かす(実行編)

どうやら書き込みはされているようなので、とりあえず書き込みはOKとして実行部分をチェックすることにした。
しかし、PIC16F877A(だけじゃなく、チップ状態のPIC)は初めてだから何が必要なのかさっぱりわからない。

でも、そもそもPIC16F877Aを持っているのは「作りながら学ぶPICマイコン入門」で扱っているからなので、この本を開いてみた。
この本ではいろいろ試せるように電源部分、シリアル通信、LED、発振回路、リセット回路等いろいろなものが付いている。
シリアル通信やLEDは実行に必須ではないのはわかるけど、後は必要なような気がする。
でも、電源はPICkit 2から供給できるはずだから、怪しいのは発振回路とリセット回路くらいか。
「リセットは電源を入れたらリセットがかかるんじゃないか?」と思うんだけど、わざわざ付いているってことはいるのかな?
発振回路は実行時のクロックになると思うんだけど、他のPICでは内蔵しているのが使えると読んだことがある。それを有効にする設定とかあればOKなんだけど。

ここで、以前見つけた「PICを動かすために必要な回路」というページがあったのを思い出した。
そこを見ると発振回路と電源だったので、発振回路はどうやら必須のようだ。
で、買っておいたセラロックを部品の山から探した。確か20MHzを3つ買って、さらに「あまり速いとブレッドボードで動かないといけないから・・・」と追加で買った4MHzと10MHzがあったはず。
で、先に4MHzと10MHzのが見つかった。
どっちがどっちだかわからないけど、三本足の両側をCLKIN, CLKOUTに接続し、真ん中をGNDに接続した。
何かでICSP中は外部クロックは外しておくみたいなことを読んだような気もするけど、「まぁ、いいか」と試してみた。
しかし、これでも動かない。
「PICkit 2がいけないかな?」とGainerの+5VをVddに、GNDをVssにつないでみたけどダメ。

「他にできることは?」とググってみたら、「CONFIGビットの発振回路の設定が悪かった」という記述を発見!
「20MHzで他のPICではXTで動いていたのにPIC16F877AはHSにしないと動かなかった」とあった。
PICkit 2アプリで確認しようとしたけど表示がずれていて見れない・・・><
MPLAB IDEのConfigureメニューのConfiguration Bitsで見るとRCになっていました。
で、XTと書き換えました。
(参考にしたページでは「4MHz以上はHS」と書いてあったのに、何を勘違いしたのかわかりませんけど、HSではなくXTにしました。結果的に動いたので良かったですけど。)
※データシートを見たら、4MHzはXTで、8MHz以上はHSでした。だから、私がつけたのは4MHzのセラロックだったようです。

これでProgrammerメニューからRelease from Resetで実行するとBlinkされました。
「やった!動いた!」とさっそくC言語のプログラム(4つのLEDを順番に光らせる)もConfiguration Bitsの設定を変えて試してみました。
そしたら無事に実行されたので、ケータイで動画を撮って、ブレッドボードの写真を撮って、作業内容をまとめました。

カテゴリー: PIC, 作業, 回路, 部品 タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください