DS1302实时时钟及实验

您所在的位置:网站首页 ep2c5q208c8n各引脚 DS1302实时时钟及实验

DS1302实时时钟及实验

2023-03-16 15:12| 来源: 网络整理| 查看: 265

RTC(Real Time Clock):实时时钟,是一种集成电路,通常称为时钟芯片。

1.引脚定义和应用电路

2.内部结构 寄存器定义和命令字

寄存器:其中,第一行的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口的数据将会被写入,在时钟的下降沿,时钟芯片的数据将会被读出。

根据时序图来写代码

①首先对DS1302进行引脚定义及初始化设置

//引脚定义 sbit DS1302_SCLK=P3^6; sbit DS1302_IO=P3^4; sbit DS1302_CE=P3^5; /** * @brief DS1302初始化 * @param 无 * @retval 无 */ void DS1302_Init(void) { DS1302_CE=0; DS1302_SCLK=0; }

②向DS1302芯片中写入一个字节,从时序图可知,需要CE使能,SCLK来一个上升沿就往芯片里写入一个数据,从低位开始写。一个字节的数据输入IO口,先取高位。一个字节的数据输入IO口,先取低位。

/** * @brief DS1302写一个字节 * @param Command 命令字/地址 * @param Data 要写入的数据 * @retval 无 */ void DS1302_WriteByte(unsigned char Command,Data) { unsigned char i=0; DS1302_CE=1;//打开使能 for(i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3