R8C/1BでA/D変換


概要

R8C/1Bには、4本のA/D変換入力ピンがあり、これらのピンの入力を10bitまたは8bitでA/D変換できます。
変換は、単発モード(条件を満たした時に1回だけA/D変換をする)と、繰り返しモード(変換を開始すると、終了させるまで自動で何回もA/D変換する)があります。
関係するレジスタの使用するビット
変換器のクロックについて
A/D変換器はクロック入力を必要とします。そのクロックを、CKS1,0ビットで選択しますが、これによって選択されるクロックは、10MHzでなくてはならず、さらに、SMPが1のときは1MHz以上, 0のときは250kHz以上に設定する必要があります。CKS1,0ビットが00,01,10,11の時、クロックはそれぞれ、f4,f2,f1,fRING-fastが選択されるので、適切に設定してください。

単発モードでのタイマZを使った特定のピンの電圧の自動変換

adcon1 = 0b00100000;    //8bitモード選択
adcon2 = 0b00000001;    //高速変換
adcon0 = 0b11110100;    //AN8入力 / 単発モード / タイマZ割り込み要求で変換開始 / クロックはf2

//--- タイマZの設定例 ---
tzmr = 0b00000000;
prez = 0;
tzpr = 27;
tzoc = 0b00000100;
pum = 0b00000000;
tcss = 0b00110000;
tzmr = 0b10000000;
    
以上の設定で、AN8(P1_0)入力が自動で繰り返しA/D変換され、adレジスタに結果を格納するようになるはずです。 この設定では、タイマZ割り込み要求が発生しますが、割り込みレジスタの設定をしない限りは割り込みが無効になるので、実際の割り込みは発生しません。