前言
将ADC转换后的电压值,显示在四位数码管上。
一、初始化 ADC,并转换
请参考:STC8A系列单片机ADC的使用
二、数码管动态显示电压值
1.数码管动态显示原理
1.74HC595芯片应用
2.数码管动态显示实现
2.显示电压值
代码如下(示例):
void SMG_Show()
{
number=xiaoshu*1000; //xiaoshu是ADC转换后的电压值
qian=number/1000;
bai=number/100%10;
shi=number/10%10;
ge=number%10;
if(smg_count==0)
{
S1=0;S2=1;S3=1;S4=1;
write595(tab[qian]&0x7F); //添加小数点
}
if(smg_count==1)
{
S1=1;S2=0;S3=1;S4=1;
write595(tab[bai]);
}
if(smg_count==2)
{
S1=1;S2=1;S3=0;S4=1;
write595(tab[shi]);
}
if(smg_count==3)
{
S1=1;S2=1;S3=1;S4=0;
write595(tab[ge]);
}
smg_count++;
if(smg_count==4) smg_count=0;
Delay4000us();
}
这里将电压值(小数)乘以1000,分别取出千位,百位,十位,个位扫描显示,在千位后面添加小数点,其他原理与“数码管动态显示实现”类似。
总结
以上几个工程结合即可实现 ADC 电压数据转换与显示