DS1302实时时钟(九) 目录 一、DS1302介绍 二、DS1302原理图详解 1、引脚定义和应用电路 2、内部结构框图 3、时序图 4、BCD码 三、DS1302时钟 1、编写程序 2、实物展示 四、DS1302可调时钟 1、编写程序 2、实物展示 一、DS1302介绍 DS1302是由美国DALLAS公司推出的具有涓细电流(很微小的电流)充电能力的低功耗实时时钟芯片。 它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿等多种功能。 RTC(Real Time Clock):实时时钟,是一种集成电路,通常称为时钟芯片。
DS1302相比单片机定时器计时的优点 (1)DS1302的精度更高; (2)单片机定时器计时会占用CPU的时间; (3)断电后,单片机定时器计时就会停止,而DS1302有备用电池,及时断电后,DS1302仍然可以工作。(89C52RC电路板上没有接备用电池) 二、DS1302原理图详解
1、引脚定义和应用电路
这里VCC1没有接备用电源,因此断电后,DS1302会停止工作。 2、内部结构框图
右上角X1和X2接的是外部晶振,通过内部电路计算之后,就会得到标准的1Hz计时频率。 CE为高电平,I/O和SCLK的操作才有效,低电平时,则无效; I/O引脚读入数据,SCLK为串行时钟,每来一个上升沿时,就会写入一个数据到时钟,每来一个下降沿,就会读取时钟芯片的数据一次。 晶振电路下面实时时钟部分,就是内部存放时间的寄存器,下图为寄存器内部部分结构:
Address/Command Byte(地址/命令字节):用来完成写入数据和读数据操作 第7位:固定为1; 第6位:如果是1,就是操作RAM,如果是0,就是操作
(时钟); 第5~1位: 为0 0 0 0 0,则是对秒(Seconds)进行操作,范围0~59; 其中Bit 7 CH=1,则时钟秒停止,CH=0,时钟秒继续工作。 如果是要写秒进入寄存器,就是1000 0000,转换成十六进制就是80H; 如果是读秒数据,就是1000 0001,转换成十六进制就是81H,与上面图像对应。 为0 0 0 0 1,则是对分(Minutes)进行操作,范围0~59。 为0 0 0 1 0,则是对小时(Hour)进行操作,范围1~12或0~23; Bit 7 =0,设置24小时模式;Bit 7 =1,设置12小时模式; Bit 5 =0,表示AM(上午),Bit 5 =1,表示PM(下午)。 为0 0 0 1 1,则是对天(Date)进行操作,范围1~31。 为0 0 1 0 0,则是对月(Month)进行操作,范围1~12。 为0 0 1 0 1,则是对星期(Day)进行操作,范围1~7。 为0 0 1 1 0,则是对年(Year)进行操作,范围00~99。 为0 0 1 1 1,WP是写入保护,WP=0时,取消写保护。 第0位:如果是1,就是读数据;是0,就是写入数据。 3、时序图
CE一直要保持高电平,读写完数据后,置0; 如果地址/命令字节最后一位是1,就是读数据,在写入地址/命令字节后,每隔一个SCLK的下降沿,就会读出时钟芯片的数据一次。 如果地址/命令字节最后一位是0,就是写入数据,在写入地址/命令字节后,每隔一个SCLK的上升沿,I/O的数据就会被写入一次。 4、BCD码 BCD码是指用4位二进制数来表示1位十进制数。 如:0001 0011 表示13,1000 0101表示85,0001 1010不合法。
在LCD1602液晶显示器中,LCD_ShowNum()是显示十进制数的,如果用来显示时钟, 在0000 1001(9)后,会变成0001 0000(16),而不是数字10,这是因为DS1302寄存器中的时钟是以BCD码的形式存储的。 如果是用LCD_ShowHexNum()显示十六进制,那么在0000 1001(0x09)后,变成0001 0000(0x10)就是正确的。 BCD码在十六进制中的体现:0x13表示0001 0011(19),0x85表示1000 0101(133),0x1A不合法。 两位BCD码转十进制:DEC=BCD/16*10(表示十位)+BCD%16(表示个位); 如BCD码0001 0011转化成十进制:(0001 0011)/16=1(取十位),1*10=10, (0001 0011)%16=3(取个位)。 十进制转两位BCD码:BCD=DEC/10*16(表示十位)+DEC%10(表示个位)。 如十进制13转化成BCD码:13/10=1(取十位),1*16=16=0001 0000, 13%10=3=0011,所以转化成BCD码为0001 0011。 三、DS1302时钟 1、编写程序 主函数 DS1302模块 LCD1602模块之前有写过,这里省略。 2、实物展示 DS1302时钟 四、DS1302可调时钟 1、编写程序 主函数 其他模块都有写过,就不重复添加了。 2、实物展示 DS1302设置时钟
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/72785.html