目录
摘要:本文介绍了一款多功能数字时钟系统的软件设计。该系统能够显示当前日期、时间,并且具有日期、时间设置等功能。该系统采用51系列STC公司生产的STC89C51单片机,以及利用LED点阵显示器F3.0来显示数字时钟的结果。实时日历和时钟显示的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89C52单片机,LED显示电路,以及调时按键电路等组成,系统通过LED显示数据,所以具有人性化的操作和直观的显示效果。软件方面主要包括时钟程序、键盘程序,显示程序等。本系统以单片机的汇编语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现调整时间及日期显示功能。所有程序编写完成后,在keil软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
1.绪论
1.1课题意义
LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
1.2课题目的
通过课程设计,进一步熟悉和掌握AT89C51单片机的结构及工作原理,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。通过完成一个包括电路设计和程序开发的完整过程,进一步了解开发一单片机应用系统的全过程,通过此综合训练,为以后毕业设计打下一定的基础。
(1)利用74HC595扩展单片机IO口间接控制LED点阵使其显示。
(2)综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力,加深对单片机课程的全面认识。
(3)通过本次课程设计能够对程序进行编写和调试。
(4)通过本次系统设计,增强自己的动手能力。认识单片机在日常生活中的应用的广泛性,实用性。
1.3 数字时钟的应用及发展前景
数字时钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示日期、农历、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩[3]。
数字时钟[4]是采用单片机原理实现对年、月、日、周、时、分、秒,数字显示及到时提醒的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的,所以数字时钟有很大的发展前景。
1.4 课题的研究内容及技术要求
1.4.1 本课题的研究内容
本课题只涉及系统的软件部分。具体来说,本设计所研究的主要内容是根据所学的单片机及多种芯片的有关知识,实现数字时钟的功能。设计出一个可以显示出当前日期、时间的数字时钟系统,同时该系统必须具有日期调整和时间调整等功能。
1.4.2 本课题的主要任务
1.4.2.1 功能要求
采用STC89C52单片机和LED点阵显示能显示当前的月、日、时、分、秒,24小时制;月、日、时、分、秒均可以单独设置,设置时该项目闪烁;外接3个按键,一个用于选择需要设置的项目,一个增加、一个减少。
1.4.2.2 主要技术指标
计时精度误差:≤1秒/日。LED显示清晰,不能有明显的残影、乱码。
电源:DC5V、2A。
1.4.2.3 工艺要求
印刷电路板布局合理、走线清晰整洁。IC装在插座上,发热元、器件应考虑散热的方法。在印制板上应留出定位孔及固定支架所占用的位置。焊点大小适中、呈锥状、美观、结实、光亮、无虚焊;跳线整齐美观。程序采用C51语言编写,适当注释,具备良好的编程风格。在PCB版上应明显标识作者姓名。
2 设计要求与方案论证
2.1 设计基本要求
本设计只涉及“基于51单片机的数字时钟系统软件设计”的软件部分,所用的单片机是容易理解和掌握的MCS-51系列单片机中的STC89C52。需要设计出一款实用而且功能较全面的数字时钟。本设计所研究的主要内容是根据所学的单片机知识,利用C51语言编程,再结合数字时钟系统的硬件[5]部分,设计出一个可以显示出当前日期、时间等的数字时钟系统,同时该系统必须具有日期调整和时间调整等功能。
2.2 编程语言方案论证
2.2.1 汇编语言
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的不同平台之间不可直接移植。
许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。