智能倒计时器毕业设计_第1页
智能倒计时器毕业设计_第2页
智能倒计时器毕业设计_第3页
智能倒计时器毕业设计_第4页
智能倒计时器毕业设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

丽水学院毕业设计(论文)(2009届)题目智能倒计时器的设计指导教师院系机械电子与建筑工程学院班级应电061(高)学号28姓名2009年4月18日智能倒计时器的设计院系:机械电子与建筑工程学院班级:指导老师:姓名:【摘要】本文主要阐述了关于设计一个智能型倒计时器的设计与制作。系统选用8位单片机为控制核心,利用单片机的时钟来做倒计时器的时间,并用8位共阴的数码管显示。它是一个可以人机操作的系统。通过控制电路的按键操作,发出高电平或低电平给单片机处理,并发出指令,可对时间进行预设。该系统不但可以设置天数,而且可以调整当天时间。可用于1—100天的倒计时。

【关键词】单片机;数码管;倒计时;人机操作目录1引言2设计任务分析3方案选定3.1设计思路3.2方案论证与比较3.2.1系统核心模块的选择3.2.2系统显示模块的选择………….43.2.3总体方案确定………………….54方案设计54.1硬件设计54.1.1主要单元电路设计…………….54.2软件设计114.2.1主程序的设计………………..114.2.2显示子程序的设计…………..124.3软件仿真与硬件电路安装、调试144.3.1仿真软件144.3.2程序编写、编译软件………..144.3.3硬件安装与调试…………….155总结评价15致谢16参考文献16附录一:电路原理图17附录二:电路印刷图18附录三:元器件清单19附录三:单片机源程序201引言本次设计主要可分为报警、显示、数据处理和执行机构四个部分。显示器采用七段数码管SM41056K显示,数据处理用MCS-51系列单片机AT89S51进行集中控制。该系统有自动调节的功能,通过改变设定值可以使该设备处于我们想预设的时间,人工预设可对响铃多方预设,设备可以人工预设时间点,当预设的倒计时时间计完时进行声音报警。可做为100天以内的倒计时器。本设计简单、方便、实用、节能型、实惠。采用单片机做主要的控制电路利用外围电路来驱动两个数码管来实现倒计时的作用而且还可以调节你想要倒计的天数。传统单一的倒计时器早已不能实用,因为其功能单一,并且功能不可调等早已不适应未来的发展要求。如何能在传统的基础上能适合未来的发展需要以达到方便与实用,并且可再升级,这一些点就是我们研究的重要方向之一。若采用国外的一些控制器,因为其价格昂贵,推广起来又比较困难。而采用单片机作为控制核心是因为单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。2设计任务分析设计并制作一个100天内的倒计时器系统,该系统能够对当天时间进行倒计时,还可以对多天的时间进行倒计时器,并可预设报警提示的方式。如果时间有误,可通过铵键对时间实现可调节。报警方式是预设好时间点,当预设的倒计时时间计完时进行声音报警,这样可以使工作人员作出及时的处理。拟解决的主要问题:1.倒计时的天数的范围;2.时间计时的精度;3.倒计时的显示原理;4.对系统参数有误可通过手工调整。3方案选定3.1设计思路根据设计要求,设计一个可以对0—100天的倒计时系统,该系统能够满足倒计时的闹钟的功能,当预设的倒计时时间计完时进行声音报警等功能。该系统基本可以分为四个部分。第一是,控制芯片的选择,即核心部分,该部分为系统的大脑,它是用来对数据进行处理、显示、执行操作等一系列模块的衔接和主控部分。第二是显示部分,显示部分也是一个比较重要的部分,这个部分的作用是使系统主人能够看到设置的剩余时间,使设备主人知道自己时间还有,不用担心误事。第三是执行操作部分,执行操作部分的作用是对时间出错进行调整与预设倒计时时间。第四是报警部分,主要实现对倒计时时间完时进行声音报警,提示所设置时间到。3.2方案论证与比较3.2.1系统核心模块的选择方案一:采用FPGA/PLD芯片为核心的设计采用FPGA/PLD进行设计可能在系统功能上还可以作更多的提高,但是这个对设计成本的增加也是必然的,而且FPGA/PLD这些芯片的价格比较高,操作起来难,对于做这些功能的产品来讲有点大材小用,所以也暂时不考虑。方案二:采用AT89S51芯片为核心的设计采用单片机AT89S51进行控制的电路比较简单,要达到以上的功能的没有多大的问题,而且单片机取材方便,价格也比较实惠,对程序的编写和调试也比较的简单,所以各方面来讲都比较适合。根据以上两种方案的比较,确立为方案二的AT89S51作为系统的核心元件。3.2.2系统显示模块的选择方案一:采用数码管(LED)显示器LED数码管数具有显示清晰、亮度高、使用成本低、寿命长的特点,常用来显示各种数字或字符,因此在单片机系统中得到了广泛应用。它的程序编写比较简单,开发周期短,操作控制也比较简单,不易受干扰。LED指示灯取材方便价格便宜电路简单,而且显示效果比较好。方案二:采用液晶(LCD)显示器LCD液晶显示器相对数码管显示器而言,体积大、重量重与使用成本高。维护也比较不容易。根据上述两种方案的比较,因此选择方案一做为显示模块的显示器。3.2.3总体方案确定经过系统核心材料与显示器材料的比较选择,确定以AT89S51单片机为控制核心,采用LED数码管来做为系统显示器,外加一些外围电路来制作智能倒计时器。4方案设计4.1硬件设计本电路设计以AT89S51单片机为系统核心,通过对AT89S51的编程加上一些外围电路来完成所要求的所有功能,电路的原理框图如图1所示。该图包括单片机时钟电路、单片机复位电路、控制电路、显示电路、报警电路和单片机等6个部分。图1基于单片机的设计参考方案框图4.1.1主要单元电路设计1.AT89S51单片机电路设计AT89系列单片机是美国ATMEL公司继承INTEL公司80C31的核心技术并和自身先进的闪电存储器(FLASHMEMORY)技术相结合而产生的FLASH单片机系列。它是一种低功耗、高性能、内含4K/8K字节闪电存储器、用CHMOS工艺制作的8位单片机。AT89S51是ATMEL公司的产品,它具有8位CPU,4个I/O口,32根I/O口线,两个16位的定时器/计数器,五个中断源,两个优先级等特点。1.主要特性与MCS-51兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器,5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2.管脚说明VCC:供电电压。GND:接地。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。AT89S51单片机外围电路设计(1)单片机振荡电路单片机振荡电路的作用是产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保护同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。而时序所研究的则是指令执行中各信号之间的相互时间关系。1)时钟信号的产生如图2所示,此图为单片机时钟信号的产生电路。电路中的两个电容取30pF,振荡电路中的晶振的频率为11.0592MHz。2)引入外部脉冲信号在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。图2振荡电路(2)单片机复位电路在单片机应用系统工作时,除了进入系统正常的初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键进行重新启动。复位电路是通过外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲以上的高电平,单片机便实现复位。复位电路采用上电自动复位;当采用11.0592MHz晶振时,C为22uF,R为1KΩ时,断电后上电便能自动复位。如图:2.显示电路的设计与分析在显示电路的设计中,利用了多位Led显示驱动器MAX7219进行动态显示,max7219是美国MAXIM公司推出的三线串行8位LED显示驱动器,具有多种显示(可控)方式。其管脚说明与单片机接口电路如图4-1所示。由AT89S51的P2.0到.P2.2口输出至MAX7219芯片来控制数码管显示及点亮方式。该电路为动态显示方式,每个数码管轮流点亮1ms,有良好的视觉效果极显示的同步性及可靠性。图4-1MAX7219的管脚说明与显示电路各引脚的功能为:DIN:串行数据输入端DOUT:串行数据输出端,用于级连扩展LOAD:装载数据输入CLK:串行时钟输入DIG0~DIG7:8位LED位选线,从共阴极LED中吸入电流SEGA~SEGGDP

