这个是一个很基础的应用,自己动一下脑子就可以了,各种求程序求代做行宏的。
下载一个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:貌似这里程序先移位了一次,最低位其实丢失了。宏局
接收端也要以相应的顺序接收,要不高低位就反了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)