singz 发表于 2017-3-17 11:23:59

suoma 发表于 2017-3-17 10:40
如果不要闹钟,那这个reset按键就不要了?

reset键可以不要的

suoma 发表于 2017-3-17 21:43:05

singz 发表于 2017-3-17 11:23
每0.5秒在年份位置显示一次4个字符的空白,这样就可以让年份数字闪烁了

和TicSet(0, 0)功能一样,只是一个四位,一个两位。可以留个QQ吗?我设置时间后没有写入时钟芯片,我把你的程序修改为300行了,还请指点一下,我是用DS1302,LCD 4bit控制

singz 发表于 2017-3-19 10:10:09

suoma 发表于 2017-3-17 21:43
和TicSet(0, 0)功能一样,只是一个四位,一个两位。可以留个QQ吗?我设置时间后没有写入时钟芯片,我把 ...

厉害,43133996,可能上得不多

singz 发表于 2017-3-19 10:14:07

suoma 发表于 2017-3-17 21:43
和TicSet(0, 0)功能一样,只是一个四位,一个两位。可以留个QQ吗?我设置时间后没有写入时钟芯片,我把 ...

DS1302库的设置时间函数好像是下面这样的:

rtc.halt(false);      //不知道啥意思
rtc.writeProtect(false);      //关闭写保护

rtc.setDOW(SATURDAY);      // 设置星期
rtc.setTime(22, 56,00);   //设置时间
rtc.setDate(9, 11, 2013);   // 设置日期2013年11月9日
rtc.writeProtect(true);      //开启写保护

DS1302有写保护,关闭后才能改时间


参考:
http://www.cnblogs.com/xiaowuyi/p/3448394.html

suoma 发表于 2017-3-19 14:19:44

singz 发表于 2017-3-19 10:14
DS1302库的设置时间函数好像是下面这样的:

rtc.halt(false);      //不知道啥意思


/* Initialize a new chip by turning off write protection and clearing the
   clock halt flag. These methods needn't always be called. See the DS1302
   datasheet for details. */
rtc.write_protect(false);
rtc.halt(false); //清除halt标志位

suoma 发表于 2017-3-19 14:28:38

suoma 发表于 2017-3-19 14:19
/* Initialize a new chip by turning off write protection and clearing the
   clock halt flag....

rtc.halt(false);      //不知道啥意思
CLOCK HALT FLAG
Bit 7 of the seconds register is defined as the clock halt (CH) flag. When this bit is set to logic 1, the clock oscillator is stopped and the DS1302 is placed into a low-power standby mode with a current drain of less than 100nA. When this bit is written to logic 0, the clock will start. The initial power-on state is not defined.

suoma 发表于 2017-3-20 09:39:09

singz 发表于 2017-3-19 10:14
DS1302库的设置时间函数好像是下面这样的:

rtc.halt(false);      //不知道啥意思


我连接IIC模块,使用hello world例程,液晶屏显示如下,如果拔掉短路帽,屏亮无显示,换了两个IIC模块同样问题,调电位器也无显示

singz 发表于 2017-3-20 10:10:54

suoma 发表于 2017-3-20 09:39
我连接IIC模块,使用hello world例程,液晶屏显示如下,如果拔掉短路帽,屏亮无显示,换了两个IIC模块同 ...

应该是IIC地址不对

suoma 发表于 2017-3-20 10:23:17

singz 发表于 2017-3-20 10:10
应该是IIC地址不对

换成0x27、0x3f地址都是这个问题,确认地址是0x27,我把我DS1302的程序发你了,按键设置后无法写入时钟芯片,还请指点一下

singz 发表于 2017-3-20 10:50:45

suoma 发表于 2017-3-20 10:23
换成0x27、0x3f地址都是这个问题,确认地址是0x27,我把我DS1302的程序发你了,按键设置后无法写入时钟芯 ...

在保存并退出的 t.min=sminute;下面加上

rtc.setDOW(SATURDAY);      // 设置星期
rtc.setTime(shour, sminute,00);   //设置时间
rtc.setDate(sdate, smonth,syear);   // 设置日期2013年11月9日
rtc.writeProtect(true);      //开启写保护

DS1302(2)库

singz 发表于 2017-3-20 10:55:20

本帖最后由 singz 于 2017-3-20 10:59 编辑

suoma 发表于 2017-3-20 10:23
换成0x27、0x3f地址都是这个问题,确认地址是0x27,我把我DS1302的程序发你了,按键设置后无法写入时钟芯 ...

第一个库的 设置函数是:

Time t(2009, 5, 19, 21, 16, 37, 3);
rtc.time(t);

数值改成变量后是:

Time t(syear, smonth, sdate, shour, sminute, 00, sdow);

rtc.time(t);

singz 发表于 2017-3-20 11:03:05

本帖最后由 singz 于 2017-3-20 11:05 编辑

suoma 发表于 2017-3-20 10:23
换成0x27、0x3f地址都是这个问题,确认地址是0x27,我把我DS1302的程序发你了,按键设置后无法写入时钟芯 ...

IIC库正确吗? 我看你发来的文件里用的是液晶库,如果是IDE自带的液晶库应该是不行的,自带的是并行总线的库,IIC总线要用另一个库

suoma 发表于 2017-3-20 11:10:45

singz 发表于 2017-3-20 11:03
IIC库正确吗? 我看你发来的文件里用的是液晶库,如果是IDE自带的液晶库应该是不行的,自带的是并行总 ...

两个都用了
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

用helloworld例程,有时液晶上电显示

singz 发表于 2017-3-20 11:20:33

suoma 发表于 2017-3-20 11:10
两个都用了
#include
#include


卖你 IIC 转接卡 的商家有提供库吗?

suoma 发表于 2017-3-20 13:10:29

singz 发表于 2017-3-20 11:20
卖你 IIC 转接卡 的商家有提供库吗?

提供了,就是用他的库中helloworld例程
页: 1 2 3 4 5 [6] 7 8 9
查看完整版本: 用1602和DS3231搭建的可调时钟 ~~新人帖~~标题要长~~