㈠ 现在带24位 AD转化单片机那个最好
个人不认为单片机能有集成24位AD的,因为单片机自身的电源就注定无法保证如此高的精度。
当然,在神奇国度漫天吹牛的除外……
网络嫌我字数不够
㈡ 单片机连接ad芯片读取压力传感器的数值
这个没有现成公式,只能自己去做,告诉你具体方法:
1、找1公斤,5公斤,10公斤的秤砣(不一定是这几个值,根据自己做的的东西确定重量,别把东西压坏了)
2、从轻到重放上去,记录度数,看度数是不是线性的(一般在某个区间都是线性的,不然这芯片就没有市场了),如果是线性的那就好办了,你已经知道三组重量对应多少度数了,用数学的“两点法”能求出直线的斜率,这条直线函数就是你要的换算公式。如果不是线性的那你还需要更多的重物测出更多的数据,用 Matlab 等数学软件拟合出近似的曲线得到函数。
3、把得到的函数写入单片机,读取 AD,通过公式,算出重量,OVER
对第二点补充一下:比如1公斤放上去,测出度数是100,5公斤测出498,10公斤测出1002,可以大致认为1-100,5-500,10-1000,这样你就有了对应关系,度数除以100就是重量。就这样,如果追求精度,那还是老老实实多测几组数据,取个平均,再用 Matlab 算吧
祝你成功,如有不懂,请留言
㈢ 在线采纳求解51单片机什么叫24位ad模块,这个24位什么意思,比如HX711,
24位的意思是,AD转换结果是24位二进制数,三个字节。这个转换精度是非常高的,通常,16位就已经够精确了。
㈣ 单片机AD增益问题
这个。。增益是放大倍数吧?输入1mv增益128即是128mv?
24位就是说的分辨率,例如满量程5v,分辨率就是5/16777216=0.000000298v,你如果pcb没有处理好的话数据会乱跳的,如此高的精度,对线路板的抗干扰要求很高,一般应用直接单片机ad转换是10位足够了。
㈤ c8051f350单片机 24位ad可以做到多少位的分辨率 啊
如果参考电压是5v,那么24位AD可以精确到0.3uv啦!够你用啦!5v除以24位。24位=24个二进制1,可以转换十进制在除。
㈥ 带16至24位ADC的单片机国产的有什么型号
中颖电子 有带16bit,20bit 24bit ADC的单片机,内核是51的,不知道能否满足
㈦ STC系列单片机如何通过其SPI接口接收AD转换器得出的24位数字信号请高手指点,谢谢了.
spi接口可以用IO口软件模拟;
分别为MISO,MOSI,SCK;具体的程序可以上网搜索下,基本上可以用的。
原理就是在每个时钟周期(SCK引脚变化时),读取MISO的电平或者设置输出MOSI的电平,然后将数据移位。
㈧ 什么型号单片机带24位AD,可以在线仿真
单片机带24位AD是不可能的,高档单片机一般是12位AD,单独的AD芯片14位的还比较多,但16位以上的也少之又少,有的话价格会十分昴贵,只在一些特殊领域应用
㈨ 单片机AD采集的C程序
AD0809的采集程序
//---A/D转换---
//-----头文件引用------
#include <Reg51.h>
#include <absacc.h>
#include <intrins.h>
typedef unsigned char BYTE; /*自定义字节类型*/
#define Set_Bit(BIT) (BIT = 1) /*定义置1函数*/
#define Clear_Bit(BIT) (BIT = 0) /*定义清0函数*/
/************************************************************************************/
void Write_Hd7279(BYTE,BYTE); /*定义HD7279写函数*/
BYTE Read_Hd7279(BYTE); /*定义HD7279读函数*/
void Send_Byte(BYTE); /*定义HD7279发送字节函数*/
BYTE Receive_Byte(void); /*定义HD7279接收字节函数*/
void Short_Delay(void); /*定义短延时函数*/
void Long_Delay(void); /*定义长延时函数*/
void Mcu_Init(void); /*定义MCU初始化函数*/
void Delay_200_mS(void); /*定义200ms延时函数*/
sbit Hd7279_Clk=P1^6; /*定义HD7279时钟硬件连接*/
sbit Hd7279_Data=P1^5; /*定义HD7279数据硬件连接*/
sbit cs=P1^7;
void Short_Delay(void) /*短延时函数*/
{
BYTE i;
for(i=0;i<0x08;i++);
}
/************************************************************************************/
void Long_Delay(void) /*长延时函数*/
{
BYTE i;
for(i=0;i<0x30;i++);
}
/************************************************************************************/
void Write_Hd7279(BYTE Command,BYTE Data) /*HD7279写函数*/
{
Send_Byte(Command);
Send_Byte(Data);
}
/************************************************************************************/
void Send_Byte(BYTE Data_Out) /*HD7279发送字节函数*/
{
BYTE i;
cs=0;
Long_Delay();
for(i=0;i<8;i++)
{
if(Data_Out&0x80) Set_Bit(Hd7279_Data);
else Clear_Bit(Hd7279_Data);
Set_Bit(Hd7279_Clk);
Short_Delay();
Clear_Bit(Hd7279_Clk);
Short_Delay();
Data_Out=Data_Out<<1;
}
Clear_Bit(Hd7279_Data);
}
//-----宏声明-----
#define A_DPORT XBYTE[0xFef3]//0809通道0地址
#define uchar unsigned char
//-----变量定义-----
bit bdata bz=0;//定义标志
uchar val;
//-----初始化-----
void first(void)
{
P1=0xff;
P2=0xff;
P3=0xff;
P0=0xff;
Send_Byte(0xa4);
IT1=1;
EX1=1;
EA=1; //INT0 允许
}
//-----中断-----
void int_0(void) interrupt 2
{
val=A_DPORT; //读 A_D 数据
bz=1; //置读数标志
}
//-----主程序-----
main()
{
first(); //初始化
while(1)
{
A_DPORT=val; //启动 A_D
while(bz==0); //等待 A_D 转换结束
// val=~A_DPORT;
//P1=val; //数据输出
Write_Hd7279(0xc8,val&0x0f);
Write_Hd7279(0xc9,val>>4);
Write_Hd7279(0x92,0x00);
Write_Hd7279(0x93,0x00);
Write_Hd7279(0x94,0x00);
Write_Hd7279(0x95,0x00);
Write_Hd7279(0xce,0x0d);
Write_Hd7279(0xcf,0x0a);
bz=0; //清读数标志
}
}
这就是C的程序
http://hi..com/dzkfw/blog/item/4a188216fd986b12c83d6d05.html
不平凡的单片机学习资料,很好的单片机教程,超好用,一个不占内存的教程,有案例。
1、最新版单片机编程宝典下载地址,学习单片机编程必备手册
2、单片机c语言运用例子
3、十天学会单片机c语言和单片机制作,最好的单片机资料
㈩ 哪个单片机自带24位ad和lcd驱动的
没有,单片机中的AD一般10位或12位 24位的绝对没有,包括单独的AD芯片
14位 16位的就是高精度了,24位的AD芯片基本上没有,有也是天价