楽々PIC

水田除草と言うブログを書いていますが、PIC関連の記事が意外に人気で驚いています。 PICを使った電子工作に興味を持つ方が多いことを知って、一緒にPICを学ぶブログを作りたいと思いました。 「楽々PIC」は教材と言うよりも少し実用性?のある楽しい道具を作りながら学ぶブログを目指します。

RRP1320-1

RRP1320-1 コンフィグレーションビット

 次シリーズのプロジェクトを作る際に RRP1320-1-03-1 をコピーして使おうとしたところ、Configuration Bits ウィンドウの Configuration Bits set in code にチェックが入っていることに気付きました。 新品のPIC( 18F1320 )だからでしょうか? 当ブログやダウンロードコーナーで入手したプロジェクトをビルドしても正常に動作しない場合は、このチェックを外してビルドし直してください。

Configure → Configuration Bits を選択します。
config0

Configuration Bits set in code のチェックを外して、下図の表示を確認して下さい。

RRP1320-1 シリーズの Configuration Bits
RRP1320-1_Config


RRP1320-1シリーズ・コンフィグレーションビットの値とフィールド/設定は以下の通りです。 ソースに記述する場合は参考にして下さい。

Address Value  Field       Setting                               

 300001   48  OSC     Internal RC oscillator, port function on RA6 and port function on RA7 
              FSCM    Fail-Safe Clock Monitor enabled                                       
              IESO    Internal External Switchover mode disabled                            
 300002   0F  PWRT    PWRT disabled                                                         
              BOR     Brown-out Reset enabled                                               
              BORV    Reserved                                                              
 300003   1E  WDT     WDT disabled (control is placed on the SWDTEN bit)                    
              WDTPS   1:32768                                                               
 300005   80  MCLRE   MCLR pin enabled, RA5 input pin disabled                              
 300006   01  STVR    Stack full/underflow will cause Reset                                 
              LVP     Low-Voltage ICSP disabled                                             
 300008   03  CP0     Block 0 (00200-000FFFh) not code-protected                            
              CP1     Block 1 (001000-001FFFh) not code-protected                           
 300009   C0  CPB     Boot Block (000000-0001FFh) not code-protected                        
              CPD     Data EEPROM not code-protected                                        
 30000A   03  WRT0    Block 0 (00200-000FFFh) not write-protected                           
              WRT1    Block 1 (001000-001FFFh) not write-protected                          
 30000B   E0  WRTC    Configuration registers (300000-3000FFh) not write-protected          
              WRTB    Boot Block (000000-0001FFh) not write-protected                       
              WRTD    Data EEPROM not write-protected                                       
 30000C   03  EBTR0   Block 0 (00200-000FFFh) not protected from table reads executed in other blocks
              EBTR1   Block 1 (001000-001FFFh) not protected from table reads executed in other blocks
 30000D   40  EBTRB   Boot Block (000000-0001FFh) not protected from table reads executed in other blocks


楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。




RRP1320-1 回路図

 以前、「楽々PICとは」と言う記事に、このブログを通して進めるPICの学習方針のようなものを次のように書いています。

 学習ツールのような基板と開発環境を動かしながら、一部のプログラムを変更してみて、思い通りの変化が得られるかを確かめて勉強する方が近道だと思います。 このブログは「教える」程の知識の無い私が書き進める都合上、「学習ツール」のように広く学べる基板を使うのではなくて、「楽しんで使える道具」を作りながら勉強することを狙います。

これまでに幾つかの機能を試して、私自身ある程度PICが使えることを確かめ、「楽しんで使える道具」を構成するパーツとしてのプログラムを作って来ました。 USB など、まだまだ勉強が必要なこともありますが、そろそろ「楽しんで使える道具」を具体化したいと考えていました。

様々なキーワードでブログを訪れてくれる様子を見ながら、ゼロから学ぶからこそ目に見える成果が少なく、退屈な作業の中で挫折しかねないアセンブラ初心者の方々を支援したいと思います。 そして、工夫次第で使える道具を作り、応用例を紹介する予定です。 応用例はマイコンを勉強中の方でなくても興味を持って貰えるものを目指します。 道具を構成するハードウェアはブレッドボードで作ります。 特に気に入ったり、繰り返し使いたい場合はユニバーサル基板等でより小型軽量に作ることも可能です。

その回路に名前を付けてシリーズ化します。 シリーズ最初の回路 RRP1320-1 は下図の予定です。

RRP1320-1_回路図


表示器としてLCDを採用し、タイマーやスイッチ、温度センサー、赤外線リモコンと言った入力をトリガーに FET 出力を作り出します。 LCD制御や、赤外線リモコンなどの制御をゼロから学ぶのではなくて、初めは動作確認されたプログラムを使い、その機能と他の入出力を結びつけるプログラムを自作するだけで「目に見える成果を出せる環境」を提供することで支援したいと思います。 そして、公開されているソースを見て、あるいは一部を変更して結果を確かめながらLCD制御や赤外線リモコンの制御も自作できるようになると思います。 

アセンブラは他の人が作ったソフトウェア資産を活用し難いと思いますが、同じハードウェアであれば再利用可能な形で提供できると思います。 例えばLCD制御はデータ・メモリーの所定の範囲(仮想V-RAM)に ASCII コードを書くだけで(見かけ)自動的にLCDに表示される機能を提供ます。 この仮想V-RAMは PIC18F1320 には無いけれど RRP1320-1 にはある SFR のような存在と言えそうです。 既に「LCDに自動転送」と言う記事で機能を確認済みですが、少しでも利用しやすいように調整中です。

RRP1320-1_1

以下のサイトでは、部品表やブレッドボード配線図、プログラムの使い方など詳細なドキュメントと一緒にプロジェクト一式をダウンロード可能な形で提供しています。

rrpdlc



以下は関連記事のインデックスにします。

RRP1320-1-01 概要 
 一部をブレッドボードに実現して、所定のデーター・メモリーの内容をLCDに自動転送するプログラムを作りました。 データ・メモリーの所定の範囲(仮想V-RAM)に ASCII コードを書くだけで(見かけ)自動的にLCDに表示される機能を提供ます。

RRP1320-1-02 概要 
  RRP1320-1-01 に赤外線リモコン受信機能を追加して、RRP1320-1-02 を作りました。 赤外線リモコンを受光するとLCDの2行目に受信コードを表示します。 登録できる赤外線コードは16個、これに登録外の場合も合わせて17個のサブルーチンを準備して、赤外線リモコン受信の都度、17個の中のどれかをサブルーチン・コールします。

RRP1320-1-03 概要 
 「汎用タイマーの構想」に基づいて、RRP1320-1-03 を作りました。 内臓クロックを使ったタイマーですから、3%程度の誤差があるとは思いますが、使える場面が多いと思います。 プレタイマー、イベントタイマー、イベントピッチと言った時間や、繰り返し回数と言った定数は所定の範囲内で変更可能です。

RRP1320-1-04 概要 
 RRP1320-1-03 に温度制御機能を追加しました。 パン作りのイースト発酵などに応用出来そうです。 温度制御用に加温用と冷却用の出力を準備しました。 各々 EEPROM に保存した温度を超えると動作します。


楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。





ダウンロードコーナー
記事検索
アンケートに御協力下さい


アーカイブ
楽々PIC 宛てBlogMail


--- ご了承下さい ---

注意して記事を書いていますが、記事及びリンク先の情報による不利益について、一切責任を負い(負え)ません。
QRコード
QRコード
アクセスカウンター

    Atsuhiro Imai

    バナーを作成


    プロフィール

    jyosou_robot

    • ライブドアブログ