DS1302实时时钟及实验 |
您所在的位置:网站首页 › ep2c5q208c8n各引脚 › DS1302实时时钟及实验 |
RTC(Real Time Clock):实时时钟,是一种集成电路,通常称为时钟芯片。 1.引脚定义和应用电路![]() ![]() ![]() ![]() 寄存器:其中,第一行的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 |