两位数码管显示.docx
课书 欲明 心说 网计 多设课程名称:设计题目:学 院:学生姓名:学 号:专业班级:指导教师:单片机技术两位数码管显示设计电子信息与电气工程学院2014年6月13日课程设计任务书设计题目两位数码管显示设计学生姓名叔太出赤*6电子信息与电头m*勿成自动化2011级1赵杰所在学院气工程学院专业、年级、班班设计要求:1. 使用两位数码管显示器,循环显示两位数0099;2. 具有电源开关及指示灯,有复位按键;3. 数码管动态显示,即扫描方式,每一位每隔一段时间点亮一次。字符的亮度及清晰度与每位点亮 停留时间和每位显示的时间内轮换导通次数有关。学生应完成的工作:1. 掌握数码管的显示原理及共阳极数码管的驱动电路;2. 掌握电源的设计方法及整流电路和稳压电路在设计电路中应用;3. 掌握AT89S52各个端口的原理及理解端口在电路应用中工作原理及作用;4. 掌握用程序通过AT89S52控制电路的原理并会编写程序控制一定功能的电路;5. 硬件电路的焊接及调试;6. 撰写课程设计报告;7. 该生主要负责原理图设计。参考文献阅读:1 张毅.单片机原理及应用.高等教育出版社,2009.112 杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.63 童诗白.模拟电子技术基础(第四版).北京:高等教育出版社,2006.54 林之琦.基于Proteus的单片机可视化软硬件仿真.北京:北京航空航天大学出版社,2006工作计划:2014年6月3日一6月6日:原理图设计;2014年6月7日一6月8日:程序的编写;2014年6月9日一6月11日:硬件电路的焊接与软件的调试;2014年6月12日一6月13日:撰写实习报告。任务下达日期:2014年6月3日任务完成日期:2014年6月13日指导教师(签名):学生(签名):两位数码管显示摘要:两位数码管显示设计是基于AT89S52单片机的两位数码显示系统,通过 AT89S52进行控制,利用汇编语言编写两位数码管循环扫描动态显示的专用程序来实现 两位数码管动态显示系统。系统主要由电源模块、复位模块、外部时钟电路模块、数码 管显示模块构成。电源电路通过桥堆2W10和三端稳压器7805将交流电压变为5V的直 流电压。复位电路由电容与按键的并联来实现。时钟通过外部12M的晶振来控制。两位 数码管显示由两个共阳极的三极管进行驱动。将汇编语言编写的两位数码管动态显示程 序写入单片机,使数码管相应段点亮,同时利用人眼的视觉暂留的特性和数码管的余辉 效应,在扫描频率足够高时,人眼无法感觉数码管的变化,从而实现数码管的动态显示。关键词: AT89S52;两位数码管;7805; 2W10;动态显示目录1. 设计背景11.1单片机的应用背景11.2共阳极数码管的显示方法11.3共阳极数码管的驱动设计12. 设计方案12.1方案一:共阳极数码管静态显示12.2方案二:共阳极数码管动态显示22.3数码管静态与动态显示的优缺点比较33. 方案实施33.1电源电路设计33.2复位及震荡电路43.3单片机接口43.4软件设计43.5调试仿真64. 结果与结论74.1设计结果74.2设计结论75. 收获与致谢76. 参考文献87. 附件81. 设计背景1.1单片机的应用背景在信息时代的今天,单片机技术应用越来越广泛,涉及各行各业,几乎很难找到哪 个领域没有单片机的踪迹。如洗衣机、空调、冰箱等的控制系统,就可以用单片机实现。 为了让人们很直观的了解相关设备当前的工作状态,很多时候需要将当前的时间、温度、 工作程序等状态通过数码管显示出来,这就涉及到单片机的数码管显示技术。导弹的导 航装置,飞机上的各种仪表控制工业自动化过程的实时控制和数据处理等都离不开单片 机。因此单片机的学习、开发和应用将造就一批计算机应用与智能化控制的科学家、工 程师。1.2共阳极数码管的显示方法LED数码管是单片机控制系统中最常见的显示器件之一,一般用来显示处理结果或 输入输出信号的状态。数码管显示是一个系统工程中必不可少的人机交换环节因此关于 数码管的驱动也就是系统工程中的一个重要环节。数码管的驱动分为动态驱动和静态驱 动两种。所谓静态驱动,就是指无论多少位LED数码管,都同时处于显示状态。动态显 示数码驱动是指无论在任何时刻只有一个LED数码管处于显示状态,及单片机采用“扫 描”方式控制各个数码管轮流显示。1.3共阳极数码管的驱动设计将数码管每个LED灯对应单片机的一个I/O 口。通过单片机的P 口来控制LED灯的 亮和灭。I/O 口之间互相独立,需要用I/O 口直接控制LED。动态显示将数码管的每个 引脚一对一连接在一起接单片机的的数据,而将各个数码管的公共端单独送至单片机的 I/O 口进行片选。此外,在此基础上用单片机与三极管共同驱动数码管,从而实现数码 管的动态显示。2. 设计方案2.1方案一:共阳极数码管静态显示静态显示,就是每一个数码管显示器都要占用单独的具有锁存功能的I/O接口用于 笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了, 直到要显示新的数据时,再发送新的字形码,因此,使用这种办法单片机中CPU的开销 小。能供给单独锁存的I/O接口电路很多,各数码管的公共极固定接有效电平,各数码管的字形控制端分别由各自的控制信号控制。LED显示亮度温度,容易调节,编程容易, 工作时占用CPU时间短。但若直接用单片机输出各位数码管的字形信号时,占用单片机 的I/O 口线较多。一般仅适用于显示位数较少的应用场合。静态显示电路如图2.1所示。U2 PinJr JL _V-Pl.lP0,0-Pk2POJ-Pl.3P0.2-Pl.4P0.3-Pl.5P0.4-Pl.6P0.5-PL7P0.6-RSTP0.7-P3.031-P3 130-P3.229. Pi ap? 77 Jr J _ J-P3.4P2.6-P3,5P2.5-P3.8P2.4 P3.7P2.3 XTAL2P2.2-XT AllP2JGNDP2.0图2.1静态显示接线图9 R33ID R34393S37363534333231302928272625242322212.2方案二:共阳极数码管动态显示动态显示是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有 效。这样,就没有必要每一位数码管接一个锁存器,从而大大简化了硬件电路。亮数码 管采用动态显示扫描,所谓动态扫描显示即轮流向各位数码管送出字型码和相应位选, 利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像是各位数码管同时都在显示, 动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中 的。缺点是随着显示位数的增多,也将占用大量的CPU时间,因此动态显示的实质是以 牺牲CPU时间来换取器件的减少。数码管动态显示电路如图2.2所示。:9;3it aAL -41- as;心Lo: 4Ql r ve.etai LKULPL.jAJ&SJiPLSAUiOl(AD5M.J 面洋煦.0 (Aia'tP2.2 AL2:(K-4-PL-LiTEXiVCC:MH 网.0图2.2动态显示接线图2.3数码管静态与动态显示的优缺点比较静态显示方式简单不容易出错,如果电路设计合适,也能够用较少的线完成多个数码管的显示。但与动态相比,动态更为简单。本设计要求循环显示,而且要显示两位不同的数字,所以 必须用动态扫描的方法来实现,即采用动态显示的方式,就是先个位显示1毫秒,再十位显示1毫 秒,不断循环,这样只要扫描时间小于1/50秒,就会因为人眼的视觉残留效应,看到两位不同的数 字稳定显示。各位数码管的字形控制端对应地并在一起,由一组I/O端口进行控制,各位的公共极 相互独立,分别由不同的I/O控制信号控制。动态显示的优点:节省I/O端口线,动态显示的缺点显 示亮度不够稳定,影响因素较多;编程较复杂,占用CPU时间较多。3. 方案实施3.1电源电路设计外接交流电源经过变压通过桥堆2W10和7805时,经C1,C2,C3,C4对电源进行 滤波,实现交流电压变为5V的直流电压,从而直接给单片机提供正常的工作电压。电源电路如图3.1所示。图3.1电源电路3.2复位及震荡电路复位用电容及按键并联实现,将它们并联在一起,一端接高电平,一端接地,从而 实现高电平复位的功能。时钟用12M晶振来组成振荡电路,来对单片机对数码管的动态 扫描。晶振及振荡电路如图3.2所示。图3.2晶振与震荡电路3.3单片机接口单片机采用P2 口的I/O来控制数码管的各个引脚复位按键接到引脚9上,数码管 的位选通过三极管和电阻分别与单片机的引脚38和39相连,晶振与单片机的引脚18 和19连接,高电平与40引脚相连接供电,20引脚直接接地。3.4软件设计用汇编语言编写数码管显示专用程序通过程序控制数码管从00显示到99然后再回到00.若在计数期间遇到复位高电平出现时,便重新从00开始计数。程序如下:org 0000hajmp mainorg 000bhajmp itoporg 0030hmain:mov TMOD,#01hmov 20h,#14hclr Amov 40h,Amov 41h,Asetb ET0setb EAmov TH0,#0achmov TL0,#0b0hsetb TR0here:mov dptr,#tabmov A,40hmovc A,a+dptrsetb P0.1mov P2,Aclr P0.0acall dl1mov A,41hmovc A,A+dptrsetb P0.0mov P2,Aclr P0.1 acall dl1sjmp hereitop:push pswpush ACCmov TH0,#0achmov TL0,#0b0hdjnz 20h,returnmov 20h,#14hmov A,#01hadd A,41hmov 41h,Acjne A,#10,returnmov 41h,#00hmov A,#01hadd A,40hmov 40h,Acjne A,#10,returnmov 40h,#00hreturn:pop ACCpop pswretidl1:mov r7,#200dl: mov r6,#250dl6:djnz r6,dl6djnz r7,dlrettab:db 0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0f8h,080h,090hend3.5调试仿真先检查原件,检查电路板线路是否有短路或开路。检查没发现问题,然后进行焊接。 焊接完毕后,接上电源,将程序考入单片机进行调试,发现不亮,后来经检查缺少一根 线,然后进行加线焊接,能够工作。4. 结果与结论4.1设计结果经过不同的方案分析、比较和取舍。然后经过原理图的设计与仿真,在经过电路板 的焊接,软件调试等环节的操作,最终实现了让数码管在单片机的控制下循环显示两位 数00-99.在正常计数的情况下,按下复位键从新从00开始计数,最终结果与预想结果 一致。4.2设计结论在keil软件下多次调试得到满足要求的程序,把编好的程序转化hex文件烧到 AT89S52芯片中,经过精心制作实物,得到能够动态循环显示数字0099的实物电路。 本设计由于采用数码管的动态显示,数码管的亮度不如静态显示的亮度高,采用两个数 码管的显示,所以亮度只有静态显示时的一半;如果刷新率较低会出现闪烁现象;如果 数码管直接与AT89S52相接,软件控制上会比较麻烦。因此本设计采用AT89S52与电阻 相连后再与数码管相连,采用12MHZ频率晶振电路。5. 收获与致谢通过两周的单片机课程实习,提高了自己用汇编语言编写程序的能力,对汇编语言 有了更深的理解,通过自己绘制硬件连接原理图,增强了自己的电路设计能力,同时学 会了 protues和keil软件的基本使用,更重要的是加强了自己的团队合作和动手实践 的能力,然后就是对科学要有一种严谨的作风,要认真,稍微的不慎都会导致之后工作 的大麻烦,很可能要重新做。最后,首先要感谢我的合作伙伴,所有的成果都是在我们 组员齐心协力下完成的,感谢我的指导老师给予我指导与帮助,更应该感谢的是学校能 给我们这次理论联系实践的机会以及给予我们物质上的大力支持,在这里我最衷心的谢 谢你们!6. 参考文献1 张毅.单片机原理及应用.高等教育出版社,2009. 112 杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.63 童诗白.模拟电子技术基础(第四版).北京:高等教育出版社,2006.54 林之琦.基于Proteus的单片机可视化软硬件仿真.北京:北京航空航天大学出版社,20067. 附件附件:元器件清单元器件名称型号规格数量备注单片机AT89S521三极管90152晶振12MHH1电解电容1000UF2指示灯红色1瓷片电容1042瓷片电容33P2数码管SN430521稳压电源DE78051整流桥2W101开关四脚开关1电阻2K1电阻1K2电阻6808fl.JKfAIMfM.HpliEci,ADL iPO. 1JLJ.sAD2iM.2FLJ危EdiM3FL4rAlMiK.4PlJ.-MDEJi:AD=iKJfAKiKFt.-acripa.jiCTTi应 tKLOFaSiKJi,AtC!iKJ(ALL)MJJ3.47Tiii*At2iP2 4M3 时.5疚VEF卜 XIjU.1XTAUVCC笙RJti7Ebjh.lPJ.'iCT'iiLEfSSS1列MTliAT5SSJ2原理图°o'°+ yPCB图实物图指导教师评语:课程设计报告成绩:,占总成绩比例:30%课程设计其它环节成绩:环节名称:考勤,成绩:,占总成绩比例:20%环节名称:综合,成绩:,占总成绩比例:50%总成绩:指导教师签字:年月日本次课程设计负责人意见:负责人签字:年月日