




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的点阵显示电子钟设计DotMatrixDisplayElectronicClockdesignbasedonSCM学部:信息专业:计算机科学与技术毕业设计(论文)完成时间:自2012年12月至2013年5月摘要电字钟是实现对“时”、“分”、“秒”数字显示的计时装置,电子钟可以在正常工作情况下突然断电后还可以保存原来的时间数据,而不用在来电的时候重新调时。基于单片机的点阵显示电子钟具有结构简单、性能可靠、价格低和显示内容多样化等优点,因此得到广泛应用。本课题设计的电子钟由单片机AT89S52、按键电路、显示电路、电源电路、复位电路、行驱动电路、列驱动电路等构成。在此次设计中,电路具有在五个8*8点阵屏上显示时间的基本功能,并且可以调整时间。关键词:单片机;电子钟;点阵AbstractElectricwordclockisof"when","sub","seconds"thefiguresshowthatthetimingdevice,electronicclockcansuddenlyswitchedoffduringnormalworkingconditionscanalsosavetimedataoftheoriginal,withouthavingtoadjustintimewhenthecall.Singlechipdotmatrixdisplayelectronicclockhastheadvantagesofsimplestructure,reliableperformance,lowpriceanddisplaycontentbasedonvariousadvantages,soithasbeenwidelyapplied.ThistopicisthedesignoftheelectronicclockchipAT89S52,keyboardcircuit,displaycircuit,powercircuit,resetcircuit,drivecircuit,acolumndrivingcircuit.Inthisdesign,thecircuithasadisplaythebasicfunctionoftimeinfive8*8latticescreen,andcanadjustthetime.Keywords:SCMElectronicClockDotMatrix
目录1概述 12方案选择 12.1项目功能 12.2方案论证 12.3开发环境的选取 33系统硬件设计 33.1主要电子元件 33.1.1单片机芯片 33.1.2显示单元 43.1.374LS373锁存器 53.1.4译码器74LS138 53.2电路图 64软件设计 74.1总体设计 74.2程序代码 85仿真结果与分析 105.1测试项目 105.2结果 106实物制作结果及分析 116.1制作过程 116.2问题及结果 12结论 13参考文献 14致谢 151概述随着科学技术日新月异的发展,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。计算机技术在不断进步,它在各种智能控制系统的应用也不断深入与发展,单片机具有体积小,功能强,成本低,应用面广等优点。彩电、冰箱、空调、录像机、遥控器等无处不见单片机的影子,单片机大大的提高了这些产品的的智能性,易用性等主演性能指标,给我们的生活带来方舒适和方便的同时,在工农业生厂上也极大的提高了生产效率和产品质量。LED点阵作为电子时钟的显示屏,最大的优点在于其显示内容的多样性,为用户提供了灵活的人机交互界面。LED点阵显示器具有亮度高、发光均匀、可靠性好。接线简单。拼装方便等优点,能构成各种尺寸的显示屏。在时代背景的影响下,LED显示屏的研究意义也尤为明显:一是节能(直接功耗,间接耗能),二是基本无电离辐射,三是提高空间利用率。我们可以看到,随着科学技术的不断进步,以及LED显示技术的不断完善,LED点阵显示屏的应用领域将会越来越广。作为毕业设计,这次做的电子钟是以单片机(AT89S52)为核心,采用高精度的12MHz晶振,结合相关的元器件(LED数码显示器、驱动器74LS07等),再配以相应的软件,达到制作点阵显示电子钟的目的,核心主要分为硬件设计和软件编程两个大的方面。硬件电路设计主要包括中央处理单元电路、数码显示电路、人机接口电路等几部分组成,软件用汇编语言来实现。其硬件部分难点在于元器件的选择、布局及焊接。2方案选择2.1项目功能本课题设计的电子钟采用AT89S52为核心控制器,具有在五个8*8点阵屏上显示时间的功能。主要是实现对“时”、“分”、“秒”数字显示。可以通过按键调整时间。2.2方案论证总体思路:本设计采用单片机为核心控制器,采用并行方式显示,提供+5V/0.5A电源,通过锁存器芯片来扩展I/O口,达到控制LED点阵的40个列线的目的。运用5片锁存器74LS373来组成5组双缓冲寄存器,驱动LED点阵的8组列线,用3/8译码器74LS138对LED点阵的8行进行扫描。在送每一行的数据到LED点阵时,先把数据分别送到5个74LS373,然后再把数据一起输出到LED点阵列中,送出去的时间数据由AT89S52来控制。方案一:主控模块采用FPGA作为系统的控制器。FPGA(现场可编程门阵列)可以实现各种复杂的逻辑功能,它把所有的器件都集中在一块芯片上,体积小,稳定性高。使用FPGA/CPLD设计软件一般需要对电路进行逻辑综合优化,以得到易于实现的结果,因此,最终设计和原始设计之间在逻辑实现和时延方面具有一定的差异。从而使传统设计方法中经常采用的一些电路形式(特别是一些异步时序电路)在FPGA/CPLD设计方法中并不适用。这就要求设计人员更加了解FPGA/CPLD设计软件的特点,才能得到优化的设计。FPGA一般采用查找表(LUT)结构(Xilinx),AND-OR结构(Altera)或多路选择器结构(Actel),时延过大,造成原始设计中同步信号之间发生时序偏移。同时,如果电路较大,需要经过划分才能实现,由于引出端的延迟时间,更加大了延迟时间和时序偏移。要精确地控制电路的时延是非常困难的,特别是在像FPGA/CPLD这样的可编程逻辑当中。FPGA/CPLD的容量和I/O数目都是有限的,因此,一个较大的电路,需经逻辑划分((LogicPartition)才能用多个FPGA/CPLD芯片实现,划分算法的优劣直接影响设计的性能。由于目标系统的PCB板的修改代价很高,用户一般希望能够在固定的引脚分配的前提下对电路进行修改。但在芯片利用率提高,或者芯片I/O引出端很多的情况下,微小的修改往往会降低芯片的流通率。编程语言使用C语言编程。方案二:主控模块采用AT89S52单片机作为系统的控制器。AT89S52片内集成256字节程序运行空间、8K字节Flash存储空间,支持最大64K外部存储扩展。根据不同的运行速度和功耗的要求,时钟频率可以设置在0-33M之间。片内资源有4组I/O控制端口、3个定时器、8个中断、软件设置低能耗模式、看门狗和断电保护。可以在4V到5.5V宽电压范围内正常工作。不断发展的半导体工艺也让该单片机的功耗不断降低。同时,该单片机支持计算机并口下载,简单的数字芯片就可以制成下载线,根据不同场合的要求,这款单片机提供了多种封装。编程语言使用汇编语言。最终方案:综合考虑到由于FPGA的管脚比较多,布线起来会比较复杂,成本也会偏高,适合用于小批量系统。还有,虽然当程序稍大一些的时候,使用C语言开发速度比汇编语言要快,维护修改也比汇编语言容易但是当程序比较小只有几K时,汇编语言的优势就体现出来了,使用汇编语言比使用C语言编程更容易规划清楚。而且使用汇编语言目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。故本课题选择了使用AT89S52单片机与74LS07驱动器、8*8LED点阵,使用Wave6000编译汇编语言,使用Proteus仿真调试。本设计由硬件设计和软件设计两部分组成。系统的硬件主要由以下几个部件组成:单片机AT89S52、显示电路、按键电路、复位电路、电源电路、行驱动电路、列驱动电路等,其系统框图如图1所示。AT89S52AT89S52控制器列驱动电路电源电路复位电路按键电路图1系统框图行驱动电路显示电路2.3开发环境的选取本设计采用KeilC51和PROTEUS联合仿真。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Protues软件不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。Protues从原理图布图、代码调试到单片机与外围电路协同仿真,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。3系统硬件设计3.1主要电子元件3.1.1单片机芯片AT89S52片内集成256字节程序运行空间、8K字节Flash存储空间,支持最大64K外部存储扩展。根据不同的运行速度和功耗的要求,时钟频率可以设置在0-33M之间。片内资源有4组I/O控制端口、3个定时器、8个中断、软件设置低能耗模式、看门狗和断电保护。可以在4V到5.5V宽电压范围内正常工作。不断发展的半导体工艺也让该单片机的功耗不断降低。同时,该单片机支持计算机并口下载,简单的数字芯片就可以制成下载线。根据不同场合的要求,这款单片机提供了多种封装,因此我们采用AT89S52作为单片机模块,图2为芯片引脚结构图。图2AT89S52引脚结构图图2AT89S52引脚结构图3.1.2显示单元LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。LED点阵显示器具有亮度高、发光均匀、可靠性好。接线简单。拼装方便等优点,能构成各种尺寸的显示屏。在本设计中我使用的是五个8*8的LED点阵显示器屏。显示屏的控制电路接收显示信号,驱动LED发光产生画面,并通过增加功放、音箱输出声音。点阵内部结构及外形如图3所示。8*8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮。图38*8LED点阵引脚图3.1.374LS373锁存器74LS373是常用的带有三态门的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块74LS373芯片。当门控端G输入正脉冲,且输出控制OE高电平有效时,D端的数据被锁存到锁存器的输出端:当G为低电平时,输出Q保持不变,当OE为低电平时,输出Q是高阻态。74LS373引脚图如图4所示。图474LS373引脚排列图3.1.4译码器74LS13874LS138为3线8线译码器,74LS138功能是利用S1、/S2和/S3可级联扩展成24线译码器,若外接一个反相器还可级联扩展成32线译码器。若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。控制端S1、/S2和/S3。当S1、/S2接低电平时,输出为高电平(S=1),译码器处于工作状态。否则,译码器被禁止,所有的输出端被封锁在高电平。74LS138引脚图如图5所示。图574LS138引脚图3.2电路图此次单片机点阵显示电子钟的设计采用AT89S52为主控制芯片,并由其定时器提供时钟,利用LED进行时间的显示。图6为用Proteus软件画的原理图。图图6原理图时分调节电路通过对读入键盘的值控制“时”、“分”的数字显示。使用三个按键来控制,其中按键1用来调节数字“时”。按键2用来调节数字“分”,这两个按键都是按一次按键时,在原有数字基础上加1。该电路中的复位电路为上电与按键均为有效的复位,电路如图7所示。上电瞬间RST引脚获得高电平,随电容C1的充电,RST引脚的高电平将逐渐下降RST引脚上的高电平只能保持两个机器周期的时间,单片机就可以进行复位操作。单片机在运行期间,我们可以利用按键3来完成复位。当按键开关按下瞬间,RST上的电平立即变为高电平,即可进行复位。图7复位电路晶振电路如图8所示,由两个30pF电容C1、C2和一个6MHz的晶振X1组成。它能产生一个高精度且稳定的振荡信号,即频率为6MHz的方波信号,此信号为单片机提供一个时钟信号,以供定时器定时用。图8晶振电路4软件设计4.1总体设计主程序:本次设计的软件部分由主程序,静态显示子程序,中断服务程序,时、分加1子程序,时、分单元清零子程序组成。主程序流程图如图9所示。由于计时中断要精确,所以我们直接用T0计时器产生一个20ms的中断程序,在计时中断程序中完成对时分秒的调整,而调时程序采用了两个外部中断来完成。图9主程序流程图4.2程序代码1.主程序代码如下:
MAIN:MOVSP,#60H
MOVTMOD,#01H
MOVTLO,#0e0H
MOVTHO,#0b1H
MOVIE,#87H
MOV30H,#01H
MOV31H,#02H
MOV32H,#0AH
MOV33H,#00H
MOV34H,#00H
MOV35H,#00H
MOV36H,#00H
SETBIT0
SETBIT1
SETBPT0
SETBTR02.计时中断程序代码如下:
INTT0:MOVTLO,#0e0H
MOVTHO,#0b1H
PUSHACC
PUSHPSW
INC36H
MOVA,36H
CJNEA,#25,PLL
MOV32H,#0BH
PLL:CJNEA,#50,ENDD
MOV32H,#0AH
MOV36H,#00H
INC35H
MOVA,35H
CJNEA,#60,ENDd
MOV35H,#00H
INC34H
MOVA,34H
CJNEA,#0AH,ENDd
MOV34H,#00H
INC33H
MOVA,33H
CJNEA,#06H,ENDd
MOV33H,#00H
INC31H
MOVA,30H
CJNEA,#02,END1
MOVA,31H
CJNEA,#04,END1
MOV31H,#00H
MOV30H,#00H
END1:MOVA,31H
CJNEA,#0AH,ENDd
MOV31H,#00H
INC30H
ENDd:POPPSW
POPACC
RETI3.数码管显示动态扫描时,用到延时程序,这里使用延迟的程序,此程序需要反复调用,程序代码如下:DELAY:MOV37H,#50DEL:MOV38H,#4
DJNZ38H,$
DJNZ37H,DEL
RET 5仿真结果与分析5.1测试项目根据我的设计的要求,在protues仿真软件运行下,我要对以下性能做出测试:(1)上电显示是否为12:00;(2)按键是否起到应有的作用,即点击两个按键时分是否能加1;(3)复位按键是否能起到作用。5.2结果经过程序编写,绘制电路图,将二者匹配之后得出以下结果:(1)上电显示为12:00,经过多次修改程序最后调试出来理想的效果如图10:图10上电显示效果图(2)分别点击两个按键,能调整时间,调试后的电路如图11:图11仿真时间调整(3)点击复位按键,时间重置为12:00,调试后的电路如图12:图12复位效果图6实物制作结果及分析6.1制作过程在制作实物的过程中主要有以下工作:首先根据硬件逻辑设计图,仔细检查线路是否连接正确,并核对元器件的型号、规格和安装是否符合要求,必要时可用万用表检测线路通断情况。实物的第一次通电测试很重要,若实物中存在电源故障,则加电后将造成器件损坏。其次在确保电源良好前提下,接通电源。最好在电源与其余电路之间串接一个电流表。若接通后电流很大,必须立即切断电源。电源大得超出正常范围,说明电路中有短路或故障。通电检查的主要目的是看系统是否存在短路或由元器件损坏、装配错误引起的电流异常。最后检查芯片的逻辑关系是否出错,加电后检查各芯片插座上相关引脚的电位,仔细测量相应的输入输出电平是否正常。6.2问题及结果(1)在程序调试时出现了很多问题比如跳转距离过长、打错字母、逻辑有错等,发现问题后利用两天时间进行了改正(2)键盘的选择,开始使用P2口,但发现P2已经作为输出口使用,后改为P3口后按键正常工作。(3)在电子钟硬件实现过程中也出现了一些问题:引脚接错、插线松动、电线不通等等。最后的实物如图13:图13实物图结论本次毕业设计到现在已有5个月,本设计是一个基于AT89C52的LED点阵显示电子钟,是将电子钟的数字显示用LED点阵的方式来实现的。硬件系统关系到所要设计的电子产品好怀,如系统抗干扰性等,所以要合理的安排尽量减少干扰提高性能。单片机是很容易受干扰的控制器,当采用外部晶振时,应尽量让其靠近单片机减少对其干扰。同时还可以采用隔离等方式减少干扰,硬件系统设计的好坏很大部分来源于经验,所以我们要有动手的好习惯。软件设计是核心部分,具有多样化,灵活性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论