李京京
辽宁锦州渤海大学工学院
基于单片机的数字万年历系统设计
李京京
辽宁锦州渤海大学工学院
万年历作为一个在记录时间方面有着重大意义的工具,其发明的源头来源于古人通过夜观星象突发的灵感。随着社会的不断发展,生活水平的不断提高,特别是单片机的突飞猛进推动了万年历的发展,万年历实现数字化已经成为我们日常生活中的一大重要的研发,为我们的生活带来了极大的便捷。
万年历 单片机 数字化
万年历是一种以数字的方式显示时,分,秒的设备,实现的电路应用的是数字电路,在我们的日常生活中应用很广泛,涉及的领域有汽车站,商店,超市,商场等等一些地方,而且万年历的存在已经成为了我们日常生活的一部分,与我们的生活息息相关。随着振荡器的不断发展以及数字集成电路的不断进步,相比于传统的钟表,数字钟在精确性方面有着很大的优势,将钟表进行了数字化,这对于我们的生活有着起到的很大的便捷,钟表的数字化在报时模块功能的实现在传统的钟表的基础上得到了很大的提高与改进。
万年历中记录记录了阳历与阴历,时间上是按照具体的时间范围进行设计的。随着电子通信技术的不断发展,特别是单片机技术起到了很大的进步,单片机的发展促进了万年历的广泛应用。单片机之所以可以在通信领域,电子技术中取到很大的发展,这跟单片机的优点分不开,性价比高,单片机在外形上设计时体积足够小,使用起来也比较方便,本系统的万年历的设计的核心是单片机,单片机和液晶技术的相互组合,并且开放起来比较容易,从而促使了万年历在时间上足够精确,在外形显示方面足够的直观和清晰。
在我们的生活中国万年历的存在几乎是无处不在的,广泛应用到了我们平日的车站,医院,广场等这些公共场合中,万年历在时间的精确性方面满足人们的需求,现代科技技术万年历赋予了科技的特性。万年历的界面部分直观地显示了年,月,日,时分秒的数字,我们还可以在界面上通过具体的按钮操作实现时间上的修改,可以是星期的修改,日期的修改也可以是时分秒的修改,万年历是一种电子设备通过界面的数字闪动很直观地看出来。
本论文中的万年历系统的设计是以51单片机技术为依托的,显示的方式是通过实时的温度进行显示的,功能上实现了定时,另外还能显示具体的年份,月份,甚至精确到具体的秒钟,而且时间与日期这些都是可以进行调整修改的,也可以进行温度的采集等等。软件设计方面的程序大体上是由上位机程序,调整时间程序,显示程序,以及日历程序这个程序组成的。模块部分主要包括了按键部分,采集温度部分,时钟模块,显示模块等等。
3.1芯片选择
本文选择的单片机是MCS-51,而硬件的核心是选择芯片AT89S5,选择该芯片的原因是考虑到了为了与所选择的单片机之间可以很好的进行兼容起来,为电路之间的连接起到帮助的作用,AT89S51芯片的里面包括了存储空间,大小为4kB的ROM,而且工作时对电压的要求是3V,功率损耗方面也得到了降低,成本的投入也降低了,从而在效率方面得到了很大的改善,该芯片使用中没必要反反复复地进行插入和拔出的操作,可以任意地删除或者修改内部的内容,即使如此也不会对芯片造成一定的损坏,综合了以上的这些描述,所以本文中的万年历系统就选择了AT89S5。有关设备选型表如表1-1所示。
3.2按键模块设计
本系统中在CPU对按键的方面用的是中断控制扫描是形式,而且该方式是通过外部的中断电源对输入的信号进行响应。当不对按键做任何的操作的时候,CPU就正常运作,当按键被按下的时候,就会中断CPU,系统要确定按下的是哪个键这个需要依靠扫描键盘,当按键被确定后接着就是进行功能子程序的运作,按键的确定的这部分的实现是把每个按键都相应和一个与门进行连接,由于是与门,所以输入端只有有一个是0,那么经过与后结果都是0,所以只要有一个按键被按下的话,输出的电平就会是低电平,因此才会中断单片机,这种实现方式的一个重大的好处是不需要做主程序中一直做循环的操作,当查询到了按键的操作后,单片机启动相应的程序。
表1-1 设备选型表
3.3 复位电路的设计
初始状态下单片机参加运行这就是所谓的复位电路,经常用到的复位电路主要有按键复位和上位复位。本系统万年历的设计采用的复位电路是按键复位电路,这是因为类似于上电复位电路般,按键复位电路也同样可以对确保在上电单片机之后,单片机的状态变为了复位,此外在操作方面实行起来也比较容易。当电容获得充电后,RERST的引脚的电平就会降低。而且一段时间之内,单片机的复位是可以进行的。
4.1键盘设计
键盘部分的设计是独立式的,其中每一个键对应着一根I/ O口线,虽然这两者之间是相互一一对应,但是键与I/O口线之间是相互分离,相互不影响的。比如当有3个操作键分别是K1,K2,K3,其中K1指的的是设置键,K2对应着上调键,K3对应着下调键。以编程扫描的方式作为键盘的运行方式,通过CPU进行子程序的扫描。当有按键操作发生时,扫描程序就会对该按键进行指令的查询,从而进一步对下面的一步进行操作,当没有按键操作的时候就会返回。
4.2控制面板设计
所谓的控制面板指的就是万历年的外形图,在控制面板上有16个数码管显示,这几个数码管主要是用来显示具体的时钟上时间的数字,而钟表上的时间包括了时分秒,年月日等等,具体的控制面板的规定如下:
显示的温度的是3位数码管,显示星期的是1位,显示日的时间的是2位,显示月的时间的是2位,显示月份的时间是2位,显示年份的时间是4位。时间的显示数字变化范围是从00到24,显示分和秒的范围是00到59,显示星期的时间范围是星期一到星期日。
在控制面板中关于闹钟设置和定时部分都有固定的按键,按键上都标有具体的操作名称。时间设置的操作具体如下首先是按下设置时间的这个操作的名称,然后用户通过按下控制面板上的“+”和“-”符号分别对时间进行加和减,接着再继续设置年月日,通过按下“下一步”的操作。时间数据设置结束后按下确定键,系统就会保存用户输入的数据值通过单片机进行计时。系统的电路图如图1-1所示。
图1-1 数字万年历电路原理图
软件设计部分主要包括了显示日历时钟,显示温度,扫描键盘和中断模块等等。通过系统设计部分的硬件,万年历总体结构设计如图1-2所示。
图1-2 系统总结构图
温度显示模块的流程图如图1-3所示。
图1-3 温度显示模块流程图
本系统包括了软件设计和硬件设计,并给出了部分设计的流程图。万年历的设计相对于传统的钟表而言,在结构方面更加的直观,简洁易懂,在调试方面更加的方便操作,而且所投入的成本比较低,消耗的功率也比较低,本系统用到的思想是模块化设计,开发的时间周期也比较短,本系统将万年历的功能实现部分分为几个模块,这几个模块之间是互不影响的,彼此间相互独立,扩展性很大。
[1] 段磊.基于AT89C51单片机控制的万年历探究[J].海峡科学,2012,62(2)
[2] 李伟跃.基于时钟芯片DS1302 的万年历的设计[J].科技创新导报,2012,9:2-3
[3] 杨振江,杜铁军,李群.流行单片机实用子程序及应用实例[M].西安:西安电子科技大学出版社,2002:101-106