小组 > 嵌入式 > 《Arduino开发实战指南》书友会 > arduino学习笔记P-1 arduino lcd1602电子时钟
?
?
小组信息
名称:《Arduino开发实战指南》书友会

管理员:

人数:265
小组积分:1692
简介:Arduino因为其易用性使全球关注他的人越来越多,虽然在硬件工程师的眼中他仅仅是一个简单的8位机最小系统,但对于更多的没有硬件背景的人来说(特别是软件工程师),Arduino为他们打开了一扇通向硬件领域的窗口,这扇窗连接的是一个叫做开源硬件的世界。这里不用去系统的学习硬件知识,只要会C语言,就能够制作出很有意思的硬件交互作品。希望这本国内首本Arduino著作能够帮助你走进开源硬件的世界。

小组公告

欢迎大家积极发表Arduino以及开源硬件相关的内容,希望能以Arduino为切入点,让大家进入开源硬件的世界,本小组每月给发帖最多成员送出一本《Arduino开发实战指南》,要求是必须是开源硬件的相关内容(不限于Arduino),同时当月发帖数要在18篇以上。

返回本小组首页

楼主??[转载]?

arduino学习笔记P-1 arduino lcd1602电子时钟


作者:mcp2002
积分:5284分
总积分:10377分
:2554
发送信息
加为好友
发表于2012-12-24 16:05

此方法可以不用任何外接时钟芯片,即可实现1602显示当前年月日时间等信息。
但是如何通过加入按钮实现时间调节尚未实现。当前的代码在年份显示一项只显示2010,不知为何。
板子
http://arduino.cc/en/Main/arduinoBoardDuemilanove
lcd 1602 接线参照弘毅的教程
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=78&reltid=955&pre_thread_id=0&pre_pos=1&ext=

2012-06-23_13-38-26_221 (640x347).jpg
2012-06-23_13-38-40_477 (640x281).jpg

http://www.arduino.cc/playground/uploads/Code/DateTime.zip


分享到:? 新浪微博?? qq空间??
投票数: ? 回复?? ? 引用??
1楼??[转载]?

Re:arduino学习笔记P-1 arduino lcd1602电子时钟


作者:mcp2002
积分:5284分
总积分:10377分
:2554
发送信息
加为好友
发表于2012-12-24 16:06
代码如下 ARDUINO 代码复制打印 #include #include #include #define dt_SHORT_DAY_STRINGS #define dt_SHORT_MONTH_STRINGS // simple sketch to display a digital clock on an LCD // see the LiquidCrystal documentation for more info on this LiquidCrystal lcd(12, 11, 5, 4, 3, 2); int backLight = 13; // pin 13 will control the backlight void setup(){ pinMode(backLight, OUTPUT); digitalWrite(backLight, HIGH); // turn backlight on. Replace 'HIGH' with 'LOW' to turn it off. DateTime.sync(DateTime.makeTime(30, 41, 12, 23, 06, 2012)); // sec, min, hour, date, month, year // Replace this with the most current time } void loop(){ if(DateTime.available()) { unsigned long prevtime = DateTime.now(); while( prevtime == DateTime.now() ) // wait for the second to rollover ; DateTime.available(); //refresh the Date and time properties digitalClockDisplay( ); // update digital clock } } void printDigits(byte digits){ // utility function for digital clock display: prints preceding colon and leading 0 lcd.print(":"); if(digits < 10) lcd.print('0'); lcd.print(digits,DEC); } void digitalClockDisplay(){ lcd.clear(); lcd.begin(16,2); lcd.setCursor(3,0); //lcd.print(DateTimeStrings.dayStr(DateTime.DayofWeek)); if(DateTime.Day <10) lcd.print('0'); lcd.print(DateTime.Day,DEC); lcd.print("/"); //lcd.print(DateTimeStrings.monthStr(DateTime.Month)); if(DateTime.Month <10) lcd.print('0'); lcd.print(DateTime.Month,DEC); lcd.print("/"); lcd.print((DateTime.Year,DEC)+2000); //lcd.print(" "); if(DateTime.Hour <10) lcd.setCursor(5,1); lcd.setCursor(4,1); // digital clock display of current time lcd.print(DateTime.Hour,DEC); printDigits(DateTime.Minute); printDigits(DateTime.Second); }

点击登录,立即回复。
小组活跃用户