资源描述
课 程 设 计 说 明 书
课程名称: 《单片机技术》
设计题目: 两位数码管显示设计
院 系: 电子信息和电气工程学院
学生姓名:
学 号:
专业班级:
指导老师:
5月 18 日
课 程 设 计 任 务 书
设计题目
两位数码管显示设计
学生姓名
所在院系
电子信息和电气工程学院
专业、年级、班
设计要求:⒈使用两位数码管显示器,循环显示两位数00-99;
⒉要求含有电源开关和指示灯,有复位按键;
⒊数码管动态显示,即扫描方法,每一位每间隔一段时间扫描一次。字符亮度及清楚度和每位点亮停留时间和每位显示时间内轮换导通次数相关。
学生应完成工作:
本课题是基于AT89S52单片机两位数码管显示系统,应用汇编语言编写两位数码管循环扫描动态显示专用程序,能够经过查阅手册和文件资料来选择适宜元器件,设计合理电路来实现符合要求电路板事物。关键任务应包含:(1)原理图设计和仿真。(2)学会对不一样方案进行比较分析,并经过整体优点和缺点比较,确定合理方案。(3)硬件电路焊接及调试。(4)用汇编语言进行软件编写和调试。(5)撰写课程设计汇报。(6)该生在此次课程设计中关键任务是完善电路原理图设计和实物正常工作和软件调试和修改。
参考文件阅读:
[1]张毅刚.单片机原理及应用(第二版).北京:高等教育出版社,.5
[2]童诗白.模拟电子技术基础(第四版).北京:高等教育出版社,.5
[3]杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,.6
[4]林之琦.基于Proteus单片机可视化软硬件仿真.北京:北京航空航天大学出版社,
工作计划:
5月 7 日— 年5 月9 日:原理图设计;
5月10日— 年5月11日:程序编写;
5月14日— 年5月16日:硬件电路焊接和软件调试;
5月17日— 年5月18日:撰写实习汇报。
任务下达日期: 年5月 7 日
任务完成日期: 年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:
AT89S52 单片机
稳 压 电 路
两位数码管动态显示电路
复 位 电 路
时 钟 电 路
图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所表示:
图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]张毅刚.单片机原理及应用(第二版).北京:高等教育出版社,.5
[2]童诗白.模拟电子技术基础(第四版).北京:高等教育出版社,.5
[3]林之琦.基于Proteus单片机可视化软硬件仿真.北京:北京航空航天大学出版社,
7.附件
7.1元器件清单
元器件清单如表7—1
名称
型号
数量
名称
型号
数量
单片机
AT89S52
1
数码管
SN43052
1
晶振
11.0592MHH
1
稳压电源
DE7805
1
三极管
9015
2
整流桥
2W10
1
电解电容
1000UF
2
开关
\
1
指示灯
红色
1
电阻
2K
1
瓷片电容
104
2
1K
2
33p
2
680
8
7.2硬件原理图
原理图图7—1所表示:
图7—1
7.3实物图
实物正面图以下所表示:
实物反面图
指导老师评语:
课程设计汇报成绩: ,占总成绩百分比: 30%
课程设计其它步骤成绩:
步骤名称: 考勤 ,成绩: ,占总成绩百分比: 20%
步骤名称: 综合 ,成绩: ,占总成绩百分比: 50%
总 成 绩:
指导老师签字:
年 月 日
此次课程设计责任人意见:
责任人签字:
年 月 日
展开阅读全文