2022年特别讲解时钟芯片DS实用 .pdf
《2022年特别讲解时钟芯片DS实用 .pdf》由会员分享,可在线阅读,更多相关《2022年特别讲解时钟芯片DS实用 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Lzh 电子论坛http:/lzhbbs.top-特别讲解时钟芯片 DS1302现在讲解如何操作DS1302 ,有配套的视频教程请到lzh 电子论坛 视频教程专区查看, 所讲的程序均是用模块化编程,如果不懂模块化编程的童鞋可以在视频专区里查看相应的教程。有问题请在论坛51 版块提问或者视频教程下跟帖提问。下面开始介绍时钟芯片:连接单片机的就有引脚SCLK,IO,CE(RST). 所以我们只需要对三个引脚来控制。硬件的连接这里不讲,我们以程序为主,硬件的连接可以看仿真图里的连接方式!现在与 DS1302的通信是采用 SPI 通信方式。看下面的时序图:名师资料总结 - - -精品资料欢迎下载 -
2、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - Lzh 电子论坛http:/lzhbbs.top-上面的时序是从 DS1302的一个寄存器里读出一个数据,大致就是先写地址再读数据。 现在开始写出读写寄存器的函数。就根据上面的时序来完成。在时钟上升沿就写入数据,在下降沿读出数据。而且是先写低位,先读低位,这点很重要。现在对照着程序来理解:一些引脚的定义和宏定义看ds1302.h 文件/*写一个字节 */void DS1302WriteByte(uint8Dat)uint8 i
3、;for(i = 0;i 1;/数据右移一位进行下一位的检测/*读一个字节 */uint8 DS1302ReadByte()uint8 i,temp = 0;for(i = 0;i 1;/让最高位为0,右移是因为从低位开始if(DS1302ReadDSIO)/如果数据引脚是高电平temp |= 0 x80;/将最高位置1return temp;/返回读出的值名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - Lzh 电子论坛http
4、:/lzhbbs.top- 转为十进制 */uint8 DS1302ReadRegister(uint8 Addr)/在 DS1302 里读出的数据是BCD 码所以要转换uint8 tmp = 0;uint8 tmp1 = 0,tmp2 = 0;DS1302SetRST();/根据时序来要拉高这个脚DS1302WriteByte(Addr);/写地址,在ds1302.h 里面都定义了的tmp = DS1302ReadByte();/读出数据DS1302ClearRST();/拉低tmp1 = tmp & 0 x0f;/开始转换tmp2 = tmp 4;tmp = tmp2 * 10 + tmp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年特别讲解时钟芯片DS实用 2022 特别 讲解 时钟 芯片 DS 实用
限制150内