denshikobo’s blog

PICプログラミングやPCの操作で感じた日々の由無し事を綴ります

PIC_colo_miniでDAC_ADCサンプルが動いた

PIC_colo_miniで提供するサンプル・プログラムは以下の6種です。

(1)Blink(Lチカ)
(2)sw_operation
(3)dac_adc
(4)pwm
(5)EEPROM
(6)Flash_Memory

 

2011年頃にやったDebug Expressのチュートリアルとほぼ一緒の構成です。その辺りのことはこちら(↓)をご覧下さい。

https://broadbeans.blog.so-net.ne.jp/archive/20110518

 

ただし、Debug Expressのチュートリアルとは異なり、PIC_colo_ConsoleとPIC_colo_Debuggerの使用を前提としているので色々違いがあります。一番大きな違いは、Common_Frame(↓)を使ってプログラムの動作を確認するところです。

f:id:denshikobo:20180824113529p:plain

Value欄の表示はHexバイト配列になっていて、dacの初期設定が0x10(フルスケールの半分)のとき、adc_average(1024回の平均値)が0x01fe(フルスケールの半分)になることを示しています。

 

f:id:denshikobo:20180824113544p:plain

dacValue欄を0x18に変える(TextFieldの値を編集する)と、Common_Frameは変数dacに0x18を書き込むコマンドを送ります。PIC_colo_Debuggerがそれを受け取り、変数dacに0x18を書き込みます。DAC_ADCプログラムは変数dacの値をDACCON1レジスタに設定し、AD変換と平均値の計算を反復して、変数adc_averageの値が0x02fe(フルスケールの3/4)に変わります。

dacの値を0x00から0x1fまで書き換え、変数dacの値に応じて変数adc_averageの値が変わることを確認します。

 

 Value欄をもっと気の利いた表示(adc_averageを電圧で表示するとか)に出来ると良いのですが・・・

 

Common_Frameでは出来ませんが、応用アプリケーションで使うCustom_Frameは、Value欄に表示パラメータ(スケーリングと単位表示)を設けて、PIC_coloユーザがValue欄の表示を容易にカスタマイズ出来るよう配慮しています。