时钟芯片DS1302及其应用课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《时钟芯片DS1302及其应用课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 时钟 芯片 DS1302 及其 应用 课件
- 资源描述:
-
1、l 时钟计数功能,可以对秒、分钟、小时、月、星期、年的时钟计数功能,可以对秒、分钟、小时、月、星期、年的计数。年计数可达到计数。年计数可达到 2100 年。年。l 有有 31*8 位的额外数据暂存寄存器位的额外数据暂存寄存器l 最少最少 I/O 引脚传输,通过三引脚引脚传输,通过三引脚SCLK,RST,IO控制控制l 工作电压:工作电压: 2.0-5.5Vl 工作电流小于工作电流小于 320 纳安(纳安( 2.0V )l 读写时钟寄存器或内部读写时钟寄存器或内部 RAM ( 31*8 位的额外数据暂存寄位的额外数据暂存寄存)可以采用单字节模式和突发模式存)可以采用单字节模式和突发模式l 8-p
2、in DIP 封装或封装或 8-pin SOICsl 兼容兼容 TTL ( 5.0V )l 可选的工业级别,工作温度可选的工业级别,工作温度 -40 85 摄氏度摄氏度l 兼容兼容 DS1202 较较 DS1202 增加的功能:增加的功能: 1. 可通过可通过 Vcc1 进行涓流充电进行涓流充电 2. 双重电源补给双重电源补给 3. 备用电源可采用电池或者超级电容备用电源可采用电池或者超级电容 (0.1F以上以上 ) ,可以,可以用老式电脑主板上的用老式电脑主板上的 3.6V 充电电池。充电电池。功能介绍功能介绍引脚分布引脚分布引脚功能引脚功能VCC1 VCC1提供了在电池供电提供了在电池供电
3、系统的低功耗模式,以及低功耗电系统的低功耗模式,以及低功耗电池备用。池备用。VCC2 - VCC2是主电源,双电源配置电源引脚。是主电源,双电源配置电源引脚。VCC1连连接到备份源在主电源的情况下维持的时间和日期。接到备份源在主电源的情况下维持的时间和日期。 当当VCC2 0;i-) DS1302_IO = a & 0 x01;a = 1;DS1302_CLK=1;_nop_();DS1302_CLK=0;_nop_(); 函数功能函数功能:单片机向单片机向DS1302写一个字节子程序写一个字节子程序IO=字节字节a的最低位的最低位字节右移字节右移1位位CLK=1,延时,延时CLK=0,延时,
4、延时到到8次了?次了?结束结束函数功能函数功能:单片机从单片机从DS1302读一个字节子程序读一个字节子程序 uchar readbyte(void) uchar i,dat=0;for(i=8;i0;i-) dat = 1; if(DS1302_IO)dat|=0 x80; DS1302_CLK=1; nop; DS1302_CLK=0;return dat; 经过经过 8 个时钟周期的控制读指令的个时钟周期的控制读指令的输入,控制指令串行输入后,一个输入,控制指令串行输入后,一个字节的数据将在下个字节的数据将在下个 8 个时钟周期个时钟周期的下降沿被输出,注意的下降沿被输出,注意:先输出字
5、节先输出字节的低位。的低位。将上面的写字节和读字节放在一起研究将上面的写字节和读字节放在一起研究void sendbyte(uchar a) uchar i; for(i=8;i0;i-) DS1302_IO = a & 0 x01;a = 1;DS1302_CLK=1;_nop_();DS1302_CLK=0;_nop_(); 读一个字节子程序读一个字节子程序 uchar readbyte(void) uchar i,dat=0;for(i=8;i0;i-) dat = 1; if(DS1302_IO)dat|=0 x80; DS1302_CLK=1; nop; DS1302_CLK=0;r
6、eturn dat; 写一个字节子程序写一个字节子程序这是一种方案这是一种方案在控制字节最后一位写在控制字节最后一位写完后的下降沿,第一个完后的下降沿,第一个读数据位就出现了读数据位就出现了此句看上去此句看上去,在没有先产生下降在没有先产生下降沿的情况下就读了数据,其实在沿的情况下就读了数据,其实在左边已经产生了第一个数据位左边已经产生了第一个数据位将上面的写字节和读字节放在一起研究将上面的写字节和读字节放在一起研究void sendbyte(uchar a) uchar i; for(i=8;i0;i-) DS1302_CLK=0; nop; DS1302_IO = a & 0 x01; a
7、 = 1; DS1302_CLK=1; nop; 读一个字节子程序读一个字节子程序 uchar readbyte(void) uchar i,dat=0; for(i=8;i0;i-) DS1302_CLK=1;nop;DS1302_CLK=0;dat=1;if(DS1302_IO) dat|=0 x80; return dat; 写一个字节子程序写一个字节子程序这是另一种方案这是另一种方案这里是先产生数据,再产生上升这里是先产生数据,再产生上升沿的方式送数据,最后没有产生沿的方式送数据,最后没有产生下降沿。下降沿。这里要先产生下降沿,再读数据这里要先产生下降沿,再读数据/*函数功能函数功能:
8、写写DS1302地址子程序地址子程序 向向address地址上写入数据地址上写入数据dat*/void write_DS1302(uchar address,uchar dat)DS1302_RST=0;nop;DS1302_CLK=0;nop;DS1302_RST=1;nop;sendbyte(address);nop;sendbyte(dat);nop;DS1302_RST=0;nop;DS1302_CLK=0;经过经过 8 个时钟周期的控个时钟周期的控制字节的输入,一个字制字节的输入,一个字节的输入将在下节的输入将在下 8 个时个时钟周期的上升沿完成,钟周期的上升沿完成,数据传输从字节最
9、低位数据传输从字节最低位开始。开始。这这3句的目的是将句的目的是将CLK置置0,但是不知道但是不知道会不会产生下降沿而送错数据会不会产生下降沿而送错数据,所以先所以先RST=0,停止所有数据传送,高阻态,停止所有数据传送,高阻态,等等CLK=0之后,再回复之后,再回复RST=1;/*函数功能函数功能:读读DS1302地址子程序地址子程序 入口参数入口参数:add出口参数出口参数:readtimeR*/uchar read_DS1302(uchar address) uchar timer;DS1302_RST=0;delays(2);DS1302_CLK=0;delays(2);DS1302_
展开阅读全文