
久々のブログです。
マイコンを使って車やらバイクやらを色々いじり倒すことにまだはまっています。
マイコンはマイクロチップ社の「PIC」を使用しています。このマイコンはインターネットでの情報も多くて入手性もいいので愛用しています。世の中にはもっと性能の良いマイコンは存在しますが、環境がすでに揃っているのでなかなか移行するのは面倒くさいw
実際に自分でプログラムをしてマイコンに書き込むのは、「統合開発環境」を使ってプログラムをして「ライタ」を使ってフラッシュマイコンに書き込みます。
「ライタ」はマイクロチップ純正の「PICkit3」ってライタを愛用しています。
「統合開発環境」はこれもマイクロチップ社純正の「MPLAB IDE」を使用しています。
WindowsでもMACでもLinuxでも使えるようです。
現在パソコンに入っていて使用している統合開発環境MPLABのバージョンは「Ver.8.84」でかなり古いバージョンです。「MPLAB X」なる新しいバージョンが出ているのは知っていましたが、使用しているPICマイコンが古く特に問題はなかったのでバージョンアップすることなく使用していました。
が…。
今回最初の写真のマイコン「PIC16F1705」を使ってみたくなりました。
14ピンの小さなボディにPLL付きで32MHzのスピードと8kワードのプログラムメモリー、「CCP」や「PWM」「I2C」「SPI」などの基本的な機能はもちろんのこと「オペアンプ」が内蔵されていたりピン割付ができる「PPS」が使用可能であったり、「ZCD」「COG」「CLC」などちょっとよく分からない機能とかとにかく盛りだくさんの機能の付いているマイコンです。
この中で、グラフィックLCDなどのデバイスではメモリを多く使ってしまいます。8kワードのメモリは嬉しいところ。今まで使っていたマイコンは4kワードのものが多くグラフィックデータをメモリに確保してやってあとは残りすくないメモリでいかにプログラム容量を小さくするかとの戦いです。1ビットは血の一滴となりますw
あとは、「PPS」機能が付いているのも嬉しい。この機能は「CCP」や「I2C」「SPI」などのMSSPのピンを好きなピン番号へ割り当てられる機能で、例えばこの機能のないマイコンで自作で回路を作っているとマイコンによっては色々な場所へ各ピンが割振りられているので回路が乱雑になってしまいます。でも、この機能を使うと最短のピンへ割り振りができるので回路が小さくすることができます。
なので、ぜひこのマイコンを使ってみたい…。
でも…。
今使っている「Ver.8.84」では「PIC16F1705」は使えない…。比較的新しいマイコンなので古いバージョンでは対応していないらしい。
ってことで重い腰を上げて「統合開発環境」をバージョンアップしました。「MPLAB X IDE Ver.3.05」です。

このバージョンで、このマイコンは使えるようになると思います。
サクッとインストールして使ってみました。
まだ、深くは使っていませんが「Window」→「PIC Memory View」→「Configuration Bits」って機能がいいですね。これは、マイコンのハード側の設定するコンフィギュレーションですが、マイコンの機能が増えるとこの設定する項目が増える傾向にあります。今まではデータシートとにらめっこをしながら手打ちで入力していましたが、このバージョンからは各マイコンにあったコンフィグレーションの設定をマウスで選んでコピペで記述できるようになっています。
また、今まで作っている古いバージョンからの移行もメニューがありスムーズに行えそうです。
通常マイコンへの書き込み方法は、プログラミングをしてコンパイルを通して「統合開発環境」から「ライタ」を通じてマイコンに書き込みます。その際「ライタ」とマイコンの間に書き込み用の回路が必要です。これは自作で作れる簡単な回路です。書き込む際には当然マイコンには電源を供給しなければなりません。本当は別電源で3Vないし5Vを供給すべきなのですが、「ライタ」からも供給することができます。
自作の書き込み回路は書き込むだけの作業で手軽なので「ライタ」から電源を供給しています。
この電源のON/OFFの作業が新しいバージョンではソフト上で簡単にはできない…。
前バージョンでは、ツールバーにボタンがあったので気軽にON/OFFが可能でしたが、新バージョンでは5ステップのコマンドを切らなければON/OFFできない…。つかいずらい…。
ってことで、14ピン用の書き込み回路も追加しなければならないし「書き込み回路」も新作しました。
「PIC16F」ファミリーの現在主に使用している8ピン・14ピン・18ピン・28ピンがそれぞれ書き込みができるようにしました。回路側でON/OFFできるように電源スイッチを取り付けています。これで「統合開発環境」のソフト側でON/OFFする必要はありません。
この回路も中身は単純で「PICkit3」から出ている、電源供給の2本・MCLRピン1本・PGCとPGDのピンへそれぞれ1本づつ合計5本を配線してやるだけです。
こんな回路…。
これで、ターゲットの「PIC16F1705」が使えるようになったはず…。
とりあえずデータシートを読んで定番(?)のLEDピコピコ回路を作ってやってみました。
よく使っている16Fファミリーなので特にむすかしい所はなさそうです。
手元に、ヤフオクで買ったOLEDのSSD1306系のグラフィックLCDがあるので「SPI」通信でちょっと表示させてみました。

これも問題無し。
これだけの画像を表示させているだけのプログラムですが、まだまだメモリに余裕があります。
ピン割付の使用感もよい。
かなり面白そうなマイコンです。このくらいの大きさの高性能なPICを探していた。
このマイコンはピン数も少なくコンパクトに回路がまとまりそう♪
モンキーの進角付きCDIも手こずって頓挫しているし、中休みにこのマイコンを使って何か作ってみようかな〜。
現在妄想中…w
ブログ一覧 |
電子回路 | 趣味
Posted at
2015/09/11 08:33:02