两位数码管显示设计课程设计说明书_图文_第1页
两位数码管显示设计课程设计说明书_图文_第2页
两位数码管显示设计课程设计说明书_图文_第3页
两位数码管显示设计课程设计说明书_图文_第4页
两位数码管显示设计课程设计说明书_图文_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、 课程设计说明书课程名称:单片机技术设计题目:两位数码管显示设计院系:电子信息与电气工程学院学生姓名:学号:专业班级:指导教师:2012年5月18 日课程设计任务书 两位数码管显示设计摘要:该系统是基于AT89S52单片机的两位数码管显示系统,该系统包括电源模块,复位电路模块,外部时钟电路模块、数码管显示模块构成。通过AT89S52进行控制,用汇编语言编写了两位数码管循环扫描动态显示的专用程序。数码管通过共阳极的三极管进行驱动。电源通过桥堆2W10和7805将通过变压的交流电压变为5V的直流电源。复位用电容与按键的并联来实现。时钟用12M的晶振来控制。通过单片机的片选信号控制数码管的灯管,使其

2、依次点亮,由于人眼有视觉暂留的特性和数码管的余辉效应,而扫描频率足够高,因此人眼是感觉不出数码管的变化的关键词:AT89S52;动态扫描显示;共阳极数码管目录1.设计背景 (11.1单片机发展前景 (11.2共阳极数码管的显示方法 (11.3共阳极数码管的驱动设计 (12.设计方案 (12.1方案一:共阳极数码管静态显示 (22.2方案二:共阳极数码管动态显示 (22.3数码管静态与动态显示的优缺点比较 (33.方案实施 (33.1硬件电路的实施 (33.2电源电路设计 (43.3复位及震荡电路 (53.4 数码管显示 (53.5单片机接口 (63.6软件设计 (63.7实物制作 (94.结果

3、与结论 (94.1结果 (94.2结论 (95.收获与致谢 (106.参考文献 (107.附件 (107.1元器件清单 (107.2硬件原理图 (117.3实物图 (111.设计背景1.1单片机发展前景目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将

4、造就一批计算机应用与智能化控制的科学家、工程师。1.2共阳极数码管的显示方法LED数码管是单片机控制系统中最常见的显示器件之一,一般用来显示处理结果或输入输出信号的状态。数码管显示是一个系统工程中必不可少的人机交互环节,因此关于数码管的驱动也就是系统工程中的一个重要的环节。数码管的驱动分为动态驱动和静态驱动两种。所谓静态驱动,就是指无论多少位LED数码管,同时处于显示状态。动态显示驱动是指无论在任何时刻只有一个LED数码管处于显示状态,及单片机采用“扫描”方式控制各个数码管轮流显示。1.3共阳极数码管的驱动设计将数码管每个LED灯对应单片机的一个I/O口。通过单片机的P口来控制LED灯的亮和灭

5、。I/O口之间互相独立,需要用I/O口直接控制LED。动态显示将数码管的每个引脚一对一连接在一起接单片机的数据,而将各个数码管的公共端单独送至单片机的I/O口进行片选。此外,在此基础上,用单片机与三极管来驱动数码管,从而实现数码管的动态显示。2.设计方案2.1方案一:共阳极数码管静态显示静态显示就是每一个数码管显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种办法单片机中CPU的开销小。能供给单独锁存的I/O接口电路很多,各数码管的公共极固定接有效电平,各数码管的字

6、形控制端分别由各自的控制信号控制。LED显示亮度温度,容易调节,编程容易,工作时占用CPU时间短。但若直接用单片机输出各位数码管的字形信号时,占用单片机的I/O口线较多。一般仅适用于显示位数较少的应用场合。 图21 数码管静态显示电路2.2方案二:共阳极数码管动态显示位和十位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过驱动三极管给数码管相应的位供电,这时只要P3口送出数字的显示代码,数码管就能正常显示数字。数码管动态显示电路如图22所示: 22 共阳极数码管动态显示电路2.3数码管静态与动态显示的优缺点比较静态显示方式简单不容易出错,如果电路设计合适,也能够用较少的线完

7、成多个数码管的显示。但与动态显示相比,动态显示电路连接更简单,节省单片机I/O口,从而节省单片机的资源,如今已经有很多这样成熟的基于动态扫描的芯片。而且采用动态显示方式极大的节省单片机的资源,特别是在单片机的I/O数量比较紧张的情况下,更能体现采用动态显示的优越性。在现在的多数电子系统中,在用到数码管的场合下,多数采用动态扫描技术来显示。因此此次设计我们也采用了动态显示。3.方案实施3.1硬件电路的实施1.硬件组成框图如图3-1: 图31 硬件组成框图该电路的工作原理:AT89S52从稳压电路中获得稳定的+5V 电压,接到VCC 端,提供稳定的电压;P2口通过电阻接到显示电路的七段数码管的a

8、b c d e f g 端口上,数码管的共阳极接到三极管的集电极上;P0.0、P0.1口接三极管的基极作为位选; RST 接复位电路,实现电路的复位;XTAL1、XTAL2接晶振电路;整个电路实现循环动态显示数字0099.3.2电源电路设计当外接交流电源经过变压通过桥堆2W10和 7805时,经C1、C2、C3、C4对电源进行滤波,实现交流电压变为5V 的直流电源,从而直接给单片机提供正常的工作电压。 电源电路如图32所示: 图32 电源电路3.3复位及震荡电路复位用电容与按键的并联来实现,将它们并在一起,一端接高电平,另一端接地,从而实现高电平复位的功能。时钟用12M的晶振来组成振荡电路,来

9、控制单片机对数码管的动态扫描。复位及振荡电路如图33所示: 复位电路震荡电路图33复位及振荡电路3.4 数码管显示 图3-5 数码管显示电路如图3-5所示,两位数码管分别由两个PNP型三极管驱动,三极管的基极通过限流电阻接在单片机P0.0、P0.1,其中P0.0控制数码管的个位,P0.1控制数码管的十位。数码管各段除小数点段外其余七段(a-g通过限流电阻接在单片机P2口(P2.0-P2.6,两位数码管显示由单片机内部程序控制相应接口为低电平,从而实现从0099动态循环显示。数码管上引脚9空闲。其余7个引脚对应七段显示数码管的各段。当引脚相应低电位时有效,由程序查表即可显示相应的数字。例如,当个

10、位数码管显示5时,5在程序中查表对应的十六进制数为92H,对应二进制为10010010B,其中P2.7、P2.4、P2.1为高电平,DP、e、b段熄灭,P2.6、P2.5、P2.3、P2.2、P2.0为低电平,g、f、d、c、a段点亮,则此时数码管上显示数字5。3.5单片机接口3.6软件设计此程序采用汇编语言用十六进制算法编写了两位数码管循环扫描动态显示的专用程序。通过软件的控制使两位数码管能从00计数到99,再回到00,依次进行循环。若在计数期间有复位高电平出现时,便重新从00开始计数。并有电源开关控制让电路是否工作,且有指示灯只是电源是否正常。程序流程图如3-4所示: 图3-4 程序流程图

11、程序如下:BITS EQU 20H;数码管个位数存放内存位置TEN EQU 21H;数码管十位数存放内存位置TEMP EQU 22H;计数器值存放内存位置START:MOV TEMP,#0;初始化寄存器,从0开始STLOP:ACALL DISPLAY;调用显示子程序INC TEMP;计数器加1MOV A,TEMP;CJNE A,#100,NEXT;判断计数器是否满100 MOV TEMP,#0;满100清零从新开始NEXT:LJMP STLOP;不满就循环执行DISPLAY:MOV A,TEMP;将TEMP中的十六进制数转换成十进制MOV B,#10;DIV ABMOV TEN,A;十位在AM

12、OV BITS,B;个位在BMOV DPTR,#NUMTAB;指定查表起始地址MOV R0,#4;DPL1:MOV R1,#250;DPLOP:MOV A,BITS;取个位数MOVC A,A+DPTR;查个位的7段数码管MOV P2,A;送出个位的7段代码CLR P0.0;开个位显示ACALL DELAY1ms;显示162msSETB P0.0;关闭个位显示MOV A,TEN;取十位显示MOVC A,A+DPTR;查十位数的7段代码MOV P2,A;送出十位的7段代码CLR P0.1;开十位显示ACALL DELAY1ms;显示162msSETB P0.1;关闭十位显示DJNZ R1,DPLO

13、P;执行循环250次DJNZ R0,DPL1;执行循环250*4=1000次RETDELAY1ms:MOV R7,#80;延时162ms子程序(2+2*80=162ms,按照12MHZ计算 DJNZ R7,$;RETNUMTAB:DB: 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H3.7实物制作由于没有进行仿真,在实物的焊接这一环节我们小组耽误了不少时间,对着原理图一点点的焊接,焊完之后,发现排版很乱,而且不能正常工作,向老师请求帮助后,拿电路板重新进行焊接,这次我们提前进行了排版,效果好了很多,第二次焊接由于粗心大意,又焊错了好几个地方,

14、好在无伤大雅,修改后,总算是能正常工作了。此次我们重点考虑了晶体和电容与单片机的位置关系。为了减少寄生电容,更好的保证振荡器稳定可靠地工作,我们将晶体与电容尽可能的安装得与单片机芯片近些。使元器件的布局好看了不少。4.结果与结论4.1结果经过对不同方案的分析、比较、取舍,然后进行原理图的设计,再经过电路板的焊接,软件的调试等环节的操作,最终实现了让数码管在单片机的控制下循环显示两位数00-99。过程是艰辛的,中间失败了好些次,经过数次的检测,修改,见到数码管正常工作时的喜悦之情是无以言表的。在正常的计数过程中,若按下复位键后,计数又重新从00开始。有时在刚接入电源时,数码管显示的不是00,这时

15、需要按下复位键才能使其正常工作。最终现实的结果与预想的结果一致。4.2结论此次课程设计,我们使用的是AT89S52的单片机,它是一种低功耗,高性能的CMOS8位微控制器,有40个引脚。通过单片机的不同I/O端口与外设连接,能够控制外设的工作情况,从而实现不同的符合各种需求功能的电路板。而且LED数码管是单片机控制系统中最常见的显示器件之一,一般用来显示处理结果或输入输出信号的状态。不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。单片机的引脚与数码管引脚的连线是要一一对应的,不然,是达不到预期效果的。所以,在制作实物时,这一点是需要特别注意的。5.收获与致谢这次两位数码管显示设

16、计的实习,加深了我对单片机的原理和工作过程的了解,以及系统地、全面地掌握单片机应用系统的基本设计方法、设计步骤和电路参数的计算方法。同时,这次实习增强了我的动手能力,也让我对以前所学的知识进行了复习,更加熟练掌握了原理图的设计与仿真方法,了解硬件电路的焊接及调试过程应注意的问题,能用汇编语言进行软件的编写与调试。在这次实习过程中,非常感谢XXX老师给予我的细心指导和帮助,还有我们小组的每一个成员,这次实习的成功离不开老师的指导和小组的每位成员的努力与付出,正是由于小组成员的共同努力,我们才能以最快速度,成功的完成此次的课程设计。所以真心的对大家表示感谢。6.参考文献1张毅刚.单片机原理及应用(第二版.北京:高等教育出版社,2010.52

温馨提示

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

评论

0/150

提交评论