ad芯片转换程序

ad芯片转换程序,第1张

芯片厂商

芯片资料

ad精度

一个字都不说这没人帮得了你。。。

我说个大概吧:

用ad芯片和其他芯片一样

片选给上去。输入数据的时钟和mcu的输出连起来,输入数据端和数据总线连起来。同步时钟一般用个特定频率的晶振,如果频率低就用mcu的定时器做分频。

要让ad工作一般需要首先往ad的设置寄存器里写设置数据,定义ad使用哪个通道,增益是多少,频率是多少等。

然后向设置好的ad芯片发送实际需要读取哪个通道。

最后再写回读函数,将dataout脚上的数据传回mcu进行之后的 *** 作。

例程的话百度文库里有很多。

STC12C56xxAD芯片用pwm调速程序的代码如下:

sbit k1=P3^4

sbit k2=P3^5

void delay(unsigned int cnt)

{

unsigned char i

for(cnt>0cnt--)

for(i=0i<250i++)

}

void main()

{

CCON=0//PCA初始化

CL=0//PCA的16位计数器低八位

CH=0//PCA的16位计数器高八位

CMOD=0x00//选择 系统时钟/12 为计数脉冲,则PWM的频率f=sysclk/256/12

CCAP0H=0x80// 占空比控制

CCAP0L=0x80

PCA_PWM0=0x00//控制占空比的第九位为0

CCAPM0=0x42//允许P13作为PWM输出

CR=1//启动PCA计数器

while(1)

{

if(k1==0)

{

delay(200)

while(k1==0)

CCAP0H+=5//占空比调节

CCAP0L+=10

}

if(k2==0)

{

delay(200)

while(k2==0)

CCAP0H-=5//占空比调节

CCAP0L-=5

}

}

}

有些AD转换器,带有参考电压的输入端。

正确输入参考电压,该AD转换器就可以把负~正的电压,转换成二进制数字。

有些AD转换器,只能转换固定范围内的电压,那么就必须在前端电路中想办法。

加个运算放大器,就可以把电压的“放大”到所需要的电压范围,再AD转换即可。

---------

看来,你的AD转换器,能够正常进行转换,只是你的程序功能不足,不能正常处理“负”的重量。

那就修改程序呗,这还不是很容易理解的事。


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

原文地址: http://outofmemory.cn/yw/12084083.html

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

发表评论

登录后才能评论

评论列表(0条)

保存