51单片机ad采样电压值网!

51单片机ad采样电压值网

趋势迷

51单片机ad采样电压值

2024-08-16 22:16:47 来源:网络

51单片机ad采样电压值

请问51单片机ad采集电压0-300v降压转变成0-5v范围内,降压部分原理图和程...
把300V电压,接到两个的电阻分电路上,电阻串联有分压作用。一端接地的电阻上分压为0~5V,假如电阻取10K,那么大电阻就应该是590K。电压分压比为300/5=60倍,所以,用AD采集0~5V电压,得到数字量,换算成电压为Ⅴd,再计算出被测电压Vx=60Vd。所以,写程序很简单,主要是A/D转换程序并转换为等我继续说。
通常是0-5V,对应于0-11111好了吧!1111(24位二进制)那么1V就是:3355443(十进制)。用读回来的值AD_data除以3355443,得到的整数部分就是0~5,即为电压的整数部分。把AD_data除以3355443的余数,再除以0.1V所对应的数值(请自己算一下),取整数将得到0~9,即为电压的第一位小数。……取多少位好了吧!

51单片机ad采样电压值

51单片机采集的AD值的转换程序问题? -
0~2.5V,对应于AD_data = 0~11111后面会介绍。1111(24位二进制);那么1V就是:6710886(十进制)。用24位值AD_data除以6710886,得到的整数部分就是0~5,即为电压的整数部分。再把刚才除得的余数,再除以10,取整数将得到0~9,即为电压的第一位小数;余数,再除以10,取整数将得到0~9,即为电压后面会介绍。
把你计算采集电压的公式贴出来看看。unsigned int num1;unsigned char ge,shi,bai;num1 = ((num1 * 5.0) / 255.0) *100;bai = num1 / 100;shi = num1 %100 / 10;ge = num1 % 10;把你的程序改为这样试试。
怎样把51单片机读回来的AD值转换成电压值? -
感觉一般16位AD采样就足够了另外串行数据24位转化为10进制的不难的就是一个24位的二进制转化为10进制即可比如data=A*2exp23+B*2exp22+希望你能满意。+Z2exp0;然后通过查data的字模或者液晶自带的cgroom将十进制显示出来另外需要注意的是楼主采的电压如果是交流电压的话需要求有效值不过看楼主的意思希望你能满意。
这个需要外扩ram 但一片51应该实现不了连续采集两小时然后读出数据至于电压采集外扩一片ad 输入前端电压互感器传过来的模拟信号转换为数字信号即可。可以采用内部带有eeprom的单片机实现掉电不易失功能。比如stc51之类的即可,
如何用51单片机对单相电流电压进行采样 -
互感器的次极输出最大电流有5A,可以用一个精度1%的30-50W电阻,阻值1欧姆,做为互感器次级负载,从这个电阻两端取电压要把正弦波的信号变成直流0-5V的信号,需要用到精密整流电路,这样线性才会好.直流0-5V信号进入AD转换和51单片机,根据电流和采样的比值,确定所转换的数据所对应的电流值.此电路的难点还有呢?
把30V先用电阻分压,电容简单滤波,使最高电压不超过5.1V,然后通过电压跟随器进入AD,不然的话AD会被损坏,即使30V,10uA,也能损坏,除非你用PIC单片机。
51单片机AD采集 -
程序可以直接相除,但只保留整数部分,所以如果你要得到小数两位,就先乘以100再除,显示的时候知道最低两位实际是小数点后两位就行了。
不是很明白你为什么要把数据转换成PWM信号输出,如果你想这么做的话,可以直接用串口把单片机读到的数据输出,