单片机ADC测大于5V的电压程序怎么写

单片机ADC测大于5V的电压程序怎么写,第1张

不知道你所测量的电压信号是什么,就是那个被测电压是从哪来的,是从什么传感器来的,还是什么电源的电压。要是传感器的信号,你这么做是不行的,等于给传感器加了负载电阻了,电阻只是11K,那会把传感器的电压拉下来的,就不是实际的电压了。要是电源还可以,能带11K的负载。就算是电源电压的话,那两个分压电阻最好还是大点,避免负载电阻将电源电压拉下来,而且选的阻值正好是1:10呀,如R1=90K,R2=10K,这样:U1=((R1+R2)/R2)U2=10U2。而你的电阻取值,计算时是带小数的,计算就会有误差了。如果测量的是传感器的信号,先测量一下不加电阻时的电压是多少,再测加了电阻后的电压是多少,看电压是不是被拉下来了。

可以使用一个内部带A/D的单片机来完成这个检测。如果你对51单片机很熟,可以使用STC12C52XXAD系列单片机,它内部带一个8位的AD转换器,检测电压范围0~5V,最多可以有8个通道,而且该芯片价格也不算贵,只要几块钱而已。

主芯片确定下来了,其它的就很简单了,自己外围搭个显示电压电路,再写个AD采集及显示的程序就OK了。

子设备中,经常要检测各种模拟量:温度、压力、速度、流量、重力加速度等等,这些模拟量都被相应的传感器转换为电压信号,我们只需要测量电压的高低,就能得到相应参数。AD的主要参数有哪些?1、AD的位数:表明这个AD共有2^n个刻度,8位AD,输出的刻度是0~2552、分辨率:就是AD能够分辨的最小的模拟量变化,假设510V的系统用8位的AD采样,那么它能分辨的最小电压就是510/255=002V。3、INL:Interger NONliner 积分非线性度,表示了ADC器件在所有的数值点上对应的模拟值,和真实值之间误差最大的那一点的误差值。也就是,输出数值偏离线性最大的距离。单位是LSB(即最低位所表示的量)。比如12位ADC:TLC2543,INL值为1LSB。那么,如果基准4095V,测某电压得的转换结果是1000,那么,真实电压值可能分布在0999~1001V之间。4、DNL:Differencial NonLiner-差分非线性度,理论上说,模数器件相邻量个数据之间,模拟量的差值都是一样的。就相一把疏密均匀的尺子。但实际并不如此。一把分辨率1毫米的尺子,相邻两刻度之间也

假设单片机电源电压33V,这就是基准电压(一般单片机是这样),ADC是10位的,满量程设为VM。由于没法自己测量自己的电压,需要一个参考电压,比如接一个2V稳压管,测量稳压管上的压降,设为VZ。当VZ>2VM/36时,单片机电源电压大于36v了。

这个嘛 大体上是这样的

1 准备一个带有ad的单片机

2 用两路ad采样通道 ad0和ad1

3 ad0 接被测电阻的一端 (假设是高压端)

ad1接被测电阻的另一端(假设是低压端)

4 程序弄好

5 程序功能是:ad采样电阻两端的电压值 然后单片机计算压差 然后把压差显示到led上 这个显示就是电阻的电压值了

也很简单的

以上就是关于单片机ADC测大于5V的电压程序怎么写全部的内容,包括:单片机ADC测大于5V的电压程序怎么写、单片机电压检测、能给一个pcf8591测电压的程序代号详细说明吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10109285.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存