7段驱动和小数点驱动ISET:

通过一个10k电阻和Vcc相连,设置段电流V+:正电源GND:地如图,工作时,MAX7219规定一次接收16位数据,在接收的16位数据中:D15~D12可以与操作无关,可以任意写入,D11~D8决定所选通的内部寄存器地址,D7~D0为待显示数据或是初始化控制字。在CLK脉冲作用下,DIN的数据以串行方式依次移入内部16位寄存器,然后在一个LOAD上升沿作用下,锁存到内部的寄存器中。注意在接收时,先接收最高位D16,最后是D0,因此,在程序发送时必须先送高位数据,在循环移位。工作时序图见图7。由于51是8位单片机故需要分两次来送数据。图7

数据读写时序MAX7219与单片机的连接只需要3条线:LOAD(CS)片选引脚、CLK串行时钟引脚、DIN串行数据引脚。时间倒计时电路的硬件工作原理是:单片机(AT89S51)控制MAX7219芯片来控制显示数码管的倒计时时间。MAX7219的a~~h端口来控制倒计时时间,DIG3端口控制右边数码管上的十位,DIG2端口控制右边数码管上的个位,DIG1端口控制左边数码管上的十位,DIG0端口控制左边数码管上的个位。DIG0~7端口输入高电位时工作,输入低电位时不工作,显示电路框图如图4-2所示。图4-2显示电路图3.按键控制电路设计该部分电路主要起人机操作,该电路按键控制部分的电路接线图如图4-3所示:图4-3按键部分接线图当按S3时可实现设定要倒计时的天数及时间,对S3按一下时,是对第十位的天数设置参数,接着按下S1,调整天数的十位数的0—9间的值,按下S2时是返回设备正常动作状态。如果想设置个位数的天数时,按下S3键时,在没有按返回键S2时,再按一下就可以对个位数的天数设置。其余设置与上述步骤一样。4.LED显示器的设计LED显示器有共阴和共阳两种接法。当选共阴极接法的LED显示器时,所有发光二极管的阴极连在一起接地,当某个发光二极管的阳极加入高电平时,对应的二极管点亮,加入低电平对应的二极管熄灭。LED(LightEmittingDiode)是发光二极管的缩写,通常所说的LED显示器是由七个发光二极管组成,按“日”字形排列,也称七段LED显示器。此外,显示器中还有一个圆点型的发光二极管,表示小数点,图中以dp表示。LED数码显示器的字形(段)码表如表1所列:表1LED数码显示器的字形(段)码表显示字形字形码(共阳极)字形码(共阴极)显示字形字形码(共阳极)字形码(共阴极)0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8RH71H7F8H07H熄灭FFH00H880H7FH系统选用共阴极的LED显示器,所有发光二极管的阴极连在一起接低电平,当某个发光二极管的阳极加到高电平时,对应的二极管点亮,而加低电平的则不亮。4.2软件设计系统的软件设计采用汇编语言,对单片机进行编程实现各项功能。程序是在WINDOWSXP环境下采用keil软件编写的,并在Proteus仿真软件中仿真的。4.2.1主程序的设计主程序首先对片内RAM地址单元进行初始化定义,初始化完后调用显示子程序,实现对数码的显示,接着开启中断与定时器,来完成系统的各项功能。程序的具体流程图如图5所示。图5主程序流程图4.2.2显示子程序的设计以下是显示子程序:DISPLAY:MOVDPTR,#TAB;显示部分MOVR1,#48HMOVR0,#40HMOVR2,#8M6:MOVA,@R0MOVCA,@A+DPTRMOV@R1,AINCR0INCR1DJNZR2,M6ACALLXIANSRETXIANS:ACALLCHUSHIHUA;调用7219初始化子程序MOV20H,#01HMOVR1,#48HMOVR3,#8LOOP:MOV21H,@R1ACALLWRITEWORD;调用写字子程序INC20HINCR1DJNZR3,LOOPRETCHUSHIHUA:MOV20H,#0BH;设置扫描界限地址MOV21H,#07H;设置扫描界限数据ACALLWRITEWORD;调用写字子程序MOV20H,#09H;设置译码模式地址MOV21H,#00H;设置译码模式数据ACALLWRITEWORD;调用写字子程序MOV20H,#0AH;设置亮度模式地址MOV21H,#0AH;设置亮度模式数据ACALLWRITEWORD;调用写字子程序MOV20H,#0CH;设置正常工作模式地址MOV21H,#01H;设置正常工作模式数据ACALLWRITEWORD;调用写字子程序RETWRITEWORD:CLRP2.1NOPMOVA,20HACALLWRITEBYTE;调用写地址子程序NOPMOVA,21HACALLWRITEBYTE;调用写数据子程序NOPSETBP2.1RETWRITEBYTE:MOVR4,#8LOOP1:JBACC.7,LOOP2CLRP2.2AJMPLOOP3LOOP2:SETBP2.2LOOP3:CLRP2.0SETBP2.0RLADJNZR4,LOOP1RET流程图如图6所示:图6显示子程序流程图4.3软件仿真与硬件电路安装、调试4.3.1仿真软件系统仿真软件采用PROTUES单片机仿真软件,该软件是来自英国Labcenterelectronics公司的EDA工具软件,在全球广泛使用,除了和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!应用该软件可以非常直观,便于我们去找出电路的错误之处并加以修改达到想要的效果。4.3.2程序编写、编译软件系统编译软件采用KEIL编译器,该编译器利用汇编进行编程,当程序编写完成后可以进行单步仿真和调试,有利于编程人员了解程序内部走向,使程序执行起来能够更加的透明也便于修改。程序编写调试完成之后该软件可以对汇编程序编译成单片机执行的机器码HEX文件。打开已画的电路图,点击单片机加载HEX文件,让软件进行仿真,要编写的程序正确情况下,我们可以看到以下一个很好的仿真效果图,如图7所示:图7仿真效果图4.3.3硬件安装与调试在硬件安装于调试过程中总体来讲还算顺利,在布线工作都完成的情况,把编写好的程序通过烧录器把程序烧入到AT89S51芯片中,最后把芯片插入已焊好的芯片槽。通电时发现系统的显示电路显示乱码。问题进行分析可以确定为两个方面。1.单片机的复位电路部分没有接好,单片机不工作;2.系统的软件编写可能I/O口与接好的硬件电路的口不一致。经过我的再三检查,后面发现原来把单片机的P1口当成了单片机的P2口接了啊,因此单片机工作时,P1口输出全部为高电平,因此硬件运行时,出现全部点亮。经过更改硬件电路后,再接通电源,硬件设备能正常运行。5总结评价在这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论