nobchaの電子回路日記ブログまとめ

戻る  PIC12F683を使用した簡易カウンタの実験

2011.02.19

 

 はじめに 

  PIC12F683を使い実験を色々やって見ます。といっても今回取り組むのは以前に作ったものの移植です。TMR0とTMR1を使い、外部クロックを12.8MHzTCXOにして簡易カウンタをまとめます。

 

 試作機の仕様は 

 仕様は次になります。
項番 項目 詳細説明
 1 12.8MHzのTCXOを使用 外部クロックで動作させ基準クロック値とします。従って一命令サイクルは312.5nSとなる
 2 16ビットカウンタのタイマー1(TMR1)を使いゲートタイム作る 10m秒をゲート時間にします。(312.5μS*32000カウント)
 3 8ビットカウンタのタイマー0(TMR0)で入力周波数をカウントし256カウントでオーバーフローのとき加算していく TMR0入力の周波数応答向上のためTMR0プリスケーラを1:2に設定。早い周波数だと割込み処理時間が次のカウントアップに影響を与えるのでオーバーフロー監視する
 4 処理は割り込みで行う TMR0,TMR1カウントアップ割り込みする。TMR0のときは変数カウントアップ、TMR1の時はゲート時間終了でカウント値計算表示処理に移る
 5 MAPLAB+PICKIT2+HiTEC C MPLABV8.60 HiTECH C V9.71a
 6 表示は1602コンパチLCD(16文字2行)を使用 SL1602BSL8
  7 LCDインタ0フェイスはTC4040B経由 TC4040Bバイナリーカウンタにパルスを送り、RSと4ビット信号をQ1〜Q5に設定。PICポートからはEN信号を出す(2信号IF方式)

 

回路図 

 実験用回路としては既に実験に使い、半田付けしてモジュールとなっているICSPピンつきのCPU基板、およびTC4040BとSL1602を組み合わせたLCD基板を使用します。
 回路図中SC1602の接続ピン番に誤記があります。#7〜#10をずらして#11〜#14に読み替えて配線願います。

 回路図は水魚堂さんのBSchを使いました。また関連記号類も利用させていただきます。公開された作者さん達のご努力に感謝いたします。http://www.suigyodo.com/online/schsoft.htm

   

 

 実験 

  ICSPピンつきのCPU基板、TC4040BとSL1602を組み合わせたLCD基板をブ レッドボードに差し、残り回路を追加組み立てました。といっても2SK439使用のプリアンプ程度なので、簡単な配線です。試験用のクロック源が必要とな り、EXO3 16MHzを使いました。4MHzまでカウント可能でしたが、4MHzを越えると4.8MHzのところでカウンタが上がらなくなってしまい ます。

 

 

 

 

    

 

 プログラム 

 プログラムはMAIN部LED表示部に分かれています。TC4040B経由LCD表示は今まで実験して実績があり、ポートの番号をPIC12F683に合わせるだけで動きました。またdelay.h_lced_.hを引きこみ必要です。

 コンフィグ設定は(BORDIS & UNPROTECT & PWRTEN & WDTDIS & MCLREN & EC)とし、12.8MHzTCXOの出力をGPIO5端子に入力します。

 

 

 次はどうなる 

  以前に試作したPIC12F629使用簡易カウンタでは約2MHzまでしか測れませんでした。今回その原因判明。データ型の指定が悪かったようです。以前実験ではLCメータ用カウンタを意図しており、その場合せいぜい2MHz程度だったので、発見できませんでした。

 こうなるともう少し頑張って基板にまとめてちょっと実用的にも使えるようにしておきたいですね。

 

 

「ご 注意」 このWEBに掲載された内容(文面・回路・写真・プログラムなど)には著作権があります。無断転載やコピーは法律に抵触する場合があります。何か 疑義ある場合はお問い合わせください。また本WEBに掲載された実験や試作はnobcha個人の趣味で行っております。ここに示す結果の再現性や正確性は 保証するものではありません。あくまでも個人の趣味の範囲で参考にしてください。
PIC12FのTOPへ戻る       WEB目次へ 戻る アイコンは「牛飼いとアイコンの部屋」から借用しました  http://www.ushikai.com/
inserted by FC2 system