基于单片机的电子时钟设计_毕业论文 下载本文

咸阳师范学院2013届本科毕业毕业论文(设计)

图11 时间显示模块

4.控制系统的软件设计

4.1 KEIL集成开发环境的应用与操作

4.1.1 KEIL集成开发环境简介

Keil C51是Keil Software公司出品的51系列兼容单片机C语言软件开发系统。 Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。。在Keil中使用C语言编程,在功能上、结构性、可读性、可维护性上有明显的优势[12]。

4.1.2 KEIL集成开发环境的基本仿真流程[13]

1.新建与保存源程序[13]

第一步:双击KEIL uVision3的桌面快捷方式,启动KEIL集成开发软件。 第二步:新建文本编辑界面或加入原有的程序文件。

选择“File(文件)”→“New”命令或菜单栏的“新建文本”命令,即可在项目界面的右侧打开一个新的文本编辑界面,默认文件名为“Text1”。

第三步:在“Text1”中输入C语言源程序。 第四步:保存源程序。

保存文件时必须加上文件的扩展名并选择路径和文件名进行保存,C语言程序文件的扩展名为“.C”。

2.建立新工程

11

基于单片机的电子时钟设计

第五步:新建KEIL工程。

选择“Project(工程)” →“New Project(新建工程)”命令,将出现保存对话框。在保存工程对话框中输入工程文件名,工程名称不用输入扩展名。输入名称后保存,将出现“Select Device for Target ”对话框。

第六步:选择CPU型号。

在对话框中选择“公司(Atmel)” →“CPU型号”,单击“确定”按钮返回主界面。

3.加入源程序到工程中

4.2 Proteus软件简介

Proteus软件是目前世界上最先进的嵌入式系统设计与仿真平台,可以实现模拟电路、数字电路及各种电路系统的仿真和PCB设计等功能,是目前唯一一个能够对各种处理器进行实时仿真、调试与测试的EDA工具。微控制器系统相关的仿真需建立编译和调试环境,可选择Keil 5 软件。该软件支持许多芯片,集编辑、编译和程序仿真于一体,同时还支持汇编和C语言的程序设计。它的界面简单易学,在调试程序、软件仿真方面有很强大的功能[14]。

其最关键的功能是:将电路仿真和微处理器仿真进行协同,直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过动态器件如LED、开关等,实时看到运行后的输入、输出的结果, Proteus为我们建立了比较完整的电子设计开发环境[15]。

4.3程序流程图

图12 主程序流程图

12

咸阳师范学院2013届本科毕业毕业论文(设计)

本设计的主程序是一个循环的过程,其流程是:开始运行显示正常时间,如果扫描过程中,发现有键按下,则进行时间和闹钟模式的切换,再次按下,进行时分秒的校正;如果没有键按下,则正常显示时间;在正常时间显示过程中,若定时时间到,则闹钟自动响起,否则时间正常显示。

4.4仿真结果

仿真结果如下图13所示。

图13 仿真结果

4.5 仿真结果分析

本设计实现了时分秒的显示,设计简单,对时间的调节感觉不是很好,在闹钟定时方面还是比较满意。在测试过程中,有很多小问题,通过多次的修改程序并在Proteus软件中进行仿真,最终解决可了这些问题,同时也反映出我在单片机设计和程序设计方面的不足[16]。仿真效果达到了预期的效果,能通过调节控制键来矫正时间,是本人比较满意。

5.总结

首先,我觉得这次的单片机设计非常必要,通过这次的设计使我们学到了

更多的关于单片机的实际应用知识,以前在课堂上只是简单的掌握了一些基础知识和简单指令,对于实际的应用还很陌生。

刚开始设计时,脑子里一片空白,不知道从哪开始下手,学过的知识不知道

13

基于单片机的电子时钟设计

怎么运用。设计,编程,仿真,每一步都感觉很难,尤其是编程这一块,老是有错误,后来我发现,应该把程序分开来,一块一块的进行编程,不能混在一起,否则程序太大了,容易混淆,很难发现里面存在的问题。于是我把程序按照实现的功能不同分成几部分,然后进行逐一分析,进行编程,把每一部分实现的功能都实现后再对整个的程序进行整理。

这次设计让我深有感触的是做什么事都要细心,并且一定要有耐心,不然只会半途而废,而且思路很重要,当有了明确的思路之后再按照思路一步一步的按照步骤来走,注意细节,这样会大大提高效率,而且会节省很多时间和精力。

以上这些就是我在这次设计中学到的东西,而且将这些东西运用到以后的学习中。

14