首页 理论教育 单片机读写DS1302的时序与驱动程序

单片机读写DS1302的时序与驱动程序

时间:2023-10-23 理论教育 版权反馈
【摘要】:根据时序,我们可以简化对DS1302的操作过程,这也是DS1302的驱动程序的设计依据。初始化主要通过DS1302的RST、SCLK引脚来进行。DS1302上电开始运行时,RST须保持低电平,只有在SCLK为低电平时,才能将RST置为高电平。由DS1302的读写时序可以看出,在SCLK上升沿写数据,下降沿读数据,单片机向DS1302发送和接收的数据先从低位开始,在读写操作中,需根据读写时序完成1B的读写。

单片机读写DS1302的时序与驱动程序

1.DS1302的读写时序

单片机程序不仅要向DS1302写入控制字,还要读取相应寄存器的数据。数据读写时序如图5-18所示。根据时序,我们可以简化对DS1302的操作过程,这也是DS1302的驱动程序的设计依据。

978-7-111-43463-4-Chapter05-39.jpg

图5-18 DS1302数据读写时序图

2.DS1302的基本操作

基本操作包括系统对DS1302初始化、写1B、读1B。初始化主要通过DS1302的RST、SCLK引脚来进行。RST置1时芯片才能正常工作。DS1302上电开始运行时,RST须保持低电平,只有在SCLK为低电平时,才能将RST置为高电平

由DS1302的读写时序可以看出,在SCLK上升沿写数据,下降沿读数据,单片机向DS1302发送和接收的数据先从低位开始,在读写操作中,需根据读写时序完成1B的读写。

3.DS1302应用操作(www.xing528.com)

DS1302应用操作包括向DS1302写1B数据、读1B数据、读时间操作和调整时间操作。由于要先发送控制字,从DS1302读时间数据需要调用一次写和一次读操作;相对应地址读1B数据需要调用两次写1B数据操作,此种操作用于调整时间。

DS1302时间寄存器中的时间数据是8421BCD码,读出的时间需要进行码制转换。在对DS1302进行时间调整时,也需要把十进制数据转换成8421BCD码后写入DS1302。

4.DS1302驱动程序

DS1302驱动程序包含初始化、写1B、读1B、对某一地址写1B数据,对某一地址读1B数据等函数,程序编写完成后存放在DS1302.c中,用于带有DS1302芯片的单片机系统。具体程序如下:

978-7-111-43463-4-Chapter05-40.jpg

978-7-111-43463-4-Chapter05-41.jpg

978-7-111-43463-4-Chapter05-42.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