led显示电子钟设计大学毕设论文
- 格式:doc
- 大小:1.08 MB
- 文档页数:24
毕业论文题目LED显示电子钟二〇一〇年七月目录摘要随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位到32位,其发展历程一直受到广大电子爱好者的极大关注。
单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。
然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价格不菲的电子设备外,开发过程也较繁琐。
来自英国Labcenter Electronics公司的Proteus软件很好地诠释了利用现代EDA工具方便快捷开发单片机系统的优势。
它包括PROTEUS VSM(Virtual System Modelling)、PROTEUS PCB DESIGN 两大组成部分,在PC机上就能实现原理图电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证以及形成PCB文件的完整嵌入式系统设计与研发过程。
单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设计两个方面, 其调试过程一般分为软件调试、硬件测试、系统调试3个过程。
如果采用单片机系统的虚拟仿真软件——Proteus,则不用制作具体的电路板也能够完成以上工作。
关键词:数字电子钟; AT89C2051 ;LED; 电子钟;摘要目录第一章前言11.2基本参数 11.3注意事项 1第二章模块特性简介 22.1AT89C2051单片机 22.2LED简介 32.2.1 LED概述 32.2.2 LED优势 32.2.3 LED显示屏32.3系统总体方案介绍 3 第三章系统硬件设计 53.1 Proteus 电路图设计 5第四章系统软件设计 64.1软件的结构 64.2 概述 64.2.1主程序 64.2.2中断服务程序 64.2.3调时程序 7第五章程序设计115.1部分程序一览11 第六章结论 13 参考文献 14III目录致谢 15 附录一软件编写程序 16 附录二主要元器件清单 17前言第一章前言1.1系统功能此课程设计要求用单片机AT89C2051定时功能,中断系统,按键及LED数码管显示,设计一个能显示时、分、秒的数字时钟。
数字时钟通过数码管显示,使用按键开关来实现调时功能。
1.2基本参数1.工作电压:4.5V(3节干电池);2.日期显示范围:2001-2100年;3.时间采用24小时制。
1.3注意事项2. 在安装电池时注意正负极,否则容易烧坏芯片;3.在印制电路板上的焊接元器件前要认真对照原理图,仔细查看印制电路板,找到对应的元器件功能区;4.在电源测试期间请勿将单片机芯片插入座中,以免电源部分有问题造成芯片烧坏。
1模块特性简介第二章模块特性简介2.1AT89C2051单片机AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。
内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel MCS-51系列单片机的指令和输出管脚相兼容。
由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。
AT89C2051是一个有20个引脚的芯片,引脚配置如图2-1所示。
与8051相比,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚下,因而芯片尺寸有所减小。
图2-1 AT89C2051引脚配置AT89C2051芯片的20个引脚功能为:VCC 电源电压。
GND 接地。
RST 复位输入。
当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至“1”。
XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2 来自反向振荡放大器的输出。
P1口 8位双向I/O口。
引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。
P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA电流,并能直接驱动LED显示器;P1口引脚写入“1”后,可用作输入。
在闪速编程与编程校验期间,P1口也可接收编码数据。
P3口引脚P3.0~P3.5与P3.7为7个带内部上拉的双向I/0引脚。
P3.6在内部已与片内比较器输出相连,不能作为通用I/O引脚访问。
P3口的输出缓冲器能接收20mA的灌电流;P3口写入“1”后,内部上拉,可用输入。
P3口也可用作特殊功能口,其功能见表1。
P3口同时也可为闪速存储器编程和编程校验接收控制信号。
模块特性简介2.2LED简介在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。
PN结加反向电压,少数载流子难以注入,故不发光。
这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。
2.2.1 LED优势资料显示,LED光源比白炽灯节电87%、比荧光灯节电50%,而寿命比白炽灯长20~30倍、比荧光灯长10倍。
LED光源因具有节能、环保、长寿命、安全、响应快、体积小、色彩丰富、可控等系列独特优点,被认为是节电降能耗的最佳实现途径。
2.2.2 LED显示屏LED显示屏(LED panel):LED就是light emitting diode ,发光二极管的英文缩写,简称LED。
它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
2.3系统总体方案介绍电脑钟的原理框图如图1所示。
它由以下几个部件组成:单片机89C2051、电源、时分显示部件。
时分显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。
时分显示模块以及显示驱动都通过89C2051的I/O口控制。
电源部分:电源部分有二部分组成。
一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作。
3模块特性简介图2 电子钟系统原理框图硬件电路设计第三章硬件电路设计3.2 Proteus 电路图设计运行Proteus的ISIS 后出现程序主窗口界面,鼠标左键单击窗口左侧的元器件工具栏的component.按钮, 接着再点击窗口左侧的元器件选择区的Pick Divices.按钮,弹出如图1所示的Pick Devices窗口,再在Categ栏里点击MicroprocessorICs项后,在Results栏里会出现各种类型的CPU器件,找到AT89C51后双击,AT89C51就被添加到当前窗口左侧的元器件列表区了。
用同样的方法依次把 DS130、MAX7219、数码管、晶振以及多个电阻、电容也添加到器件列表区里。
然后再依次点击列表区里的器件,单击左键把他们放到绘图区,右键选中元件,并编辑其属性,合理布局后,进行连线。
连线时当鼠标的指针靠近一个对象的引脚时,跟着鼠标的指针r ICs就会出现一个“×”提示符号,点击鼠标左键即可画线了,需要拐弯时点击一下即可,在终点再点击确认一下就画出了一段导线,所有导线画完后,点击工具栏的 Inter-sheeTerminal.按钮,添加上电源和接地符号,原理图的绘制就完成了。
图4Proteus中设计的电子时钟系统原理图5模块特性简介第四章系统软件设计4.1软件的结构4.2概述本系统的软件系统主要可分为主程序和定时器中断程序两大模块。
在程序过程中,加入了抗干扰措施。
下面对部分模块作介绍。
4.2.1主程序主程序的功能是完成系统的初始化,程序流程如图4所示。
4.2.2中断服务程序中断程序(如图6所示)完成时间计数,时间调整,误差消除等功能。
中断采用AT89C2051内部T0中断实现,定时时间为125ms,当时间到达125ms×8,即1分钟时,分计数缓冲器MINBUFFER增加1,到达1小时,则时计数缓冲器HOURBUFFER增加1,并将分、时的个位、十位放入显示缓冲器。
当分计数缓冲器和时计数缓冲器分别到达60min、24h时,则对它们清零,以便从新计数。
在中断设计中,还通过软件实现了累计误差消除功能,使整个系统时间的精确度得到保证。
图5 系统主程序流程图系统软件设计图6 定时中断程序4.2.3调时程序给三个按键,当P2.0口的按键K0按下,则进入调时状态,按K1,K2加1减1操作,再按K0,调分,再按K0,调秒,再按K0,则退出调时功能,进行正常计数运行。
4.2.5 LED显示模组显示数字由于系统要显示的内容较简单,显示量不多,所以选用数码管既方便又经济。
LED有共阴极和共阳极两种。
如图7所示。
二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。
一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管。
当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。
为了保护各段LED不被损坏,需外加限流电阻。
7模块特性简介图7 LED数码管结构原理图众所周知,LED显示数码管通常由硬件7段译码集成电路,完成从数字到显示码的译码驱动。
本系统采用软件译码,以减小体积,降低成本和功耗,软件译码的另一优势还在于比硬件译码有更大的灵活性。
所谓软件译码,即由单片机软件完成从数字到显示码的转换。
从LED数码管结构原理可知,为了显示字符,要为LED显示数码管提供显示段码,组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED数码管的显示段码为1个字节。
各段码位与显示段的对应关系如表1。
表1 各段码位的对应关系需说明的是当用数据口连接LED数码管a~dp引脚时,不同的连接方法,各段码位与显示段有不同的对应关系。
通常数据口的D0位与a段连接,D1位与b 段连接,……D7位与dp段连接,如表1所示,表2为用于LED数码管显示的十六进制数和空白字符与P的显示段码。
表2 LED显示段码注:(1)本表所列各字符的显示段码均为小数点不亮的情况。
系统软件设计(2)“空白”字符即没有任何显示。
根据AT89C2051单片机灌电流能力强,拉电流能力弱的特点,我们选用共阳数码管。
将AT89C2051的P1.0~P1.7分别与共阳数码管的a~g及dp相连,高电平的位对应的LED数码管的段暗,低电平的位对应的LED数码管的段亮,这样,当P0口输出不同的段码,就可以控制数码管显示不同的字符。