您当前的位置: 首页 >  单片机

wendy_ya

暂无认证

  • 0浏览

    0关注

    342博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

单片机常用芯片总结(二)——DS1302时钟芯片

wendy_ya 发布时间:2022-04-18 16:47:41 ,浏览量:0

目录
    • 一、芯片介绍
    • 二、芯片引脚定义
    • 三、寄存器定义
    • 四、命令字
    • 五、时序图与数据读写
      • 5.1 单字节写步骤(Write)
      • 5.2 单字节读步骤(Read)
    • 六、BCD码
      • 6.1 问题描述
      • 6.2 问题原因
      • 6.3 解决方案

一、芯片介绍

DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。 RTC(Real Time Clock):实时时钟,是一种集成电路,通常称为时钟芯片。

在这里插入图片描述

二、芯片引脚定义

DS1302电路图如下: 在这里插入图片描述 其内部结构框图如下: 在这里插入图片描述

引脚名作用VCC2主电源VCC1备用电池GND电源接地X1,X232.768kHz晶振CE芯片使能IO数据输入/输出SCLK串行时钟 三、寄存器定义

相关寄存器如下: 在这里插入图片描述 其中,第一行的CH表示时钟暂停控制位,置1表示时钟暂停,置0表示时钟静止;倒数第二行的WP表示write protect(写保护),置1表示写入操作无效;最后一行的TCS用于控制涓流充电,一般不进行设置,其他部分放在第四章进行介绍。

四、命令字

命令字如下: 在这里插入图片描述

  • 第0位表示读还是写(置1表示读,置0表示写);
  • 第1-5位表示地址(秒地址为0,分钟地址为10,…);
  • 第6位表示操作RAM还是时钟CK(置1表示操作RAM,置0表示操作CK);
  • 第7位:固定为1;

举个例子,对时钟操作、秒地址操作、读: 10000001(0x81) 对时钟操作、秒地址操作、写: 10000000(0x80) 这与上方第三章寄存器中的读地址和写地址是对应的。

五、时序图与数据读写

时序图: 在这里插入图片描述 三个引脚:CE(使能端)、SCLK(时钟)和I/O(数据)。

规定:在时钟的上升沿,I/O口的数据将会被写入,在时钟的下降沿,时钟芯片的数据将会被读出。

5.1 单字节写步骤(Write)

Step1:将CE置1; Step2:命令字(I/O)发两个字节:第一个字节是命令字(先发最低位R/W),第二个字节是数据;【一位一位依次发送】 Step3:SCLK给上升沿,将命令字最低位写入单片机; Step4:将SCLK置回0; Step5:SCLK给上升沿,将命令字次低位写入单片机; Step6:将SCLK置回0; …(依次循环8次) Step7:SCLK给上升沿,将数据最低位写入单片机; Step8:将SCLK置回0; Step9:SCLK给上升沿,将数据次低位写入单片机; Step10:将SCLK置回0; …(依次循环8次) Step11:将CE置0; (每个上升沿写入数据)

代码示例:

//单字节写,Command为命令字(地址),Data为要写入的数据
void DS1302_WriteByte(unsigned char Command,Data){
	unsigned char i;
	DS1302_CE=1;
	for(i=0;i            
关注
打赏
1659256378
查看更多评论
0.0370s