极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15191|回复: 14

用Arduino和LCD1602显示DS1302信息

[复制链接]
发表于 2013-8-15 02:26:03 | 显示全部楼层 |阅读模式
本帖最后由 迷你强 于 2013-8-15 09:29 编辑

源程序

  1. #include <LiquidCrystal.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <DS1302.h>
  5. LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
  6. uint8_t CE_PIN   = 2;
  7. uint8_t IO_PIN   = 3;
  8. uint8_t SCLK_PIN = 11;
  9. char buf[50];
  10. char day[10];
  11. DS1302 rtc(CE_PIN, IO_PIN, SCLK_PIN);
  12. Time t;
  13. void setup()
  14. {
  15.     Serial.begin(9600);
  16.     rtc.write_protect(false);
  17.     rtc.halt(false);
  18.     Time t(2013,8,15,1,9,20,5);
  19.     rtc.time(t);
  20. }

  21. void loop()
  22. {
  23.   Time t = rtc.time();
  24.     memset(day, 0, sizeof(day));
  25.     switch (t.day)
  26.     {
  27.     case 1: strcpy(day, "Sun"); break;
  28.     case 2: strcpy(day, "Mon"); break;
  29.     case 3: strcpy(day, "Tue"); break;
  30.     case 4: strcpy(day, "Wed"); break;
  31.     case 5: strcpy(day, "Thu"); break;
  32.     case 6: strcpy(day, "Fri"); break;
  33.     case 7: strcpy(day, "Sat"); break;
  34.     }
  35. snprintf(buf, sizeof(buf), "%s %04d-%02d-%02d ", day, t.yr, t.mon, t.date);
  36.   lcd.clear();
  37.   lcd.begin(16, 2);
  38.   lcd.setCursor(0,0);
  39.   lcd.print(buf);
  40.   lcd.setCursor(11, 1);
  41.   lcd.print("BISTU");
  42.   snprintf(buf, sizeof(buf), "%02d:%02d:%02d", t.hr, t.min, t.sec);
  43.   lcd.setCursor(1, 1);
  44.   lcd.print(buf);
  45.   delay(1000);                    
  46. }
复制代码
捕获.PNG

DS1302 1.00.rar

5.93 KB, 下载次数: 448

DS1302库

回复

使用道具 举报

发表于 2013-8-15 09:31:10 | 显示全部楼层
不错,应该将电路图,整体实物图啥的顺手拍个照片嘛。。。。
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2013-8-15 02:31:13 | 显示全部楼层
本帖最后由 迷你强 于 2013-8-15 09:30 编辑

用另外一个DS1302的库:
源代码:

  1. #include <DS1302.h>
  2. #include <LiquidCrystal.h>
  3. // Init the DS1302
  4. DS1302 rtc(2, 3, 11);
  5. LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
  6. void setup()
  7. {
  8.   // Set the clock to run-mode, and disable the write protection
  9.   rtc.halt(false);
  10.   rtc.writeProtect(false);
  11.   
  12.   // Setup Serial connection
  13.   Serial.begin(9600);

  14.   // The following lines can be commented out to use the values already stored in the DS1302
  15. // rtc.setDOW(THURSDAY);        // Set Day-of-Week to FRIDAY
  16.   rtc.setTime(1,58, 40);     // Set the time to 12:00:00 (24hr format)
  17.   rtc.setDate(15, 8, 2013);   // Set the date to August 6th, 2010
  18. }

  19. void loop()
  20. {
  21.   lcd.clear();
  22.   lcd.begin(16, 2);
  23.   lcd.setCursor(1,0);
  24.   lcd.print("THU");
  25.   lcd.setCursor(5, 0);
  26.   lcd.print(rtc.getDateStr());
  27.   //lcd.print(" -- ");
  28.    lcd.setCursor(1, 1);
  29.   lcd.print(rtc.getTimeStr());
  30.    lcd.setCursor(10, 1);
  31.   lcd.print("BISTU");
  32.   delay (1000);
  33. }

复制代码
捕获1.PNG

DS1302(2).rar

67.8 KB, 下载次数: 205

库文件

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-15 02:37:27 | 显示全部楼层
本人新手,高手勿喷...
感谢极客工坊,只是用以来添点人气
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-15 15:47:25 | 显示全部楼层
迷你强 发表于 2013-8-15 09:31
不错,应该将电路图,整体实物图啥的顺手拍个照片嘛。。。。

我也想着这样!可是照片是910K的,网站提示文件类型限制无法上传,所以就截的图
回复 支持 反对

使用道具 举报

发表于 2013-8-15 17:50:41 | 显示全部楼层
dreaming 发表于 2013-8-15 15:47
我也想着这样!可是照片是910K的,网站提示文件类型限制无法上传,所以就截的图

看教程咯
http://www.geek-workshop.com/thread-2887-1-1.html
回复 支持 反对

使用道具 举报

发表于 2013-11-22 16:16:00 | 显示全部楼层
bistu ?            
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-29 15:16:28 | 显示全部楼层
熊猫 发表于 2013-11-22 16:16
bistu ?

BISTU的呃。。。
回复 支持 反对

使用道具 举报

发表于 2013-11-29 15:20:40 | 显示全部楼层
家里有,改天调试调试让DS1307也可以用,不错。
回复 支持 反对

使用道具 举报

发表于 2013-12-9 21:53:35 | 显示全部楼层
不错,用1302模块还是单独的芯片?
回复 支持 反对

使用道具 举报

发表于 2013-12-15 00:03:15 | 显示全部楼层
dreaming 发表于 2013-8-15 02:31
用另外一个DS1302的库:
源代码:

有空试试这个库。谢谢了!
回复 支持 反对

使用道具 举报

发表于 2014-5-1 00:12:12 | 显示全部楼层
能不能用ds3231试一试
回复 支持 反对

使用道具 举报

发表于 2014-5-1 00:13:43 | 显示全部楼层
ds1302的晶体实在不准啊,才几分钟就快了5秒
回复 支持 反对

使用道具 举报

发表于 2017-3-8 12:05:57 | 显示全部楼层
dreaming 发表于 2013-8-15 02:31
用另外一个DS1302的库:
源代码:

第二个程序里面 lcd.print("THU");
rtc.get函数不能获得星期几吗?
回复 支持 反对

使用道具 举报

发表于 2020-10-13 16:11:10 | 显示全部楼层
dreaming 发表于 2013-8-15 02:31
用另外一个DS1302的库:
源代码:

你好,请问LCD7个引脚具体接法是什么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-12-3 03:00 , Processed in 0.052284 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表