CPU のソフトウェアー仕様

CPU には、PIC16F873/20 を使用します。
このCPU は、1CH のA/D コンバータを内蔵( #2 pin RA0 )しており、このA/D コンバータを使用して、RIT機能を実現しています。

表示は、秋月で売っているLCD 16文字2行表示のSC1602BSLB を使用しています。
写真は、RIT スイッチ ON のときの周波数表示です。
RIT 機能のためにCPU には、送信受信の判別信号を#6pin RA4に入力する必要があります。(受信時H ,送信時L)
#7pin RA5 が L でRIT ON 、H で RIT OFF となります。
RIT ON のとき、#2pin RA0 のDC電圧によって、RIT周波数が可変します。(±約5kHz)
RIT 機能のためにプログラム上では、ロータリーエンコーダからのパルスをカウントするカウンターを2つ(メイン、サブ)持っています。
RIT OFF では、メインカウンターとサブカウンターは、同じ値です。
RIT ON では、RA0 に接続されているRIT ボリュームのDC値をA/Dした値がサブカウンターに加算されます。
RIT ON で送信状態のときは、メインカウンターの値が読み出されます。受信状態の時は、サブカウンターの値が読み出されます。

周波数ダイアルには、秋月で売っている1回転24パルスの機械式ロータリーエンコーダ( @\200 )を使用しています。
機械式のため、チャタリングが発生しカウントミスを起こしますので、プログラムでは、1mS の間隔でパルスを2度読みしています。
1パルスあたりの周波数可変ステップは、#24pin RB3 , #25pin RB4 にて制御します。
RB3 が L、 RB4がオープンのとき400Hzステップ 、RB3 がオープン、RB4 が L のとき、10KHzステップ、RB3,RB4ともにオープンで40Hz ステップとなります。

#21pin RB0 は、パワーON / OFF 制御で、L でON、オープンでOFF( CPU スリープ状態)となります。
パワーOFF(スリープ)処理の直前にその時点の周波数データをメモリーにセーブし、次回パワーON時に周波数データをメモリーから読み出し、OFF前の周波数で動作を開始します。
なお、パワーON/OFFスイッチにパラに入っている10μのケミコンは、スイッチのチャタリングで周波数がうまくメモリーできないことがあったため、挿入しています。(RB0 は、シュミットトリガタイプの入力端子ですので、このケミコンと内部のプルアップ抵抗との時定数で波形整形されます。)
#14pin RC3 は、このパワーON/OFF 制御に同期して、H/L を出力します。この信号を利用して他の回路の電源をON/OFFすることが出来ます。(パワーON で H 、パワーOFF で L を出力)
周波数データは、#3 RA1 、#4 RA2 、#5 RA3 からそれぞれ シリアルクロックSCLK、シリアルデータSDT 、ストローブSTRBとして出力されます。
周波数データは、VXO 用のD0~D7 までは、バイナリ、M145163P 用のD8~D23 は、BCDコードとなっています。
データの送出タイミングを下記に示します。

データは、シリパラ変換回路に入力されます。シリパラ変換回路でデータは、SCLKの立ち上がりで順次シフトされ、24bitそろったところで出力されるSTRB信号の立ち上がりでラッチさて、パラレルデータとなります。

CPU の接続図

尚、プログラムについては、非公開とさせていただきます。