当前位置:文档之家› 两位数码管显示设计课程设计说明书

两位数码管显示设计课程设计说明书

两位数码管显示设计课程设计说明书
两位数码管显示设计课程设计说明书

课程设计说明书

课程名称:《单片机技术》

设计题目:两位数码管显示设计

院系:电子信息与电气工程学院

学生:

学号:

专业班级:

指导教师:

2012年5月18 日

课程设计任务书

两位数码管显示设计

摘要:该系统是基于AT89S52单片机的两位数码管显示系统,该系统包括电源模块,复位电路模块,外部时钟电路模块、数码管显示模块构成。通过AT89S52进行控制,用汇编语言编写了两位数码管循环扫描动态显示的专用程序。数码管通过共阳极的三极管进行驱动。电源通过桥堆2W10和7805将通过变压的交流电压变为5V的直流电源。复位用电容与按键的并联来实现。时钟用12M的晶振来控制。通过单片机的片选信号控制数码管的灯管,使其依次点亮,由于人眼有视觉暂留的特性和数码管的余辉效应,而扫描频率足够高,因此人眼是感觉不出数码管的变化的

关键词:AT89S52;动态扫描显示;共阳极数码管

目录

1.设计背景 (1)

1.1单片机发展前景 (1)

1.2共阳极数码管的显示方法 (1)

1.3共阳极数码管的驱动设计 (1)

2.设计方案 (1)

2.1方案一:共阳极数码管静态显示 (2)

2.2方案二:共阳极数码管动态显示 (2)

2.3数码管静态与动态显示的优缺点比较 (3)

3.方案实施 (3)

3.1硬件电路的实施 (3)

3.2电源电路设计 (4)

3.3复位及震荡电路 (5)

3.4 数码管显示 (5)

3.5单片机接口 (6)

3.6软件设计 (6)

3.7实物制作 (9)

4.结果与结论 (9)

4.1结果 (9)

4.2结论 (9)

5.收获与致 (10)

6.参考文献 (10)

7.附件 (10)

7.1元器件清单 (10)

7.2硬件原理图 (11)

7.3实物图 (11)

1.设计背景

1.1单片机发展前景

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

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 数码管静态显示电路

2.2方案二:共阳极数码管动态显示

此次设计,用到的就是动态显示。其中P2.0和P2.1端口分别控制数码管的个

位和十位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通

过驱动三极管给数码管相应的位供电,这时只要P3口送出数字的显示代码,数码

管就能正常显示数字。

数码管动态显示电路如图2—2所示:

2—2 共阳极数码管动态显示电路

2.3数码管静态与动态显示的优缺点比较

静态显示方式简单不容易出错,如果电路设计合适,也能够用较少的线完成多个数码管的显示。但与动态显示相比,动态显示电路连接更简单,节省单片机I/O口,从而节省单片机的资源,如今已经有很多这样成熟的基于动态扫描的芯片。而且采用动态显示方式极大的节省单片机的资源,特别是在单片机的I/O数量比较紧的情况下,更能体现采用动态显示的优越性。在现在的多数电子系统中,在用到数码管的场合下,多数采用动态扫描技术来显示。因此此次设计我们也采用了动态显示。

3.方案实施

3.1硬件电路的实施

1.硬件组成框图如图3-1:

图3—1 硬件组成框图

该电路的工作原理:AT89S52从稳压电路中获得稳定的+5V 电压,接到VCC 端,提供稳定的电压;P2口通过电阻接到显示电路的七段数码管的a b c d e f g 端口上,数码管的共阳极接到三极管的集电极上;P0.0、P0.1口接三极管的基极作为位选; RST 接复位电路,实现电路的复位;XTAL1、XTAL2接晶振电路;整个电路实现循环动态显示数字00~99.

3.2电源电路设计

当外接交流电源经过变压通过桥堆2W10和 7805时,经C1、C2、C3、C4对电源进行滤波,实现交流电压变为5V 的直流电源,从而直接给单片机提供正常的工作电压。 电源电路如图3—2所示:

稳 压 电 路 复 位 电 路 时 钟 电 路 AT89S52 单片机 两位数码管动态显示电路

图3—2 电源电路

3.3复位及震荡电路

复位用电容与按键的并联来实现,将它们并在一起,一端接高电平,另一端接地,从而实现高电平复位的功能。时钟用12M的晶振来组成振荡电路,来控制单片机对数码管的动态扫描。

复位及振荡电路如图3—3所示:

