倒计时数字秒表设计 2.docx
- 文档编号:8238883
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:20
- 大小:279.29KB
倒计时数字秒表设计 2.docx
《倒计时数字秒表设计 2.docx》由会员分享,可在线阅读,更多相关《倒计时数字秒表设计 2.docx(20页珍藏版)》请在冰豆网上搜索。
倒计时数字秒表设计2
课程设计任务书
设计题目
倒计时数字秒表设计
学生姓名
设计要求:
1、设计一个可以倒计时的数字秒表;
2、具有电源开关及指示灯,有复位键;
3、P2.0-P2.3通过74LS47接2位数码管,P2.4和P2.5分别控制数码显示的个位和十位,显示0-99秒时间;
4、P3.2接开关K1,用于控制秒表的启停;
5、上电时,显示59,开关拨上时开始倒数计时,每秒自动减1;当开关拨下时,保持实时时间,停止倒计时;开关拨上时又开始倒数计时。
学生应完成的工作:
通过查阅资料设计倒计时数字秒表的工作原理,然后绘制电路原理图,编写软件程序,并进行电路仿真。
根据设计原理对电路进行安装、调试,完成课程设计工作,并提交课程设计报告。
孙利娜同学负责软件部分的设计。
参考文献阅读:
[1]杜树春.单片机C语言和汇编语言混合编程实例详解.北京:
航空航天大学出版社,2006.
[2]张毅刚,彭喜元,彭宇.单片机原理及应用[M].北京:
高等教育出版社,2010.
[3]张阳天,韩异凡.ProtelDXP电路设计[M].北京:
高等教育出版社,2005.
[4]李广弟.单片机基础[M].北京:
航空航天大学出版社,2001.
工作计划:
5月6号查阅资料;5月7号—8号完成硬件电路的设计;5月9号—10号完成软件程序设计;5月13号分发元器件;5月14号—15号焊接电路板并烧程序;5月16号调试;5月17号提交课程设计报告。
任务下达日期:
2013年5月6日
任务完成日期:
2013年5月17日
指导教师(签名):
学生(签名):
倒计时数字秒表设计
摘要:
本次课程设计以AT89S52单片机为核心设计一个倒计时数字秒表,计数初值为59并开始每秒自动减1,当按键1按下时记录当前时间值,当按键2按下时显示当前记录值,显示过之后再次按下按键1时秒表复位为59。
本设计硬件部分包括电源电路、复位电路、按键电路、振荡电路、数码管显示电路五部分电路,软件程序部分有定时中断程序、外部中断程序、显示子程序和延时子程序等。
软件Proteus画出原理图并进行仿真,依照仿真成功的原理图接线,在万能版上把个个器件焊接好从而实现预期的功能。
关键词:
倒计时;AT89S52;74LS47;数码管
1.设计背景
计时器日常生活中随处可见,我们手上的电子表,手机上的时间显示等,这些利用数字电路实现的装置,与机械时钟相比具有更高的准确性与直观性,且无机械装置,具有更长的使用寿命。
其中重要的组成部分就是计数器模块,是单片机中常见的模块,以计时器为基础还可以设计更多对日常生活密切相关的设备,诸如定时报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、甚至各种定时电器的自动启用等,都是以计时器为基础的。
单片机是在一片半导体硅片上集成了中央处理单元、存储器、并行I/O口、串行I/O、定时器/计数器、中断系统、系统时钟电路及系统总线的微型计算机。
近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入。
由于单片机具有集成度高、可靠性高、处理功能强、系统结构简单、价格低廉、易于使用等优点,在工业控制、智能仪器仪表、办公室自动化、家用电器等诸多领域得到了广泛的应用。
单片机的功能强大,主要应用于测控领域
基于上述两个因素,本设计完成了一单片机AT89S52为主控芯片的设计,实现了从59秒开始的倒计时功能。
2.设计方案
2.1总体设计框图
图2.1总体设计框图
2.2时钟电路方案选择
时钟电路用于产生AT89S52单片机工作时所必需的控制信号。
常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。
1、内部时钟方式:
AT89S52内部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激振荡器。
电路中的电容C1和C2的典型值通常选择30pF,该电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。
晶体振荡频率的范围通常是在1.2—12MHz。
晶体和电容应可能安装的与单片机靠近,以减少寄生电容,更好的保证振荡器稳定、可靠地工作。
2、外部时钟方式:
使用现成的外部振荡器产生脉冲信号,常用于多片单片机同时工作,以便于多片单片机之间的同步,一般为低于12MHz的方波。
外部时钟源直接接到XTAL1端,XTAL2端悬空。
因为本次的倒计时数字秒表设计简单,只需要一个AT89S52单片机,而外部时钟方式常用于多片单片机同时工作,因此时钟电路选用内部时钟方式。
2.3复位电路方案选择
AT89S52的复位是由外部的复位电路实现的。
复位电路通常采用上电自动复位和按键复位两种方式。
1、上电自动复位是通过外部复位电路给电容C充电加至RST引脚一个短的高电平信号,此信号随着Vcc对电容C的充电过程而逐渐回落。
因此为保证系统能可靠地复位,RST引脚上的高电平必须维持足够长的时间。
2、按键手动复位。
按键手动复位有电平和脉冲两种方式。
按键手动电平复位是通过RST端经电阻和电源Vcc接通来实现,当时钟频率选用6MHz时,C的典型取值为10µF,R取值为2K。
按键手动脉冲复位是利用RC微分电路产生的正脉冲来实现的。
通过比较上述复位方式,本次的复位电路采用按键电平复位电路。
2.4显示电路方案选择
LED数码管有静态显示和动态显示两种显示方式。
1、静态显示是指无论多少位LED数码管,同时处于显示状态。
数码管工作于静态显示方式时,各位的共阴极连接在一起并接地,每位的段码线分别于一个8位的I/O锁存器输出相连。
静态显示方式的显示无闪烁,亮度都较高,软件控制比较容易。
2、动态显示指无论在任何时刻只有一个LED数码管处于显示状态,即单片机采用“扫描”方式控制各个数码管轮流显示。
即在某一时刻,只让某一位的位选线处于选通状态,而其它各位的位选线处于关闭状态,同时,段码线上输出相应位要有显示的字符的段码,这样,在同一时刻,2位数码管中只有被选通的那一位显示出字符。
如此循环下去就可以显示出要显示的字符。
虽然这些字符是不同时刻显示的,但由于LED数码管的余辉和人眼的“视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮的假象”,达到同时显示的效果。
在显示位数较多的情况下,所需的电流比较大,对电源的要求也就随之增高,这时一般采用动态显示方式。
动态显示的优点是硬件电路简单,显示器越多,优势越明显;缺点是显示亮度不如静态显示的亮度高,如果扫描速率较低,会出现闪烁现象。
若要各个数码管能同时显示出与本位相应的显示字符,就必须采用动态的“扫描显示方式”。
因此倒计时数字秒表的显示电路选用动态显示方式。
3.方案实施
3.1硬件设计
本硬件设计总共包括五部分电路:
电源电路、振荡电路、复位电路、显示电路、开关电路。
1、电源电路
本设计采用整流桥墩2W10进行整流,然后用电解电容进行滤波,用7805进行稳压,最后输出+5V稳压直流电源。
其中C4、C5为1000PF的电解电容,C6、C7为104瓷片电容,R9为1K的电阻。
其电路图如3.1所示。
图3.1电源电路
2、振荡电路
本模块用了一个11.0592HZ的晶振外加两个33pf的电容,电路图用如图3.2所示。
图3.2振荡电路
3、复位电路
复位电路图如图3.3所示,其中C4是带极性的电解电容,R9是阻值为1K的电阻,R8
是阻值10K的电阻。
图3.3复位电路
4、显示电路
本设计的显示电路采用动态显示,动态显示,是指无论任何时刻只有一个LED数码管处于显示状态。
若要各个数码管能同时显示出与本位相应的显示字符,就必须采用动态的“扫描显示方式”。
即在某一时刻,只让某一位的位选线处于选通状态,而其它各位的位选线处于关闭状态,同时,段码线上输出相应位要有显示的字符的段码,这样,在同一时刻,2位数码管中只有被选通的那一位显示出字符。
如此循环下去就可以显示出要显示的字符。
虽然这些字符是不同时刻显示的,但由于LED数码管的余辉和人眼的“视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮的假象”,达到同时显示的效果。
动态显示的优点是硬件电路简单,显示器越多,优势越明显。
本次设计的显示电路有三部分组成:
译码电路、驱动电路、LED数码管显示电路。
其中译码电路用的是芯片74LS47,74LS47是BCD-7段数码管驱动器,它的功能用于将BCD码转化成数码块中的数字,通过它解码,可以直接把数字转换为数码管的显示数字,从而简化了程序,节约了单片机的I/O开销。
74LS47译码器原理:
译码为编码的逆过程。
它将编码时赋予代码的含义“翻译”过来。
实现译码的逻辑电路成为译码器。
译码器输出与输入代码有唯一的对应关系。
74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用。
74LS47为4-7译码器,并且是等数译码。
即当输入为0000即0时,数码管显示也为0,一次类推,当输入为1001即9时,数码管显示也为9。
驱动电路很简单,就是用两个9013即NPN型三极管去驱动共阳极数码管。
显示电路的第三部分数码管显示电路,本次设计用的是两位共阳极数码管。
显示电路模块用如图3.4所示。
图3.4显示电路
5、开关电路
本实验要求为使AT89S52中的P3.2接开关K1,用于控制秒表的启停;上电时,显示59,开关拨上时开始倒数计时,每秒自动减1;当开关拨下时,保持实时时间,停止倒计时;开关拨上时又开始倒数计时。
因此在电路中P3.2接一个开关并使其接地,其电路图如图3.5所示。
图3.5开关电路
3.2软件设计
1、keil软件介绍
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
本程序采用定时器T0产生1秒定时来实现秒表的倒计时,采用外部中断0来记录不同的记录值,通过外部中断1来显示已经记录的记录值。
在主程序中初始化各个数值并且仅仅循环执行显示程序,有中断来时才转去做相应的中断服务程序。
2、利用软件进行设计的过程
本次设计以C语言为基础进行设计。
在设计过程中,首先画出各部分流程图,然后再以各部分流程图为基础,进行程序的编写。
(1)、系统流程图
Y
N
Y
N
N
Y
图3.6系统流程图
(2)定时器TI流程图
图3.7定时器T1流程图
(3)T0定时器1秒中断流程图
图3.8T0定时器1秒中断流程图
(4)显示流程图
图3.9显示流程图
3、主要程序
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcodetable[]={0,1,2,3,4,5,6,7,8,9,15};
sbitwe1=P2^4;
sbitwe2=P2^5;
sbitk1=P3^2;
uintshu=59,count;
voiddelay()
{
unsignedchari=10;
while(i--);
}
voiddisplay1()
{
we1=1;
P2=table[shu/10]&0xff;
delay();
we1=0;
delay();
we2=1;
P2=table[shu%10]&0xff;
delay();
we2=0;
delay();
}
voidmain()
{
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
while
(1)
{
display1();
delay();
if(k1==0)
TR0=0;
else
TR0=1;
}
}
voidtimer()interrupt1//中断服务程序
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
count++;
if(count==20)
{shu--;
count=0;
if(shu==0)
{
shu=59;
}
}
}
3.3系统仿真
系统的硬件电路图和软件程序设计出来之后先用Proteus软件画出电路图,接线完成后进行仿真。
过程为1、启动keiluVision,将编写的C语言程序写进软件中,然后点击Project菜单—〉Newproject,新建一个工程,接着选择CPU类型,我们选择最常用的AT89S52。
2、新建一个文件‘倒计时.c’保存,C语言文件建好后把文件加入到工程中。
3、编译工程及文件,发现错误更改后再重新编译文件,直到没有错误并且产生了xxx.hex的文件。
4、用Proteus软件来仿真此次设计的单片机是否能够完成设计的要求。
经过系统仿真,结果与倒计时数字秒表的功能要求相同,所以系统的硬件设计和软件设计没有错误。
系统的仿真图如附录一所示。
3.4实物制作
仿真成功,且领完元器件后,就开始了实物焊接。
本次实物制作,采用了万能板。
在焊接过程中,要认真、细心,防止出现虚焊、漏焊的现象。
焊接完成后,将所设计的软件程序烧入主要芯片AT89S52中。
至此,就完成了整个实物的制作。
本次设计的实物制作很成功,它能够实现上电时显示59,开关拨上时开始倒数计时,每秒自动减1;当开关拨下时保持实时时间,停止倒计时;开关拨上时又开始倒数计时的功能。
实物的工作图如附录四所示。
4.结果与结论
4.1结果
经过硬件设计、软件设计、系统仿真、实物制作等过程,最终完成了倒计时数字秒表的设计。
它能够实现倒计时的功能,上电时显示59,开关拨上时开始倒数计时,每秒自动减1;当开关拨下时保持实时时间,停止倒计时;开关拨上时又开始倒数计时。
具体效果见附录四。
4.2结论
本设计采用以单片机AT89S52为主控芯片,硬件部分包含电源电路、振荡电路、复位电路、显示电路、按键电路等部分,软件程序采用C语言来进行编写,仿真所用软件为Protues软件,设计了一款倒计时秒表。
它能够实现上电时显示59,开关拨上时开始倒数计时,每秒自动减1,当开关拨下时保持实时时间,停止倒计时的功能。
5.收获与致谢
通过本次的课程设计,我认识和了解了基本的单片机设计的开发过程。
期间,我学会了分析课题的要求,查阅资料用怎样的元器件来实现,学会用Protues软件来绘制原理图,用汇编来编写源程序,最终仿真成功。
在用实际器件实现系统时,还学会了怎样合理布局元器件,学会2位数码管各个管脚的分布和接法,熟识了硬件驱动数码管动态显示的基本原理和程序编写,提高了将单个电子器件组合到一起构成所需电路系统的能力。
在课程设计期间也遇到很多问题,在使用74LS47的连线时忘记给译码器加电源,在仿真时,程序编写有语法错误,在焊接时电阻弄错,阻值过大结果数码管很暗,引脚焊接出错。
焊接完成通电调试时,按键不灵,经丁老师指导,在程序中添加去抖程序。
除此之外,组员之间相互配合,在整个过程中有过争论,有过互助,最终圆满完成任务。
在设计过程中,要是遇到问题,一定要有耐心,有错误就耐心查找,程序或实物系统出错就慢慢调试,要有永不服输的精神。
在此要特别感谢学校老师们为我们安排这次课程设计,为我们精心挑选课题,在万忙之中抽出时间指导我们,对于我们的问题,老师耐心的解答,一遍不行,再讲一遍。
还不辞劳苦的给我们买需要的任何元器件。
这次课程设计收获很多,为以后毕业设计打下基础,培养我们实际的动手能力,对以后的学习、工作中一定会有很大的帮助。
再次感谢所有老师。
6.参考文献
[1]杜树春.单片机C语言和汇编语言混合编程实例详解.北京:
航空航天大学出版社,2006.
[2]张毅刚,彭喜元,彭宇.单片机原理及应用[M].北京:
高等教育出版社,2010.
[3]张阳天,韩异凡.ProtelDXP电路设计[M].北京:
高等教育出版社,2005.
[4]李广弟.单片机基础[M].北京:
航空航天大学出版社,2001.
[5]迟荣强.单片机原理及接口技术[M].北京:
高等教育出版社,2004.
[6]李光才,楼然笛.单片机课程设计实例指导.北京:
航空航天大学出版社,2004.
[7]杜尚丰.CAN总线测控技术及其应用.北京:
电子工业出版社,2007.
[8]臧春华.电子线路设计与应用[M].北京:
高等教育出版社,2005.
[9]邱关源,罗先觉.电路(第五版)[M].北京:
高等教育出版社,2006.
[10]阎石.数字电子技术(第五版)[M].北京:
高等教育出版社,2005.
附录一
整体电路仿真图
附图1.1仿真图57秒截图
附图1.2仿真图42秒截图
附录二
整体电路原理图
附图2.1整体电路原理图
附录三
元器件清单
附表3.1元器件清单
元器件名称
型号规格
数量
备注
单片机
AT89S52
1
还有40针的底座
晶振
11.0592MHz
1
电解电容
1000µF、10µF
1000µF2个
10µF1个
瓷片电容
104
2
瓷片电容
33PF
2
桥堆
2W10
1
7805
1
发光二极管
1
红
电阻
1K、10K
1K9个、10K一个
按键
1
拨动开关
2
74LS47
1
还有16针的底座
数码管
1
两位共阳
附录四
实物运行图
附图4.1实物运行图21秒
附图4.2实物运行图42秒
指导教师评语:
课程设计报告成绩:
,占总成绩比例:
30%
课程设计其它环节成绩:
环节名称:
考勤,成绩:
,占总成绩比例:
20%
环节名称:
综合,成绩:
,占总成绩比例:
50%
总成绩:
指导教师签字:
年月日
本次课程设计负责人意见:
负责人签字:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 倒计时数字秒表设计 倒计时 数字 秒表 设计