单片机ad转换代码

 我来答
帐号已注销

2020-11-10 · TA获得超过7055个赞
知道大有可为答主
回答量:2万
采纳率:23%
帮助的人:646万
展开全部
1、什么是AD转换
A是模拟信号的意思,D是数字信号的意思,AD转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号,例如把电压值转化为数字信号。

2、为什么要AD转换
单片机(以及其他处理器)只能处理数字信号,当单片机想要获取电路上某一点的电压值时,就得用到AD转换了,如果你直接把单片机的引脚接到电路这个点上,单片机只知道这个点的电压是低电平还是高电平,又怎么能得到他的电压值呢?例如数字式的万用表,它测量电压时,先有一个AD转换电路,把电压值转换成一个数值,然后把这个值送个单片机(当然万用表里的用的处理芯片不是单片机),单片机经过计算处理后,再把这电压值显示到显示到屏幕上。
不过现在有一些比较强的单片机,其内部已经集成了AD转换器,不需要你再外接AD转换芯片。

3、8位16位的ad转换芯片是什么意思
8位,16位就代表了AD转换芯片的转换分辨率,数字越大,分辨率越高,同时也反映了它的精度,数字越大,精度相对也越高。8位算是最低了,有些单片机里集成的AD转换器一般是10位的。12位和16位的芯片价格就比较贵了。

4、分辨率
举个简单的例子,8位芯片只能转换最小到0.01V的电压,而12位的芯片却能转换最小到0.001V的电压,如果一个电压为3.359V,8位芯片转出来后的数值是3.35V,12位芯片转换出来后是3.359V,精度比8位就高一个档次了。(注:这里数值不是正确的数值,举例用,切勿实际使用)

5、采样
采样是AD转换的速度性能指标,通俗的说就是每秒里能采样多少次,采样次数越高芯片性能越好。如果对采样不理解,也可以用另一种方式理解,就是一个AD转换芯把电压值转换成数字值这个过程所需要的时间,时间越短越好。

6、精度
精度是AD芯片的一个重要参数,表示采集到的数据和真实值之间的相差的程度。
娱乐影视君
2020-11-10 · TA获得超过3902个赞
知道大有可为答主
回答量:1.7万
采纳率:92%
帮助的人:560万
展开全部
芯片采样回来后,是一个AD值。需要转换成想要的一些内容的话,要做表格。 如温度转换。首先要制作一个温度对应的AD表格。多大的值是多少度。 查表可以采用顺序法进行。 从表格的第一个开始查起,比第一个大时,再比较第二个,依次类推。每比较一次,将计数器累加一次。 比上一个大,比下一个小时,就是上一个温度点,此时,把计数器的值拿出来就是对应的温度值。 图要看芯片资料连接了,应该很简单的。重点不在算法,重点是会AD_init() 和AD_get(channel);
会初始化和启动AD转换并读取转换结果
至于换算是根据自己电路情况确定的,由于计算时采用过多的浮点型变量会占用较多内存,造成内存不足,因此有除法时常采用整形变量进行计算,运算时为了保持尾数不丢失,需把被除数扩大100倍或1000倍,如整数123/100=1,小数部分丢失了,为得到1.23这个结果,需把123扩大100倍,变成12300,12300/100=123.0,然后将小数点向左移2位(缩小100倍),即得1.23这就是定(小数)点计算
LedCtrl = LedCtrl & 0xdf大概就是一次选通一个数码管,7f df ef bf每次只有一位是0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2020-11-24 · TA获得超过5250个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:636万
展开全部
你用的什么 AD 转换器,先确定下来吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式