标题: 给单片机引脚一个2.5v电压,通过内部AD和公式计算出数值 求分析程序 [打印本页]

作者: 如痴百感生    时间: 2019-8-29 16:34
标题: 给单片机引脚一个2.5v电压,通过内部AD和公式计算出数值 求分析程序
给单片机引脚一个2.5v电压,通过内部AD装换和公式计算出一个数值,用数码管显示出来,但是没有反应,能不能帮我看看

作者: csmyldl    时间: 2019-8-29 18:46
ADC_Read()函数所得到的值需放在一个变量中,主程序的ADC_Read();应改为 AD_zhi=ADC_Read();然后对AD_zhi处理. 程序中虽然用到全程变量temp可传递转换值,这样不显示的原因主要是扫描显示程序不正确,m++未判断加的上限,可以把m++改成n++;m=n%2;后面加一定的延时,使之显示能看得到,另外段码输出和位码输出均直接IO口有些不妥
作者: wulin    时间: 2019-8-29 21:34
本帖最后由 wulin 于 2019-8-30 04:30 编辑

#define VCC_V  5                        //宏定义电源电压5V
unsigned int ADC_RESX;               //10位ADC转换结果
unsigned int ADC_V;                   //ADC mV      
unsigned char data dis_buf[4];      //显示缓存


ADC_RESX=512;                        //模拟ADC转换结果512
ADC_V=(VCC_V*(long)ADC_RESX*10000/1024+5)/10;        //强制转换数据类型(32位)运算,得到(4舍5入)mV

dis_buf[0] = ADC_V/1000%10;//千
dis_buf[1] = ADC_V/100%10; //百
dis_buf[2] = ADC_V/10%10;   //十
dis_buf[3] = ADC_V%10;       //个

作者: 如痴百感生    时间: 2019-8-30 13:41
csmyldl 发表于 2019-8-29 18:46
ADC_Read()函数所得到的值需放在一个变量中,主程序的ADC_Read();应改为 AD_zhi=ADC_Read();然后对AD_zhi处 ...

非常感谢 我弄出来了  
作者: 如痴百感生    时间: 2019-8-30 13:42
wulin 发表于 2019-8-29 21:34
#define VCC_V  5                        //宏定义电源电压5V
unsigned int ADC_RESX;               //1 ...

谢谢你的指导,结果出来了  




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1