何か代わり映えのしない基板がまた一つ・・・

デジタル・アナログ・内蔵モジュール等の基本的な実験用基板

デジタルI/Oの実験、アナログI/Oの実験、
その他内蔵モジュールの基本的実験
これらの基本的な挙動を見てみたくて作製する事にしました。
もちろんPICキットでも実現可能ですが、ディスプレイが予め装着されている方が、思い付きですぐ実験できるので、LCD付き基板とする事に。
そしてI/Oピンも多数引き出せる様に。
一言で言えば、LCD付きPICキット28ピンCPUモジュールと言った構成です。
もちろんPICキット周辺モジュールが接続可能となるように。
システムクロックは汎用性を持たせるためPICキットとの互換性はありません。
左記画像から見ても解りますが、「南波君」の基板構成を転用しています。
何と同じ様な基板が、これで3枚揃った事になりました・・・

↑ 実験基板回路図




↑ 実験基板結線図(秋月B2基板)
基板の上(部品面)から見た図
実線はメッキ線による裏面配線
点線はピニール線やメッキ線による表面配線で全長は記入されていない




↑ PORTAのピン配列
 2列の曲ピンを使用
 上段がデータピン
 下段がGNDピン
 データピン1つに付きGNDピン確保




↑ 基板右側面
 電源出力ピンも2列で、
 上段が+、下段がGND




↑ 基板上面
画像中央のPORTBも2列のピン使用
左側のICSPポートは1列のピン



↑ X’TAL挿入ソケット

 ここだけ細ピン用ソケットを使用
 左側のジャンパピンでOSCピンと接続
 その際はRA6-7ピンは使用不可
PIC汎用I/O実験基板の製作

目標
1)ディスプレイが装着済みの事
  必然品なのに、度ごとにポートへの着脱すら面倒なのでLCD固定式とする
2)ICSPポートがある事
  できればPIC書き込み用PCに接続しっぱなしにしたい
3)PICキット周辺モジュール基板がそのまま装着できる事
  実験の簡便さが広がります
4)X’TALはソケットに挿入可能で、システムクロックに柔軟性を持たせる事
  もちろん内部発振の際はI/Oピンとして使える事
5)I/Oピンが1ピンずつ個別に使用し易い事
  各I/Oピンに専用GNDピンを用意
  DACやADC、NCO等の1ピン入出力を扱いやすくする
6)I/Oピンが4ビットあるいは8ビット単位で使用できる事
  バイト単位の実験も可能とする

以上、各種内蔵デジタルI/O、アナログI/Oの実験がやり易くなる事を目指し、ぐうたらな当局でも、何か思い付いた時に、少ない手持ち時間でも、すぐに実験可能となるかなと思った・・・

と言う訳で、左記の回路図を秋月のB2基板に乗っけました。
LCD接続のポート確保のために28ピンPICを使用します。
今回は安価で多機能なPIC16F1716を使用しています。
もちろん、他のPIC28ピンでもOKです。
RAポート、RBポートをフリーな入出力ピンとしました。
RCポートをLCDとの接続に、デバッグ用LEDにも接続
I/Oピンは2列の曲ピンを使用し、1つのI/Oピンに付きGNDピンが確保とPICキットとの互換性を考慮しました。

LCDは当局内でたくさん在庫のあるSC1602Dを使用しています。
秋月等で販売されているSC1602Bとは電源ピンの極性が違いますので要注意
また、SC1602Bにはバックライト用LED用のピンがありませんので、LCDモジュール基板上で配線します。
SC1602Dでも同じ事が可能です。
その点を注意すればSC1602BでもOKです。
ソフトウエア上の差異は無いと思います。

↑ 28ピンのPIC16F1716

ピン数が多くなると、着脱注意です。
慎重に行わないとピンを曲げてしまう

ソケットにハメてしまえば、20ピンPICとさほど違和感が感じないかな?
PIC16F1716 補足事項

取り合えず表記28ピンPICを挿入する事に。
以前に秋月電子で0.16Kで購入していた、28ピンの8bitPICです。
安価な割にPIC16F1705/9より多機能でI/Oピンも格段に多くなります。ピン数が多かったので、今まで出番があまり無かった。
逆に、パラレルLCDや7セグLEDを駆動しても有り余るI/Oピン数が特徴です。
RA0~7、RB0~7、RC0~7が自由に使用できます。
ADCは10bitで今まで通り
MSSPモジュールは今まで道理
DACは8bitのDAC1、5bitのDAC2の2種が内蔵
OPアンプも2ch内蔵
何と20bitのNCOモジュールも内蔵されています。
その他不明な (^_^;) 内蔵モジュールてんこ盛りです。
さらに、日本語マニュアルも公開されています。
アマチュア無線家にとってお得で楽しそうなPICマイコンです。

