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

ホームへ戻る