前回のPIC16F88にはオペアンプが余計だったが、今回はオペアンプ内蔵のPIC16F785を利用してすっきりさせた。これ以上省けるパーツはLCDコントラスト調整用半可変抵抗ぐらいかも。

PIC16F785はプログラム領域が少ないが、独立したオペアンプが2つ内蔵されていて、販売価格がPIC16F88の約6割(秋月電子調べ)、コストパフォーマンスが良さそう。

今回、PIC16F785の20ピンのうち、1番ピンの電源、20番ピンのGND以外に、LCD表示用に必要最低限の6本、オペアンプ用の3本、周波数入力用1本、オペアンプからの入力1本、計13本を使った。

クロックに内蔵の8MHzを利用している。AMラジオの周波数表示には精度的&安定度的に十分だろう。AMラジオの周波数上限は約1.6MHzだが、内蔵クロックでも10MHzまでは安定的にいけそう。

さて、PIC16F88と違ったところだけをピックアップしておこう。

<A/D変換>
 回路図では配線が遠回りに書かれているが、オペアンプに最も近く、A/D変換としても使える15番ピン(AN5)を採用。
 ANSEL0 = 0x20 = 0b00100000
 ANSEL1 = 0

<オペアンプ>
 内蔵のオペアンプ1をボルテージフォロワとして利用。
 OPA1CON = 0x80 = 0b10000000
 OPA2CON = 0

<各ポートの入出力(計11本)>
 Aポートでは、入力 RA5(2番ピン、周波数入力)
        出力 RA1(18ピン、LCD-RSへ)
        出力 RA2(17ピン、LCD-Eへ)
 Bポートでは、出力 RB4(13ピン、LCD-RB7へ)
        出力 RB5(12ピン、LCD-RB6へ)
        出力 RB6(11ピン、LCD-RB4へ)
 Cポートでは、入力 RC1(15ピン、オペアンプ1出力からのA/D変換用)
        入力 RC6(8ピン、オペアンプ1のー側入力)
        入力 RC7(9ピン、オペアンプ1の+側入力)
        出力 RC2(14ピン、LCD-RB5へ)
        出力 RC3(7ピン、オペアンプ1の出力)

これら11本のうち、RA5, RC7, RC6, RC3はPIC側の都合で決めたが、残りは配線の都合で適当に決めた。

なお、SメータはLCDの2行目16文字幅をフル活用した。A/D変換値が100~200と仮定してある。

回路図

785-Freq.BMP

ソースプログラム

785-Freq.c(SJISコード、開発環境 mikroC PRO for PIC Liteモード無償版)。

HEX ファイル

785-Freq.hex

110828-4.jpg 110828-3.jpg 110829.jpg

Comments are closed.

Post Navigation