このPICは16F1705の拡張版と言った所で、各種レジスタも同じ様な配置となっているようです。
①コンフィグレーション・レジスタは同じで、1705/09と同様に設定
②ICSP関連接続ポートは、まるで違うので注意
 VppはRE3でRE3はこれ以外で使い道は無いようです。
 よって、TRISやANSEL等の設定は不要の様です
 (汎用入力となっているが、設定行うと何故かコンパイラエラーが出る・・・)
 CLKはRB6、DATはRB7となります

↑ 基板の各電極

基本ライブラリファイルの初期設定

必要な情報はSC1602LCDに表示します。
よって、パラレルLCDライブラリを基本装備とします。
XC8 SC1602ライブラリの詳細については別項を参照して下さい。

(1)SC1602 4ビットパラレルLCDライブラリ Ver1.0

 1)SC1602ヘッダーファイルのマクロによるI/Oポート設定
  下記の用にヘッダーファイルを変更します
   #define DB7 LATCbits.LATC7 // DB7 書き込みポート
   #define DB6 LATCbits.LATC6 // DB6 書き込みポート
   #define DB5 LATCbits.LATC5 // DB5 書き込みポート
   #define DB4 LATCbits.LATC4// DB4 書き込みポート
   #define DR7 PORTCbits.RC7 // DB7 読み込みポート
   #define DR6 PORTCbits.RC6 // DB6 読み込みポート
   #define DR5 PORTCbits.RC5 // DB5 読み込みポート
   #define DR4 PORTCbits.RC4 // DB4 読み込みポート
   #define ENA LATCbits.LATA3 // イネーブル(E) ポート
   #define R_W LATCbits.LATA2 // R/W ポート
   #define R_S LATCbits.LATA1 // R/S ポート
   #define TR7 TRISCbits.TRISC7 // DB7ポートのI/O設定
   #define TR6 TRISCbits.TRISC6 // DB6ポートのI/O設定
   #define TR5 TRISCbits.TRISC5 // DB5ポートのI/O設定
   #define TR4 TRISCbits.TRISC4 // DB4ポートのI/O設定


(2)MSSP1のポート設定の注意点
  PPSによるI2CバスはRB,RCポートに設定可能の様です
  この基板ではRCポートはLCD専用となっていますので、
  PPSによるI2Cバス設定はRBポートのみとなります。
   I2C入力設定
    SSPCLKPPS=08H(RB0)
    SSPCLKPPS=09H(RB1)
    SSPCLKPPS=0AH(RB2)
    SSPCLKPPS=0BH(RB3)
    SSPCLKPPS=0CH(RB4)
    SSPCLKPPS=0DH(RB5)
    SSPCLKPPS=0EH(RB6)
    SSPCLKPPS=0FH(RB7)

    SSPDATPPS=上記と同じ

   I2C出力設定
    RB0PPS=10H(I2Cクロック設定)
     RB(0-7)PPS=10Hと言う事
    RB1PPS=11H(I2Cデータ設定)
     RB(0-7)=11Hと言う事
  ※I2Cクロック入出力は同じポートを指定する事
   I2Cデータ入出力は同じポートを指定する事

(3)NCO出力ポート設定の注意点
  PPSにより設定はRA,RCポートですが、同様の理由によりRAのみ
   RAxPPS=03Hと指定

(4)ピン割り込み設定
  PPSによる設定はRA,RBポートが可能

(5)タイマ関連
  T0CKIはRA,RB
  T1CKIはRA,RC指定可能もRCは不可
  T1GはRB,RC指定可能もRCは不可

(6)アナログモジュール
  OPアンプやDACはRA,RBポートに配置されており、時に問題無い

(7)その他
  RCポートが使用不可のため、セカンダリ・オシレータピンが使用不可
  LEDがRC0ポートに接続されています。
  ポートに対して電流入力です。
  適当な名前でマクロ設定しておくと便利です。





感想

簡単に製作できる単純な基板なのに、何かワクワクします
2列のI/O接続用曲ピンは、なかなか使い勝手が良さげです~
PICキットCPU基板もこの2列方式が良かったかも・・・
でも場所を取るのが難点で、14ピンCPU基板では無理な気がします。

さ~て、何して遊ぼうかな (^^♪

戻る  実験・製作の記録TOPへ戻る