蓝桥杯单片机——DS1302时钟

本篇讲的单片机是第十一届蓝桥杯单片机实训的硬件设备。


蓝桥杯单片机硬件基础

蓝桥杯单片机——DS1302时钟_第1张图片
DS1302与单片机之间能简单地采用同步串行方式进行通信,仅用到三个接口线:RST复位线、I/O数据线和SCLK串行时钟线。

DS1302时钟寄存器和控制命令

DS1302时钟寄存器和控制命令如下表所示:
蓝桥杯单片机——DS1302时钟_第2张图片

DS1302读写时序说明

  • DS1302写字节时序:RST复位信号必须拉高,写入的第一个字节为地址字节,第二个字节为数据字节。写入过程,SCLK时钟信号线上升沿有效。(如下图)
    蓝桥杯单片机——DS1302时钟_第3张图片
  • DS1302读字节时序:RST复位信号必须拉高,先写入第一个字节为地址字节,再读出一个字节为数据字节。写入过程,SCLK时钟信号线上升沿有效。读出过程,SCLK时钟信号线下降沿有效。(如下图)
    蓝桥杯单片机——DS1302时钟_第4张图片

  • 时间(时-分-秒)设置函数
void SET_Time(u8 h,u8 m,u8 s)
{
     
	Write_Ds1302_Byte(0x8e,0);
	Write_Ds1302_Byte(0x80,((s/10)<<4)|(s%10));  //BCD码形式输入
	Write_Ds1302_Byte(0x82,((m/10)<<4)|(m%10));
	Write_Ds1302_Byte(0x84,((h/10)<<4)|(h%10));
	Write_Ds1302_Byte(0x8e,0x80);
}
  • 时间(时-分-秒)读取函数
u8 HOU,MIN,SEC;
void Read_Time(void)
{
     
	HOU = Read_Ds1302_Byte(0x85);  //读出为BCD码形式
	MIN = Read_Ds1302_Byte(0x83);
	SEC = Read_Ds1302_Byte(0x81);
}

函数的使用方法,这里就不展示了,欢迎提问和咨询 ~

你可能感兴趣的:(蓝桥杯单片机程序开发,单片机,蓝桥杯,DS1302)