单片机编程题目:IIC实现闹钟

单片机编程题目:IIC实现闹钟,第1张

用的显示芯片是DS18B20显示时分秒?我劝你查一下什么叫DS18B20!

这个是一个很基础的应用,自己动一下脑子就可以了,各种求程序求代做行宏的。

下载一个protues,建立一个MCU最小系统和显示器件的原理图,再加上一片IIC通信档携册的24C02。

到网上下一个51单片机和24C02通信的程序,读懂读写部分的代码。

程序开始时,从24C02读一次隐扮时分秒的值,然后在单片机计满一秒后,往24C02里面写入一次当前的时分秒。

这个就比流水灯难一点点,动动脑子吧少年

没有仔细看你的程序,写不进去通常有几种原因:

1.总线时序控制不当或电平不当,我留意到你是用P2口的两只脚来做连接,不知道你有没迟迹有接上拉电阻,是渗或否符合时序就靠你自己来详细核对了.

2.24C02的地址译码引脚的连接方式和程序中的IIC命令里的"芯片地码喊并址"不匹配.

3.写动作结束后需要10毫秒等待时间,如果提前去读,则会得不到响应.

4.24C01芯片已坏或者CPU有关引脚失效.

temp = temp <<1 SDA = CY 即将temp的最高位移入进位位CY并发送,因此是数据从高位开始发送。

temp = temp >亏漏>1SDA = temp&0X01 这样将temp的最低位与0x01按位与,即取出最低蔽空让位并发送,所以数据是从最低位开始发送的。PS:貌似这里程序先移位了一次,最低位其实丢失了。宏局

接收端也要以相应的顺序接收,要不高低位就反了。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存