記事「RRP1320-0 test1 構造」で説明するべきだったかも知れませんが、PICkit3 を使ってデバックを始めるまでの様子を紹介します。
「RRP1320-0 test1 構造」からダウンロードできるプロジェクト(RRP1320-0-1)を開いて Run するまでを紹介します。
最初に Project → Open から RRP1320-0-1 を開きます。
Output ウィンドウは下図の表示になると思います。
PICkit3 をターゲット( RRP1320-0 )に接続します。
PCにUSB接続すると以下のダイアログが現れますから、接続したPICデバイスと一致していることを確認して OK をクリックします。
暫くすると、Output ウィンドウの表示が下図のように変って接続完了です。
このプロジェクト(RRP1320-0-1)では、PICkit3 からターゲットボードに電源(+5V)を供給していますが、外部から電源供給している場合は、ターゲットの電源をONして下さい。
シミュレーターと同様に、ビルド、Program、Run を使ってオンボード・デバックが可能になります。
PICkit3 をUSBポートから抜く時は次のようにしています。
(1) Run 状態なら Halt する。
(2) 外部からターゲットに電源供給している場合は電源をOFFする。
(3) プロジェクトをクローズ(Project → Close ファイル選択)する。
(4) PICKit3 をUSBポートから抜いてMPLABを終了する。
以下は PICkit3 の使い方に関する記事のインデックスにします。
PICkit3 デバッカーに設定
シミュレータで書き進めたプログラムをPICkit3でインサーキット・デバックしようとすると、PICkit3をデバッカーに設定する必要があります。
PICkit3 プログラマーに設定
出来あがったプログラムをPICに焼いて(プログラミング)、PICkit3 無しで動作させてみます。
PICkit3 デバッカーに戻す
プログラマーに設定したPICkit3をデバッカーに戻します。
PICkit3 不調?
「PICkit3 使い方」 、 「PICkit3 不安定」 と言ったキーワードで検索して来てくれる方がいらっしゃいます。 私自身は、「PWM 4 回路図」に紹介しているモーターノイズや誤配線以外で PICkit3 が不安定になるような経験をしていませんが、Webでみつけた記事を紹介します。
「楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。
PICKit3
RRP1320-0 が出来たので、ハードウェア・デバックを行いました。 簡単な基板なので、PIC18F1320の端子が基板の入出力用ソケットに正しく接続されているかについては、周辺の基板を動かしながら確認することにします。
始めて故に最も気になっているのは、本当に内臓OSCの8MHzで動いてるのかと言うことです。 取り急ぎ、TIMER0 で(計算上)100msec毎に低位割り込みを発生させるように設定し、割り込みの都度カウンターをデクリメントして割り込み10回毎に呼ばれるサブルーチンを作りました。 このサブルーチンでRA4に接続したLEDを点滅させた時に、期待通りON時間とOFF時間が同じ2秒周期の点滅が確認できれば、クロック周波数8MHzを確認したことになると考えました。
結果は期待通りの点滅動作を確認出来ました。 オシロ測定まではしてませんが、4MHzだったり31kHzだったりすれば直ぐに気付く範囲なので問題ないと思います。 念の為ですが、PICKit3をプログラマーとして使い、リリース版の書き込みを行った上でRRP1320-0 をスタンドアロンで動作させてみました。 下の写真は、PICKit3 用の6pinコネクタから5Vを供給してLEDの点滅動作を確認した様子です。
調子に乗って( RA0~RA3 及び RA6 , RA7 に )手持ちのLCDを接続して、一秒ごとに数字を表示させて見ました。 当然ながらこちらも問題ありません。
ところが、上の写真のように1行目を空けて、2行目に表示させることに手間取ってしまいました。 解決できたのですが、「チョット寄り道」のつもりが時間を取られた上に、ソースが散らかってしまいました。 LCDは表示出来る情報量が多くて魅力的ですが、このブログでは当分使う予定がありません。
最初の写真のLEDによる動作確認に的を絞って、詳細を紹介する予定です。
RRP1320-0 関連記事のインデックスはこちら → RRP1320-0 回路図
「楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。
始めて故に最も気になっているのは、本当に内臓OSCの8MHzで動いてるのかと言うことです。 取り急ぎ、TIMER0 で(計算上)100msec毎に低位割り込みを発生させるように設定し、割り込みの都度カウンターをデクリメントして割り込み10回毎に呼ばれるサブルーチンを作りました。 このサブルーチンでRA4に接続したLEDを点滅させた時に、期待通りON時間とOFF時間が同じ2秒周期の点滅が確認できれば、クロック周波数8MHzを確認したことになると考えました。
結果は期待通りの点滅動作を確認出来ました。 オシロ測定まではしてませんが、4MHzだったり31kHzだったりすれば直ぐに気付く範囲なので問題ないと思います。 念の為ですが、PICKit3をプログラマーとして使い、リリース版の書き込みを行った上でRRP1320-0 をスタンドアロンで動作させてみました。 下の写真は、PICKit3 用の6pinコネクタから5Vを供給してLEDの点滅動作を確認した様子です。
調子に乗って( RA0~RA3 及び RA6 , RA7 に )手持ちのLCDを接続して、一秒ごとに数字を表示させて見ました。 当然ながらこちらも問題ありません。
ところが、上の写真のように1行目を空けて、2行目に表示させることに手間取ってしまいました。 解決できたのですが、「チョット寄り道」のつもりが時間を取られた上に、ソースが散らかってしまいました。 LCDは表示出来る情報量が多くて魅力的ですが、このブログでは当分使う予定がありません。
最初の写真のLEDによる動作確認に的を絞って、詳細を紹介する予定です。
RRP1320-0 関連記事のインデックスはこちら → RRP1320-0 回路図
「楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。
このブログでは PIC18F1320 を使って、最初の専用ハードウェアを作ります。 デバッカーとしてPICKit3を使い、この基板をターゲットにPICの勉強を続ける予定です。 その後、RRP1320-0の周辺回路基板を作り、目に見える動作を楽しみながら学習する予定ですが、PICKit3から見れば下図のRRP1320-0しか見えないはずです。 これ以上は無理な位シンプルにしました。 1本でも多くの端子を周辺回路に割り振れるように、外付けのクロック回路すら削減し、内臓クロック8MHzを使う予定です。
レイアウトは下図の通りです。 ドットがユニバーサル基板のスルホール、水色が裏面のスズメッキ線、赤色が部品面(PIC実装面)のジャンパー線です。 青色はPICとヘッダーピン、ヘッダーソケットと基板で部品面から見た図です。
PICKit3から見れば、PIC18F1320の端子に何を出力したかが重要なだけで、周辺回路基板がどうあろうと知ったことではありません。 同時にPICKit3からは、周辺回路基板がPIC18F1320の入力(に設定した端子)に与える電圧とその変化しか見えませんし、粛々と予め決められた手順に従って出力端子を動かすだけです。
PICの入出力端子の挙動とプログラムが織り成す現象を、結果的に人を楽しませたり、人の役に立つもにする知識と経験を学びたいと思います。
以下は、RRP1320シリーズ関連記事のインデックスにします。
PIC18F1320の入出力ピン
PIC18Fシリーズの中で、最もピン数の少ないPICデバイスですが、最小規模の18F1220に比べて2倍のプログラム・メモリー容量を持っています。
RRP1320-0 ハード製作
RRP1320-0の部品が届いたので、早速製作します。 必要な部品は下図の他には若干のスズメッキ線とジャンパー用の被覆線と言うように極少数です。
RRP1320-0 ハードデバック
RRP1320-0 が出来たので、ハードウェア・デバックを行いました。 始めて故に最も気になっているのは、本当に内臓OSCの8MHzで動いてるのかと言うことです。
RRP1320-0 test1 構造
「RRP1320-0 ハードデバック」に紹介したLEDを点滅させるプログラム(プロジェクト)について説明します。 割り込みを使う為、プログラムの機能毎に独立した複数のソースファイルを作っています。 この記事から test1 のプロジェクトを丸ごとダウンロード可能です。
RRP1320-0 test1 割込み・ピン機能設定
最初にA/Dコンバーターの設定をしてから、出力ポートを設定しています。 8MHzの4周期分(0.5usec)と1/16プリスケーラーを使って100msecのカウント値(12500d)を求め、100msecで16bitタイマーカウンターがオーバーフローするように TMR0H , TMR0L の値( 0CF2Ch )を準備します。
RRP1320-0 test1 低位割り込み
今回発生する低位割込みはTIMER0 だけです。 最初にレジスターを退避して割り込みフラグをリセットし、TIMER0 のカウンター値を初期化してから必要な処理を行いレジスター復旧して RETFIE で割込み処理を抜けます。
「楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。
レイアウトは下図の通りです。 ドットがユニバーサル基板のスルホール、水色が裏面のスズメッキ線、赤色が部品面(PIC実装面)のジャンパー線です。 青色はPICとヘッダーピン、ヘッダーソケットと基板で部品面から見た図です。
PICKit3から見れば、PIC18F1320の端子に何を出力したかが重要なだけで、周辺回路基板がどうあろうと知ったことではありません。 同時にPICKit3からは、周辺回路基板がPIC18F1320の入力(に設定した端子)に与える電圧とその変化しか見えませんし、粛々と予め決められた手順に従って出力端子を動かすだけです。
PICの入出力端子の挙動とプログラムが織り成す現象を、結果的に人を楽しませたり、人の役に立つもにする知識と経験を学びたいと思います。
以下は、RRP1320シリーズ関連記事のインデックスにします。
PIC18F1320の入出力ピン
PIC18Fシリーズの中で、最もピン数の少ないPICデバイスですが、最小規模の18F1220に比べて2倍のプログラム・メモリー容量を持っています。
RRP1320-0 ハード製作
RRP1320-0の部品が届いたので、早速製作します。 必要な部品は下図の他には若干のスズメッキ線とジャンパー用の被覆線と言うように極少数です。
RRP1320-0 ハードデバック
RRP1320-0 が出来たので、ハードウェア・デバックを行いました。 始めて故に最も気になっているのは、本当に内臓OSCの8MHzで動いてるのかと言うことです。
RRP1320-0 test1 構造
「RRP1320-0 ハードデバック」に紹介したLEDを点滅させるプログラム(プロジェクト)について説明します。 割り込みを使う為、プログラムの機能毎に独立した複数のソースファイルを作っています。 この記事から test1 のプロジェクトを丸ごとダウンロード可能です。
RRP1320-0 test1 割込み・ピン機能設定
最初にA/Dコンバーターの設定をしてから、出力ポートを設定しています。 8MHzの4周期分(0.5usec)と1/16プリスケーラーを使って100msecのカウント値(12500d)を求め、100msecで16bitタイマーカウンターがオーバーフローするように TMR0H , TMR0L の値( 0CF2Ch )を準備します。
RRP1320-0 test1 低位割り込み
今回発生する低位割込みはTIMER0 だけです。 最初にレジスターを退避して割り込みフラグをリセットし、TIMER0 のカウンター値を初期化してから必要な処理を行いレジスター復旧して RETFIE で割込み処理を抜けます。
「楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。
PICのプログラムは、PICデバイスに書き込んで周辺回路を動かしてなんぼのものです。 このブログでも小規模ながら実際に基板を製作し、周辺回路の動作を確かめてPICについて学びたいと思います。
最初に作る基板(RRP1320-0)はPICKit3と接続してPIC18F1320を動かすに必要な最小限の機能を持った物にします。 その後に幾つかの周辺回路基板を作って、RRP1320-0と接続すれば目に見える入出力結果を楽しめるようにしたいと考えています。
PIC18F1320の概要は以下の通りです。
ピン数 18pin
プログラム・メモリー 4Kワード(8Kbyte)
データ・メモリー 256byte
EEPROMメモリー 256byte
I/Oポート ポート A,B
ADC 7入力
USART 1ch
CCP 1個
PIC18Fシリーズの中で、最もピン数の少ないPICデバイスですが、最小規模の18F1220に比べて2倍のプログラム・メモリー容量を持っています。
ピン配置は下図のようになっています。
18ピンの内、以下のピンは自由に使えない(使い難い)ピンで、残り11ピンが使えます。
1.電源ピン ( 5 , 14 )
2.PICKit3と接続 ( 4 , 12 , 13 )
3.クロック接続 ( 15 , 16 )
下表は、18F1320各ピンの機能概要で、左端の数字はピン番号を示します。
ピン名称が赤色のものはPICKit3を接続してデバックやプログラミングをする間、決められた負荷以外は接続できません。 ピン番号が青色のもの ( RB ) はプログラムで内部プルアップ抵抗の有無を設定出来るピンです。 ピン番号が緑色のRA4はオープンドレイン出力です。(知らずにロジックICを接続するとスゴ~ク悩みます。)
各ピン毎に機能が決められていて、なおかつ複数の機能を受け持っています。 今回は以上の説明にとどめます。
RRP1320-0 関連記事のインデックスはこちら → RRP1320-0 回路図
「楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。
最初に作る基板(RRP1320-0)はPICKit3と接続してPIC18F1320を動かすに必要な最小限の機能を持った物にします。 その後に幾つかの周辺回路基板を作って、RRP1320-0と接続すれば目に見える入出力結果を楽しめるようにしたいと考えています。
PIC18F1320の概要は以下の通りです。
ピン数 18pin
プログラム・メモリー 4Kワード(8Kbyte)
データ・メモリー 256byte
EEPROMメモリー 256byte
I/Oポート ポート A,B
ADC 7入力
USART 1ch
CCP 1個
PIC18Fシリーズの中で、最もピン数の少ないPICデバイスですが、最小規模の18F1220に比べて2倍のプログラム・メモリー容量を持っています。
ピン配置は下図のようになっています。
18ピンの内、以下のピンは自由に使えない(使い難い)ピンで、残り11ピンが使えます。
1.電源ピン ( 5 , 14 )
2.PICKit3と接続 ( 4 , 12 , 13 )
3.クロック接続 ( 15 , 16 )
下表は、18F1320各ピンの機能概要で、左端の数字はピン番号を示します。
1 | RA0/AN0 |
入出力ポート or ADC入力 | |
2 | RA1/AN1/LVDIN |
入出力ポート or ADC入力 or LVD外部電圧設定 | |
3 | RA4/T0CKI |
入出力ポート(OD) or TIMER0外部クロック入力 | |
4 | MCLR~/Vpp/RA5 |
MCLR~ or 入力専用ポート | |
5 | VSS/AVSS |
電源VSS | |
6 | RA2/AN2/Vref- |
入出力ポート or ADC入力 or Vref- | |
7 | RA3/AN3/Vref+ |
入出力ポート or ADC入力 or Vref+ | |
8 | RB0/AN4/INT0 |
入出力ポート or ADC入力 or INT0入力 | |
9 | RB1/AN5/TX/CK/INT1 |
入出力ポート or ADC入力 or USART CK/TX | |
10 | RB4/AN6/RX/DT/KBI0 |
入出力ポート(状態変化割込) or ADC入力 or USART RX/DT | |
11 | RB5/PGM/KBI1 |
PGM or 入出力ポート(状態変化割込) | |
12 | RB6/PGC/T1OSO/T13CKI/P1C/KBI2 |
PGC or 入出力ポート(状態変化割込) or タイマー入出力 | |
13 | RB7/PGD/T1OSI/P1D/KBI3 |
PGD or 入出力ポート(状態変化割込) or タイマー出力 | |
14 | VDD/AVDD |
電源VDD | |
15 | OSC2/CLKO/RA6 |
OSC2 or クロック出力 or 入出力ポート | |
16 | OSC1/CLKI/RA7 |
OSC1 or クロック入力 or 入出力ポート | |
17 | RB2/P1B/INT2 |
入出力ポート or INT2入力 | |
18 | RB3/CCP1/P1A |
入出力ポート or CCP入出力 |
ピン名称が赤色のものはPICKit3を接続してデバックやプログラミングをする間、決められた負荷以外は接続できません。 ピン番号が青色のもの ( RB ) はプログラムで内部プルアップ抵抗の有無を設定出来るピンです。 ピン番号が緑色のRA4はオープンドレイン出力です。(知らずにロジックICを接続するとスゴ~ク悩みます。)
各ピン毎に機能が決められていて、なおかつ複数の機能を受け持っています。 今回は以上の説明にとどめます。
RRP1320-0 関連記事のインデックスはこちら → RRP1320-0 回路図
「楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。
以前からPICの存在は知っていましたし、何年も前から活用している知人も居ましたが、私自身は昨年(2011年)の暮れに書籍とボード、PICKit3を購入して使い始めた初心者です。
ブラシローラー型水田除草ロボットを試作する際にDCモーターの速度制御用に使ったのが最初です。 Z-80の頃からマイコンを使っていますが、正直言って最初はPICに戸惑う場面が多かったのを覚えています。 「水田除草」と言うブログに紹介したPIC事始めの様子は以下をご覧下さい。
PICの勉強まとめ
http://jyosou-robot.livedoor.biz/archives/5111492.html
リンク先に紹介しているようにPIC18Fを使っています。 このブログでも、まずはPIC18Fを使ってメカを動かす基板を作ります。 ソフトウェア開発環境はMPLABとPICKit3、アセンブラで作ります。 メカと言っても簡単で、あまりお金のかからないものを幾つか考えてあります。 それでいて人に見せても自慢できそうな、楽しんでもらえるようなもので、お金を出しても買えないものをねらいます。
電子工作ではケースや機構部品の製作に悩まされますが、これらについても提案する予定です。
コメントやブログメンバーとして一緒に学び楽しんでくれる方を歓迎します。 宜しくお願いします。
「楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。
ブラシローラー型水田除草ロボットを試作する際にDCモーターの速度制御用に使ったのが最初です。 Z-80の頃からマイコンを使っていますが、正直言って最初はPICに戸惑う場面が多かったのを覚えています。 「水田除草」と言うブログに紹介したPIC事始めの様子は以下をご覧下さい。
PICの勉強まとめ
http://jyosou-robot.livedoor.biz/archives/5111492.html
リンク先に紹介しているようにPIC18Fを使っています。 このブログでも、まずはPIC18Fを使ってメカを動かす基板を作ります。 ソフトウェア開発環境はMPLABとPICKit3、アセンブラで作ります。 メカと言っても簡単で、あまりお金のかからないものを幾つか考えてあります。 それでいて人に見せても自慢できそうな、楽しんでもらえるようなもので、お金を出しても買えないものをねらいます。
電子工作ではケースや機構部品の製作に悩まされますが、これらについても提案する予定です。
コメントやブログメンバーとして一緒に学び楽しんでくれる方を歓迎します。 宜しくお願いします。
「楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。
記事検索
最新記事
内部リンク
人気記事
アンケートに御協力下さい
外部リンク
アーカイブ
楽々PIC 宛てBlogMail
--- ご了承下さい ---
注意して記事を書いていますが、記事及びリンク先の情報による不利益について、一切責任を負い(負え)ません。
--- ご了承下さい ---
注意して記事を書いていますが、記事及びリンク先の情報による不利益について、一切責任を負い(負え)ません。
QRコード
アクセスカウンター
バナーを作成
プロフィール
jyosou_robot