【PIC12F1822】AD変換を使ってみる

2021年2月20日

■PIC12F1822のAD変換を使ってみる!
データシートのP133~145を参照しました。
仕様はチャンネルAN0で10bit変換に挑戦します。
10bitなので0~1023の変化量になります。

PIC12F1822のAD変換を使ってみる

設定方法

ADCON1レジスタでは変換の仕様が設定できます。
(データシートP140参照)
・「ADFM(B7)=1」→左詰め(P136)
・「ADCS(B6~B4)=100」→Fosc/4
・「ADPREF(B1,B0)=00」→基準は電源

ADCON1 = 0B11000000;(0xC0)
Fosc/4が限界でした。
①ADCON0レジスタでは使用するチャンネルが設定できます。
(データシートP139参照)
・「CHS(B6~2)=00000」→AN0
・「GO/DONE(B1)」→ステータスビット
・「ADON(B0)」→ADC有効ビット

ADCON0 = 0B00000001;(0x01)
右上の写真はハイパーターミナルでデバックしてるところです。
それぞれの実行時間は
・ADC:9usec
・BCD:113usec(AN526を使いました。)
・文字変換:3usec(左ニブルに3を付ける作業)
Total:125usecなのでなかなかの早さですね。
・USART
 ・9.6k:6.1msec(かかりすぎww)
 ・115.2k:385usec(まあまあかな)
間違ってたらゴメンネ!

回路図

よろしければバナーをクリックお願いします!