蓝桥杯小技巧之电压值显示
【摘要】 @TOC 前言本篇文章主要带大家学习一下如何在数码管上面显示出电压的小数形式。 一、赛题这里要求我们显示的电压是以小数形式出现,很多小伙伴就可能不懂了。这里给大家介绍一个小方法。 二、转换方法我们知道蓝桥杯单片机的AD分辨率是8位的,所以他的量程就是0到255。但是我们的电压又是0-5V这就要有一个转化的过程了。数码管上显示的电压值为小数占了数码管的3个位置,这个时候我们就先把5V电压先写成...
@TOC
前言
本篇文章主要带大家学习一下如何在数码管上面显示出电压的小数形式。
一、赛题
这里要求我们显示的电压是以小数形式出现,很多小伙伴就可能不懂了。这里给大家介绍一个小方法。
二、转换方法
我们知道蓝桥杯单片机的AD分辨率是8位的,所以他的量程就是0到255。
但是我们的电压又是0-5V这就要有一个转化的过程了。
数码管上显示的电压值为小数占了数码管的3个位置,这个时候我们就先把5V电压先写成5.00V。
现在我用255x2发现结果是510在5后面加上一个小数点我们惊奇的发现是5.10接近5V这个时候我们的思路就来了话不多说看代码。
unsigned char Rb3_vol=0;//AD采样Rb3的值(0-255)
unsigned char Rb3_volt=0;//转换好的电压值(0-5V)
Rb3_vol=Read_ADC(0x03);//AD值
Rb3_volt=Rb3_vol*1.96+0.2;//电压值
上面的操作我们就可以得到我们想要的值了,大家可能会问了刚刚不是说2吗为什么又变成1.96了。因为2造成的误差太大了需要改小一点,为什么又要加个0.2呢?这是为了消除误差加的,2551.96=499.8还没有到500所以我们给加上0.2。
注意点:我们在显示的时候需要在百位后面加上一个小数点这就是我们想要的结果了。
总结
这个方法对于不太清楚AD转换关系的朋友很友好,大家可以实践操作一下。感谢大家阅读,喜欢的朋友点个赞。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)