PICマイコンをC言語のみで!
今回、PICマイコンをC言語のみで簡単にプログラミングできないか?
っていうことで、始めて、ちょっとしたものを作ってみました。
というのもアセンブラでやるのもいいんですが、
昨今のPICマイコン、アセンブラでシコシコ書かなくても
例えばPIC16F84Aなんて20Mhzでブン回せますから、簡単なことであれば
C言語でも十分いけます。というか楽。
目次
ソフト@16F84@HITECH-C
ソフト@16F84@mikroC
ソフト@16F88
ハード&ソフト@16F88@RS232C出力(リモコンコードモニタ)対応
・序文@7/6
今後、いろいろやっていきます。
それのやり方をここで解説していきたいと思います。
皆様、がんばってつきあってやってください。
まず、最初になにを作ったかはここを
これから、ちょっとづつ解説していきます。
・作成するもの@7/12
XT-DT1/SONY のリモコンライン乗っ取り器
・要求仕様@7/12
(1)最低要求
・起動後、10秒後に、XT-DT1のリモコンラインへ
「Power-ONコード」送出
※下記、ソースコードでは5秒にしています
・本来のリモコンコードはスルー(そのまま透過)
(2)拡張要求
・ALPINEリモコンコードを解析、必要コードのみを
SONYリモコンコードへ変換しXT-DT1の各種操作を可能にする
・ツール@7/12
使用ツールは何?
言語
→すべてフリーのC言語での開発環境はここで入手
HI-TECH PICC Lite でPC16F84Aを
フルに活用できます。
※フリーなC言語というと、mikroCっていうのもあるとのこと
これだと、PIC16F88までもサポート、ただし、プログラムサイズが2kまで
(2kのコードであればちょっとしたことで埋まることはないと思います)
書き込み
→PIC Programmer V3
秋月電子のPIC書き込みkitです。現在はV4で多種のPICを
サポートしているみたいです。ですが、PIC16F84Aであれば
書き換える必要もありません
・開発チップ@7/12
使用するPICマイコンはPIC16F84Aです。
理由は、手頃なのと手持ちでもっていたから(^^;
※このあと、必要コードのみをPIC16C55にも移植してみました。
・回路図@7/12
注:これをみて実体配線図を作成できる方だけを対象にしています。
実物を見てわかるように、
従来:XT-DT1←リモコンアイ → 今回:XT-DT1←乗っ取り器←リモコンアイ
↑
ALPINEリモコンライン
という接続をします
・ソフト@7/12(まぁ参考程度に→必要コードのみを抜粋)
※16F84Aでシリアル送受信ができるか?と思うでしょうが、半2重(同時に通信無し)であれば、できます。
こんな感じ
・ツール@7/21
PIC16F88を購入してきた関係上、HI-TECH PICC Liteフリー版では開発できないことが判明
なので、mikroCにも手を出してみました。
・ソフト@7/21(mikroC版)
HI-TECH PICC Liteと微妙に書式が違うので、書き換えてみました
16F88でもいけるはず、、、多分、きっと、後日検証予定(^^;
・ソフト@7/26(PIC16F88@mikroC版)
mikroCで、PIC16F88で同じ動作をするように、コードを書いてみました。
初期設定部分が、デフォルトでは動作しないので、ちょっと迷いました(^^;
(デフォルトのポート設定がADC(A/Dコンバーター)になっているポートがあり、そのままのコードでは正常に動作しません)
あと、このPIC16F88は、内蔵の発振器を持っていて、クリスタル無しで8Mhzまで動作する優れものです!
これが、C言語のみで動作するって事はいろいろ遊べます!
・ハード&ソフト@16F88@RS232C出力(リモコンコードモニタ)対応@7/30
PIC16F88のシリアル送信機能を使用して、リモコンコードまでモニタ出来るように拡張した回路図が↑、コードがこれ
PIC16F84A→PIC16F88に載せ換えて、MAX232部分を追加すれば、リモコンコードがパソコン通信ソフトで
確認できるようになります。つまりはこの画面のように、現状のコードを確認できます
※通信設定は、19200bps/8bit/ノンパリティ/stopビット1 です
(変換してしまう部分もありますが、それはコードを読んで直してください)
P.S.実はA/Dコンバーターの動作も確認できています@7/30→そのうち公開予定
疑問、質問、ご相談はメールでどうぞ。
If you have some questions, mail to kei
ホームへ戻る