复位电路震荡电路

图3—3复位及振荡电路

3.4 数码管显示

图3-5 数码管显示电路

如图3-5所示,两位数码管分别由两个PNP型三极管驱动,三极管的基极通过限流电阻接在单片机P0.0、P0.1,其中P0.0控制数码管的个位,P0.1控制数码管的十位。数码管各段除小数点段外其余七段(a-g)通过限流电阻接在单片机P2口(P2.0-P2.6),两位数码管显示由单片机部程序控制相应接口为低电平,从而实现从00—99动态循环显示。数码管上引脚9空闲。其余7个引脚对应七段显示数码管的各段。当引脚相应低电位时有效,由程序查表即可显示相应的数字。例如,当个位数码管显示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来控制数码管的各个引脚。复位键接到引脚9上,数码管的位选通过三极管和电阻分别与单片机的引脚1和39相连,晶振与单片机的引脚18和19连接,高电平与40引脚连接供电,20引脚直接接地。P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX);XTAL1是振荡器反相放大器和部时钟发生电路的输入端。XTAL2是振荡器反相放大器的输出端。

3.6软件设计

此程序采用汇编语言用十六进制算法编写了两位数码管循环扫描动态显示的专用程序。通过软件的控制使两位数码管能从00计数到99,再回到00,依次进行循环。若在计数期间有复位高电平出现时,便重新从00开始计数。并有电源开关控制让电路是否工作,且有指示灯只是电源是否正常。

程序流程图如3-4所示:

图3-4 程序流程图

程序如下:

BITS EQU 20H;数码管个位数存放存位置

TEN EQU 21H;数码管十位数存放存位置

TEMP EQU 22H;计数器值存放存位置

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:

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次

RET

DELAY1ms:

MOV R7,#80;延时162ms子程序(2+2*80=162ms,按照12MHZ计算) DJNZ R7,$;

RET

NUMTAB:DB: 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

3.7实物制作

由于没有进行仿真,在实物的焊接这一环节我们小组耽误了不少时间,对着原理图一点点的焊接,焊完之后,发现排版很乱,而且不能正常工作,向老师请求帮助后,拿电路板重新进行焊接,这次我们提前进行了排版,效果好了很多,第二次焊接由于粗心大意,又焊错了好几个地方,好在无伤大雅,修改后,总算是能正常工作了。此次我们重点考虑了晶体和电容与单片机的位置关系。为了减少寄生电容,更好的保证振荡器稳定可靠地工作,我们将晶体与电容尽可能的安装得与单片机芯片近些。使元器件的布局好看了不少。

4.结果与结论

4.1结果

经过对不同方案的分析、比较、取舍,然后进行原理图的设计,再经过电路板的焊接,软件的调试等环节的操作,最终实现了让数码管在单片机的控制下循环显示两位数00-99。过程是艰辛的,中间失败了好些次,经过数次的检测,修改,见到数码管正常工作时的喜悦之情是无以言表的。在正常的计数过程中,若按下复位键后,计数又重新从00开始。有时在刚接入电源时,数码管显示的不是00,这时需要按下复位键才能使其正常工作。最终现实的结果与预想的结果一致。

4.2结论

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

5.收获与致

这次两位数码管显示设计的实习,加深了我对单片机的原理和工作过程的了解,以及系统地、全面地掌握单片机应用系统的基本设计方法、设计步骤和电路参数的计算方法。同时,这次实习增强了我的动手能力,也让我对以前所学的知识进行了复习,更加熟练掌握了原理图的设计与仿真方法,了解硬件电路的焊接及调试过程应注意的问题,能用汇编语言进行软件的编写与调试。

在这次实习过程中,非常感XXX老师给予我的细心指导和帮助,还有我们小组的每一个成员,这次实习的成功离不开老师的指导和小组的每位成员的努力与付出,正是由于小组成员的共同努力,我们才能以最快速度,成功的完成此次的课程设计。所以真心的对大家表示感。

6.参考文献

[1]毅刚.单片机原理及应用(第二版).:高等教育,2010.5

[2]童诗白.模拟电子技术基础(第四版).:高等教育,2006.5

[3]林之琦.基于Proteus的单片机可视化软硬件仿真.:航空航天大学,2006

7.附件

7.1元器件清单

7.2硬件原理图

原理图如图7—1所示:

图7—1 7.3实物图

实物正面图如下所示:

实物的反面图

相关主题
文本预览
相关文档 最新文档