求高手详细解释一下这段单片机程序,是用pcf8591 实现ad转换的。

求高手详细解释一下这段单片机程序,是用pcf8591 实现ad转换的。,第1张

想理解一个芯片,首先要先仔细看用户手册,在网上搜它的手册,然后重点看时序图那一块,你就会明白了,还要要理解IIC总线中的SDA和SCL,一个数据,一个时钟线,void iic_ack(bit ackbit)和bit iic_waitack(void) 分别是应答和等待应答。void iic_start(void)是开始,stop是结束,时序图里都有写,一般是在SCL拉低的时候,才能改变数据总线,unsigned char iic_recbyte(void)是接受字节数,你自己对照手册好好看吧 顺带看看IIC总线 ,时间仓促,希望能帮到你一些。

void iic_ack(bit ackbit)

{

if(ackbit) 如果收到应答

SDA = 0数据为0

else

SDA = 1

somenop延时

SCL = 1拉高时钟线

somenop延时

SCL = 0拉低时钟

SDA = 1拉高数据线

somenop

}

如果要不断地测量的话,

num=read (0x40)

这一句要下移到 while(1)循环里面。

你现在这样,上电读取一次AD的值,以后只是不断显示原来的值,再也不会读新的AD值。


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

原文地址: https://outofmemory.cn/yw/7945911.html

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

发表评论

登录后才能评论

评论列表(0条)

保存