找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2968|回复: 4
收起左侧

给单片机引脚一个2.5v电压,通过内部AD和公式计算出数值 求分析程序

[复制链接]
ID:586438 发表于 2019-8-29 16:34 | 显示全部楼层 |阅读模式
给单片机引脚一个2.5v电压,通过内部AD装换和公式计算出一个数值,用数码管显示出来,但是没有反应,能不能帮我看看 1.PNG 2.PNG 3.PNG 实物搭建图.PNG
回复

使用道具 举报

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

使用道具 举报

ID:213173 发表于 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;       //个
回复

使用道具 举报

ID:586438 发表于 2019-8-30 13:41 | 显示全部楼层
csmyldl 发表于 2019-8-29 18:46
ADC_Read()函数所得到的值需放在一个变量中,主程序的ADC_Read();应改为 AD_zhi=ADC_Read();然后对AD_zhi处 ...

非常感谢 我弄出来了  
回复

使用道具 举报

ID:586438 发表于 2019-8-30 13:42 | 显示全部楼层
wulin 发表于 2019-8-29 21:34
#define VCC_V  5                        //宏定义电源电压5V
unsigned int ADC_RESX;               //1 ...

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表