《单片机技术课程设计两位数码管显示设计.doc》由会员分享,可在线阅读,更多相关《单片机技术课程设计两位数码管显示设计.doc(18页珍藏版)》请在三一办公上搜索。
1、课 程 设 计 说 明 书课程名称: 单片机技术 设计题目: 两位数码管显示设计 院 系: 电子信息与电气工程学院 学生姓名: X X X 学 号: XXXXXXXX 专业班级: XXXXXXXXXX 指导教师: X X X 2012年 5月 18 日课 程 设 计 任 务 书设计题目两位数码管显示设计学生姓名汪平炜所在院系电子信息与电气工程学院专业、年级、班09电子信息工程(一)班设计要求:使用两位数码管显示器,循环显示两位数00-99;具有电源开关和指示灯,有复位按键;数码管动态显示,即扫描方式,每一位每间隔一段时间扫描一次。字符的亮度及清晰度与每位点亮的停留时间和每位显示的时间内轮换导通
2、次数有关。 学生应完成的工作: 本设计以AT89S52单片机为主控模块,利用汇编语言编写两位数码管循环扫描动态显示的专用程序来实现两位数码管动态显示系统。学生可以通过查阅手册和文献资料来选择合适的元器件,并设计合理的电路来实现符合要求的电路板实物。主要任务包括:(1)原理图的设计。(2)学会对不同方案进行比较分析,并通过整体优点与缺点的比较,确定合理的方案。(3)硬件电路的焊接及调试。(4)用汇编语言进行软件的编写与调试。(5)撰写课程设计报告。(6)该生负责流程图和软件编写。参考文献阅读:1 张毅刚.单片机原理及应用(第二版).北京:高等教育出版社,2010.5 2童诗白.模拟电子技术基础(
3、第四版).北京:高等教育出版社,2006.53杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.64林之琦.基于Proteus的单片机可视化软硬件仿真.北京:北京航空航天大学出版社,2006工作计划:2012年5月 7 日 年5 月9 日:原理图设计;2012年5月10日 年5月11日:程序的编写;2012年5月14日 年5月16日:硬件电路的焊接与软件的调试;2012年5月17日 年5月18日:撰写实习报告。任务下达日期:2012 年5月 7 日 任务完成日期:2012 年5月 18 日指导教师(签名): 学生(签名): 两位数码管显示设计摘 要:本设计
4、以AT89S52单片机为主控模块,利用汇编语言编写两位数码管循环扫描动态显示的专用程序来实现两位数码管动态显示系统,系统主要由电源模块、复位模块、外部时钟电路模块、数码管显示模块构成。电源电路通过桥堆2W10和三端稳压器7805将交流电压变为5V的直流电压。复位电路由电容与按键的并联来实现。时钟通过外部12M的晶振来控制。两位数码管显示由两个共阳极的三极管进行驱动。将汇编语言编写的两位数码管动态显示程序写入单片机来控制P2口,使数码管相应段点亮,同时利用人眼视觉暂留的特性和数码管的余辉效应,在扫描频率足够高时,人眼无法感觉数码管的变化,从而实现数码的动态显示。关键词:AT89S52;两位数码管
5、;动态显示 目录1.设计背景11.1单片机发展前景11.2共阳极数码管的显示方法11.3共阳极数码管的驱动设计12.设计方案12.1方案一:共阳极数码管静态显示12.2方案二:共阳极数码管动态显示22.3数码管静态与动态显示的优缺点比较33.方案实施33.1硬件电路的实施33.2 电源电路设计43.3复位及振荡电路43.4 数码管显示53.5 连接方式53.6软件设计53.7 实物制作84.结果与结论84.1 结果84.2结论85.收获与致谢86.参考文献97.附 件107.1元器件清单107.2 硬件原理图117.3 实物图121.设计背景1.1单片机发展前景目前单片机渗透到我们生活的各个领
6、域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。1.2共阳极数码管的显示方法LED数码管是单片机控制系统中最常见的显示器件之一,一般用来显示处理结果或输入输出信号的状态。数码管显示是一个系统工程中必不可少的人机交互环节,因此关于数码管
7、的驱动也就是系统工程中的一个重要的环节。数码管的驱动分为动态驱动和静态驱动两种。所谓静态驱动,就是指无论多少位LED数码管,同时处于显示状态。动态显示驱动是指无论在任何时刻只有一个LED数码管处于显示状态,及单片机采用“扫描”方式控制各个数码管轮流显示。1.3共阳极数码管的驱动设计将数码管每个LED灯对应单片机的一个I/O口。通过单片机的P口来控制LED灯的亮和灭。I/O口之间互相独立,需要用I/O口直接控制LED。动态显示将数码管的每个引脚一对一连接在一起接单片机的数据,而将各个数码管的公共端单独送至单片机的I/O口进行片选。此外,在此基础上,用单片机与三极管来驱动数码管,从而实现数码管的动
8、态显示。2.设计方案2.1方案一:共阳极数码管静态显示 数码管静态显示电路如图2-1所示:图2-1 数码管静态显示电路2.2方案二:共阳极数码管动态显示 数码管动态显示电路如图2-2所示:图2-2 数码管动态显示电路2.3数码管静态与动态显示的优缺点比较静态显示方式简单不容易出错,如果电路设计合适,也能够用较少的线完成多个数码管的显示。但与动态显示相比,动态显示电路连接更简单,节省单片机I/O口,从而节省单片机的资源,如今已经有很多这样成熟的基于动态扫描的芯片,并且采用动态显示方式极大的节省单片机的资源,特别是在单片机的I/O数量比较紧张的情况下,更能体现采用动态显示的优越性。因此,在现在的多
9、数电子系统中,数码管多数采用动态扫描技术来显示。3.方案实施3.1硬件电路的实施1.硬件原理框图如下: AT89S52 单片机稳 压 电 路两位数码管态显示电路复 位 电 路时 钟 电 路图3-1 硬件组成框图该电路的工作原理:AT89S52从稳压电路中获得稳定的+5V电压,接到VCC端,提供稳定的电压;P2口通过电阻接到显示电路的七段数码管的a b c d e f g 端口上,数码管的共阳极接到三极管的集电极上;P0.0、P0.1口接三极管的基极作为位选;RST接复位电路,实现电路的复位;XTAL1、XTAL2接晶振电路;整个电路实现循环动态显示数字0099.3.2 电源电路设计图3-2 电
10、源电路 如图3-2所示,当外接交流电源经过变压通过桥堆2W10和 7805时,经C1、C2、C3、C4对电源进行滤波,实现交流电压变为5V的直流电源,从而直接给单片机提供正常的工作电压。3.3复位及振荡电路 图3-3复位电路 图3-4振荡电路如图3-3,复位电路用电容与按键的并联来实现,将它们并在一起,一端接高电平,另一端接地,从而实现高电平复位的功能。如图3-4,时钟由12M的晶振来组成振荡电路,来控制单片机对数码管的动态扫描。3.4 数码管显示图3-5 数码管显示电路如图3-5所示,两位数码管分别由两个PNP型三极管驱动,三极管的基极通过限流电阻接在单片机P0.0、P0.1,其中P0.0控
11、制数码管的个位,P0.1控制数码管的十位。数码管各段除小数点段外其余七段(a-g)通过限流电阻接在单片机P2口(P2.0-P2.6),两位数码管显示由单片机内部程序控制相应接口为低电平,从而实现从0099动态循环显示。例如:十位和个位显示原理相同,谨以个位说明。当个位数码管显示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 连接方式单片机采用P2口的I/O来控制数码管的各个引脚。复位键接
12、到引脚9上,数码管的位选通过三极管和电阻分别与单片机的引脚1和39相连,晶振与单片机的引脚18和19连接,高电平与40引脚连接供电,20引脚直接接地。3.6软件设计此程序采用汇编语言用十六进制算法编写了两位数码管循环扫描动态显示的专用程序。通过软件的控制使两位数码管能从00计数到99,再回到00,依次进行循环。若在计数期间有复位高电平出现时,便重新从00开始计数。并有电源开关控制让电路是否工作,且有指示灯只是电源是否正常。程序流程图如下:图3-6 程序流程图程序如下:BITS EQU 20H;数码管个位数存放内存位置TEN EQU 21H;数码管十位数存放内存位置TEMP EQU 22H;计数
13、器值存放内存位置START: MOV TEMP,#0;初始化寄存器,从0开始STLOP: ACALL DISPLAY;调用显示子程序 INC TEMP;计数器加1 MOV A,TEMP; CJNE A,#100,NEXT;判断计数器是否满100 MOV TEMP,#0;满100清零从新开始NEXT: LJMP STLOP;不满就循环执行DISPLAY: MOV A,TEMP;将TEMP中的十六进制数转换成十进制 MOV B,#10; DIV AB MOV TEN,A;十位在A MOV BITS,B;个位在B MOV DPTR,#NUMTAB;指定查表起始地址 MOV R0,#4; DPL1:
14、MOV R1,#250; DPLOP: MOV A,BITS;取个位数 MOVC A,A+DPTR;查个位的7段数码管 MOV P2,A;送出个位的7段代码 CLR P0.0;开个位显示 ACALL DELAY1ms;显示162ms SETB P0.0;关闭个位显示 MOV A,TEN;取十位显示 MOVC A,A+DPTR;查十位数的7段代码 MOV P2,A;送出十位的7段代码 CLR P0.1;开十位显示 ACALL DELAY1ms;显示162ms SETB P0.1;关闭十位显示 DJNZ R1,DPLOP;执行循环250次 DJNZ R0,DPL1;执行循环250*4=1000次
15、RETDELAY1ms: MOV R7,#80;延时162ms子程序(2+2*80=162ms,按照12MHZ计算) DJNZ R7,$; RETNUMTAB:DB 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90END3.7 实物制作重点考虑了晶体和电容与单片机的位置关系。为了减少寄生电容,更好的保证振荡器稳定可靠地工作,应使晶体与电容尽可能安装得与单片机芯片近些。4.结果与结论4.1 结果经过对不同方案的分析、比较、取舍,然后进行原理图的设计与仿真,再经过电路板的焊接,软件的调试等环节的操作,最终实现了让数码管在单片机的控制下循环显示两位数
16、00-99。并且在正常的计数过程中,若按下复位键后,技术又重新从00开始计数。有时在刚接入电源时,数码管显示的不是00,这是需要按下复位键才能使其正常工作。最终现实的结果与预想的结果一致。4.2结论 单片机有着很强大的功能,并有40个引脚,通过单片机的不同I/O端口与外设连接,能够控制外设的工作情况,从而实现不同的符合各种需求功能的电路板。LED数码管是单片机控制系统中最常见的显示器件之一,一般用来显示处理结果或输入输出信号的状态。5.收获与致谢这次两位数码管显示设计的实习,加深了我对单片机的原理和工作过程的了解,以及系统地、全面地掌握单片机应用系统的基本设计方法、设计步骤和电路参数的计算方法
17、。同时,这次实习增强了我的动手能力,也让我对以前所学的知识进行了复习,更加熟练掌握了原理图的设计与仿真方法,了解硬件电路的焊接及调试过程应注意的问题,能用汇编语言进行软件的编写与调试。 在这次实习过程中,我非常感谢XXX老师给予我的细心指导和帮助,还有我们小组的每一个成员,这次实习的成功离不开老师的指导和小组的每位成员的努力与付出,所以真心的对大家表示感谢。6.参考文献1 张毅刚.单片机原理及应用(第二版).北京:高等教育出版社,2010.52童诗白.模拟电子技术基础(第四版).北京:高等教育出版社,2006.53林之琦.基于Proteus的单片机可视化软硬件仿真.北京:北京航空航天大学出版社
18、,20067.附 件7.1元器件清单表7-1 元器件清单名称型号数量名称型号数量单片机AT89S521数码管SN430521晶振11.0592MHH1稳压电源DE78051三极管90152整流桥2W101电解电容1000UF2开关1指示灯红色1电阻2K1瓷片电容10421K233p268087.2 硬件原理图图71 硬件原理图7.3 实物图图7-2 实物反面图7-3 实物正面指导教师评语:课程设计报告成绩: ,占总成绩比例: 30% 课程设计其它环节成绩:环节名称: 考勤 ,成绩: ,占总成绩比例: 20% 环节名称: 综合 ,成绩: ,占总成绩比例: 50% 总 成 绩: 指导教师签字:年 月 日本次课程设计负责人意见:负责人签字:年 月 日