PIC18F14K50の基本動作から応用プログラムまでを学びます。

ホーム
16F18313
16F18325
16F18346
16F1619
Curiosity
---
---
    
12F1822
16F1455
16F1459
18F14K50
18F26J50
dsPIC
その他
CQ出版社 デジタル周波数シンセサイザの制御

CQ出版社発行の「 デジタル周波数シンセサイザ基板」はすぐに使えるのですが、動作させるためには、PCを接続しなければなりません。この基板は、デジタルシンセサイザIC(DDS)のAD9834で正弦波の発生させ、DDSの制御には、18F14K50を使用しています。 50Hz~20MHzまで、ひずみの少ない確度の高い正弦波が簡単に出力できます。ただ、最大の欠点は、その制御にPCの通信ソフト(TeraTerm)を使用しなければならないことです。

18F14K50のソフトウエアを書き換えただけで、ハードウエアには全く変更していない、PCなしで動作するスタンアロン発信器を作りました。オーディオ周波数での使用を主に考えていたためDDSからの出力をステレオジャックに取り出し、周波数は、ロータリーエンコーダで変更します。出力している周波数は、I2C接続のLCDに常時表示しています。

操作のための、ロータリエンコーダとタクトスイッチ2ヶ、I2C接続のLCD、出力を可変する半固定抵抗等が直接シンセサイザー基板に接続されており、外付け部品数は最小限です。性能が高く、大変に使い勝手の良い、周波数発生器が大変安価で完成しました。

デジタル周波数シンセサイザ基板から3.3v電源が、コネクターピンに出ていません。苦肉の策でRB4のデジタルポートを常にロジックHiとして、I2CLCDの電源にしています。 また、I2C用のMSSP端子が他で使用されているため、ソフトウエアでI2Cの信号を作り、RC1とRC2ピンを使いLCDを制御します。
Rotary Encjorder、COM-10596, は、小さな筐体に機能が満載されています。透明なノブは、Push SWと緑・赤LEDが組み込まれています。 このプログラムでは、ノブのPushSWで出力のON/OFFを制御し、ONのときには緑LEDが点灯します。

プログラム

このプロジェクトは、HIDブートローダ専用です。
デジタル周波数シンセサイザ基板のPICに、あらかじめブートローダが書き込まれている必要があります。ブートローダが書き込まれていることを確認したのちに、下記Zipファイルに同梱されている DDS_MNL_Only.hex を、マイクロチップ社の HIDBootloader でシンセサイザのPIC18F14K50に書き込んでください。

プロジェクトファイル: DDS_MNL_Only.zip