目录:
1.DS1302实时时钟
2.DS1302时钟&可调时钟
1.DS1302实时时钟












2.DS1302时钟&可调时钟






需要1602进行显示,拷贝过来1602的代码:





抑制下警告:








定义引脚:

定义读写的方法:

初始化方法:


使用for循环





读:







把写好的方法加到.h里









是个不稳定的数字



不用delay也没关系



9之后直接变成16了



16进制显示




BCD码转换下:


读分钟:




每次读一个东西需要定义一个变量,优化下



这些地址是写入的地址,最低位是0,读出最低位肯定是1
| 0x01可定是读,给地址的时候可以给写的地址,就不需要定义那么多地址了





extern可以不加,数组和函数默认会有,变量需要生明


显示跟数组设置的一样



可调时钟:

需要按键考过来:

闪烁是需要定时器来实现的,考过来:







说明按键式可以用的
定义模式,显示和修改








对时间特别处理:

对月进行处理:

二月:



11再加就变1:

减判断:

DS1302_Time是有符号的,没有负数,不能用<0判断,需要改下,把unsigned去掉,有符号的是-128-127







-的话11月没31需要判断




设置闪烁:


定时器模版:









设置好时间,重新进来设置它显示上一次设置的位:想让他从头开始

