在网上下的程序,针对自己的学习板修改了引脚的定义,并实现/增加了以下功能: 1、设置参数其间光标闪烁等待的功能。 网上下的原程序无此功能,设置日期、时间时不知道光标移到哪?当前选中哪个参数,很不方便。 于是我修改了一下设置参数其间光标显示特性为“显示+闪烁”,并增加了等待按键的语句就实现了。 2、增加了一个按键——确认键 S4。 原程序只有3个按键,每次一进入设置参数模式后,都要进入到设置闹钟模式选中字符“@”再按一下加数键或减数键才能返回到正常显示模式,这样至少要按9次S1键(未进入设置闹钟模式、并且无调整过参数大小的情况),或者11次S1键+1次S2/S3键(有进入过设置闹钟的情况、并且无调整过参数大小的情况)。可见会按到你烦。 于是我增加了一个按键——确认键 S4,这样每次进入设置参数模式后,一按S4键就可返回到正常显示模式。 3、增加了闹钟记忆功能。 原程序虽然可以设置闹钟,但每当复位、关断电源后又重新接上电源时原来设置好的闹钟时间就掉失了,要重新设置。 于是我增加了闹钟记忆功能,把设置好的闹钟时间及闹钟开/关状态保存下来,重新接电后就是断电前设置的状态。 注:使用本程序要注意的地方: 1、引脚定义时,DS1302、LCD1602 接到 AT89S52 的哪个引脚。 2、引脚定义部分并未指明 LCD1602 的8位数据线接到单片机的哪个 I/O 口,使用前记得要改为你自己的接法。 我的学习板接的是P2口,变量P2涉及到以下函数: void write_com(uchar com) //写入lcd显示方式 void write_data(uchar date) //向lcd1602写入数据 主要芯片:AT89S52、DS1302、LCD1602 一、系统功能: 1、 用液晶屏 LCD1602 分两行显示“ 年、月、日、周日、时、分、秒 ”,格式如下: 2013-06-28 Fri 15:18:36 2、 还可以设置1个闹钟。 3、 日期、时间、闹钟均可通过按键来调整。 4、 闹钟时间及开关状态可保存,即关机后再开机会显示上次关机前闹钟的设置 5、 共4个独立按键: S1:功能键。用来选择要更改的项目(年、月、日、周日、时、分、秒、闹钟)。 S2:加数键。按1下则数值加1。 S3:减数键。按1下则数值减1。 S4:确认键。在设置参数模式下,一按此键程序即返回到正常显示模式的状态。 在设置闹钟模式下,屏幕第二行显示的格式:@ NO 00:00:00
正常显示模式
设置闹钟模式
|