电流表?不是电压表?
只有数码管远远不够,必须有带AD转换功能的单片机,并且会单片机编程。

或者使用ICL7107和数码管做一个200mV的数字表头。
再买一个合适的大功率取样电阻。
把取样电阻串联在要测量电流的回路里,用表头测量取样电阻上的电压,调试一下即可。
STC12C5A60S2本身带有AD转换模块,是10位的,而ADC0809是8位的,要它干什么?
并且若用ADC0809测5V电压,只能精确到0.02V,要小数点后3位有何意义?
我只有STC12C5A60S2 AD采集子程序,串行显示部分没作过
void adchange()//4
{
ADC_ConTR=ADC_ConTR|0X80; //10000000 开启转换电源
//延时,等待内部电源稳定,同时调节采集周期

Delay_US(m);//500 US每次m=166 200US对应61 100us每次应改为27 50US对应9
P1M0=P1M0|0X03; //设置p1.0和P1.1所在通道为开/漏模式
P1M1=P1M1|0X03;
ADC_ConTR=0xe0; //11100000 开启P1.0通道开始转换
Delay_US(m); //延时一端时间,使输入电压达到稳定
ADC_RES =0x00; //清A/D转换结果寄存器
ADC_RESL =0x00;
ADC_ConTR |= 0x08; //ADC_START=1,开始转换
while(!(ADC_CONTR&0x10)); //0001,0000 等待A/D转换结束
temp1=ADC_RES; //读取转换结果,共10位 高8位

temp2=ADC_RESL;//读取转换结果,共10位 低2位
ADC_ConTR=ADC_CONTR&0xe7; //将ADC_FLAG软件清零
P1M0=P1M0&0X00; //设置P1口为普通I/O模式,以便用P1口显示数据。
P1M1=P1M1&0X40;
}


