/************************************************** A/Dテスト RIKIYA 2000.12.02 adtest1.C H8-3048/F 4CHのアナログ入力をSCAN MODEでA/D変換しLED表示する。 sw1〜4で4chの入力表示を切り替える。 /**************************************************/ #include <3048f.h> /* メイン関数 **********************************************/ void main(void){ int ad_data; P1.DDR = 0xff; /*port1出力に設定 表示LED */ P4.DDR = 0x00; /*port4入力に設定 操作用sw1〜4*/ P4.PCR.BYTE = 0xff; /*port4プルアップon */ AD.CSR.BYTE = 0x33; /* SCAN MODE / CH0〜3 */ while(AD.CSR.BIT.ADF == 0){} /* 4CH分の変換終了を待つ */ while(1){ if(P4.DR.BIT.B4 == 0){ /* sw1の時 */ ad_data = AD.DRA>>11; } else if(P4.DR.BIT.B5 == 0){ /* sw2の時 */ ad_data = AD.DRB>>11; } else if(P4.DR.BIT.B6 == 0){ /* sw3の時 */ ad_data = AD.DRC>>11; } else if(P4.DR.BIT.B7 == 0){ /* sw4の時 */ ad_data = AD.DRD>>11; } P1.DR.BYTE = ad_data & 0x1F; /*上位5bit分だけ表示させる */ } }