基于单片机的电子秒表的设计.docx
《基于单片机的电子秒表的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子秒表的设计.docx(18页珍藏版)》请在冰点文库上搜索。
![基于单片机的电子秒表的设计.docx](https://file1.bingdoc.com/fileroot1/2023-5/14/7499a5b1-a475-4033-95a0-76a5d4725d16/7499a5b1-a475-4033-95a0-76a5d4725d161.gif)
基于单片机的电子秒表的设计
毕业设计(论文)
基于单片机的电子秒表的设计
姓名:
学号:
班级:
应用电子1001班
指导教师:
所在系部:
信息工程系
二○一三年六月
毕业论文(设计)开题报告
学生姓名
班级
应用电子1001
指导教师
学号
20103234
毕业论文(设计)题目
基于单片机的电子秒表的设计
随着人们生活水平的日益提高,社会体系的日益完善,人们对于各种应用器材的要求也越来越高。
秒表作为日常生活中,特别是体育运动中应用的特别广泛,所以精确且方便使用的秒表就被越来越多的人所选择.数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。
本设计用单片机组成数字电子秒表,以结构简单、精度高为目标。
通过本论文课题的研究,预计达到:
1.采用单片机(AT89C51)为核心器件,构成数字式电子秒表系统。
2.将软、硬件有机地结合起来,使得系统能够正确地运行,并且数码管能够正确地显示时间。
具体安排进度:
2013年3月1日—3月30日,查阅资料,完成系统设计,准备元器件;
2013年4月1日—4月30日,完成系统软硬件设计及仿真调试;
2013年5月1日—5月31日,完成论文的撰写,准备答辩。
毕业论文(设计)成绩评定
指
导
教
师
意
见
王鹏同学的论文实现了基于单片机的电子秒表的设计,具有一定的实用价值,文章内容正确,结构基本合理,资料详实,没有技术错误,基本达到了人才培养目标的要求,同意答辩。
答
辩
专
家
组
意
见
系
专
业
教
学
委
员
会
意
见
摘要
时间是工农业生产,国防,人民生活等领域不可缺少的。
它涉及到我们工作,生活的各个方面。
没有时间人们的一切行为都无法进行。
本篇论文是利用单片机AT89C51和接口外围电路等组成的电子秒表电路。
整个设计由硬件电路和软件程序两部分组成。
硬件电路由单片机AT89C51等元件组成,它使用元件少,电路结构简单,功能强;软件程序采用汇编语言进行设计,它结构合理,思路清晰,利用中断服务程序对各种事件进行处理,提高微处理器的工作效率。
关键字:
单片机、秒表
Abstract
Timeistheindustryandagricultureproduction,nationaldefense,andpeople'slivingareassuchasindispensable.Itinvolvesourwork,allaspectsoflife.Notallthetimepeopleareunabletoact.Thispaperisusingsingle-chipMicrocomputerchip(your)AT89C51suchaschipclocksandstopwatchfunctionofelectronicstopwatchcircuit.Thecircuithardwarecircuitandsoftwareprogrambytwoparts.ThehardwarecircuitofmicrocomputerAT89C51,suchassimplestructure,thefunctionisstrong,Softwaredesignusingassemblylanguage,itsstructureisreasonable,clarity,usinganinterruptserviceroutinetreatmentofvariousevents,improveworkefficiencyofmicroprocessors.
KeyWords:
LEDdisplay;High-precisionstopwatch.
引言
单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。
此后在8031上发展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。
随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。
事实上单片机是世界上数量最多的计算机。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
而个人电脑中也会有为数不少的单片机在工作。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!
单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。
本次毕业设计以单片机为核心,设计简单的电子秒表系统,使得系统能够正确地运行,并且可以用数码管显示,在现实生活中应用广泛,具有现实意义。
第一章概述
1.1.单片机简介
单片机是性能价格比高、体积小、对国民经济渗透力大、最有前途的微控制器。
单片机自20世纪70年代初研制成功并发展至今,已进入第四代。
它主要是在一块芯片上集成了CPU、存储器以及输入输出电路,在工业过程中被广泛应用在控制电路中。
从单片机的系列来看,国内外已超过50个系列、近500个品种,当前正处于更新换代、百花齐放的时期。
新的系列和专用系列正在不断涌现。
按位数分类有4位、8位、16位以及32位单片机等,4位单片机由于价格低和出现的早得到了广泛的应用,特别是在家电应用领域中其还有很大的优势,为了抵御8位机的竞争,4位机在结构和功能上都有很大的改进。
8位机的生产厂家以及品种都很多,在实际的生产中应用也最为广泛,其中Intel公司的8051系列单片机在我国应用最为广泛,另外8位单片机也在其功能和内部结构上不断的进行改进,目前功能是越来越强大。
16位单片机在数据处理以及单片机的性能上有了很大的改进。
32位单片机是随着高科技产业的发展而产生的。
1.2.设计任务
设计一个单片机控制的秒表系统,利用单片机的原理,结合显示电路、用两位共阴极LED数码管以及按键来设计00~99秒计时器。
将软、硬件有机地结合起来,使得系统能够正确地运行,同时数码管能够正确地显示时间。
1.3.设计要求
1、能同时记录2个相对独立的时间并分别显示。
2、两位LED动态显示,显示时间为00~99秒。
3、每秒自动加1。
4、一个开始按键、一个复位按键、一个暂停按钮。
1.4.主要元器件
本设计的最主要的元器件就是AT89C51单片机。
AT89C51单片机在一块芯片上集成了CPU,存储器RAM,ROM以及输入与输出接口电路,这种芯片习惯上被称为单片微型计算机。
AT89C51单片机由CPU,振荡器与时序电路,4个8位的I/O端口(P0,P1,P2,P3),串行口等组成。
P0口有三个功能:
1、外部扩展存储器时,当作数据总线(如图中的D0~D7为数据总线接口)。
2、外部扩展存储器时,当作地址总线(如图中的A0~A7为地址总线接口)。
3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口只做I/O口使用:
其内部有上拉电阻。
P2口有两个功能:
1、扩展外部存储器时,当作地址总线使用;
2、做一般I/O口使用,其内部有上拉电阻;
P3口有两个功能:
除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由寄存器来设置。
ALE:
地址锁存控制信号
PSEN:
外部程序存储器读选通信号
EA/VPP:
访问和序存储器控制信号
RST:
复位信号XTAL1和XTAL2
VCC:
供电电压
GND:
接地。
第二章硬件电路的设计
2.1.总体方案的设计
数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。
本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。
并利用AT89C51单片机的记数原理,使其能准确记数。
利用中断系统使其能实现开始暂停的功能。
下图为本设计的秒表总体设计框图:
电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。
下面是本设计的硬件电路图:
2.2显示电路的设计
2.2.1数码管简介
1.数码管的结构及工作原理
单片机系统扩展LED数码管时多用共阳极LED:
共阳极数码管段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴极数码管段笔画是用高电平(“1”)点亮的,要求驱动功率较大。
2.数码管的编码方式
3.数码管的字形码表
2.2.2数码管的显示方式
1.静态显示
各数码管的位选控制线连在一起接+5V(地);
各数码管的段选控制线分别接一个8位的并行I/O口;
2.动态显示
由于LED数码显示器为多位,采用动态显示扫描显示方式,即逐个地循环地点亮各位显示器。
这样虽然在任一时刻只有1位显示器被点亮,但是由于人眼具有视觉残留效果,看起来与全部显示器持续点亮的效果基本一样。
各数码管的段选控制线共用一个8位的并行I/O口,位选控制线分别由相应的I/O口控制;
2.3.复位电路的设计
这个系统中的复位电路是采用上电加按钮来实现的。
因为AT89C51单片机的复位是靠外部电路实现的。
AT89C51单片机工作之后,只要在他的RST引线上加载10ms以上的高电平,单片机就能有效地进行复位。
AT89C51单片机通常采用上电自动复位、按键复位、以及上电加按键复位等,我们采用的是上电加按键复位方式,这样做的优点是上电后可以直接进入复位状态,当程序出现错误时,可以随时使电路复位。
第三章软件程序的设计
3.1.设计思想
因为秒表设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方法。
模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可分为功能模块和控制模块两类。
我们通过模块化程序设计可按适当的原则把一个情况复杂、规模较大的程序系统划分为一个个较小的、功能相关而又相对独立的模块。
每个小的模块完成一个确定的功能,在这些小的模块之间建立必要的联系,互相协作完成整个程序要完成的功能。
它具有明显的优点,把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。
其中的模块即为子程序,子程序是功能独立的程序段。
子程序的基本思想是编写一次,可以重复使用。
子程序的形式可以是一个程序文件,也可以是一个过程或函数。
子程序总被其他程序调用而不单独执行,这与主程序相对。
这个主程序也是由多个子程序模块组成,各程序模块都要完成一个明确的任务,实现某个具体的功能,、快加、复位,计数和显示等,在具体需要时调用相应的模块即可。
3.2.程序流程图
1.定时器流程图
2.加1子程序流程图
3.3.源程序代码
ORG00H
LJMPMAIN
ORG000BH
LJMPTIME0
ORG0030H
MAIN:
MOVR0,#0
MOVR1,#0
MOVR2,#0
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
SETBEA
SETBET0
LOOP:
LCALLDIS
JBP3.2,LOOP
LCALLDLY10MS
JBP3.2,LOOP
JNBP3.2,$
LCALLKEY
AJMPLOOP
KEY:
INCR2
CJNER2,#1,KEY2
SETBTR0
RET
KEY2:
CJNER2,#2,KEY3
CLRTR0
RET
KEY3:
CJNER2,#3,BACK
MOVR0,#0
MOVR1,#0
MOVR2,#0
BACK:
RET
TIME0:
MOVTH0,#3CH
MOVTL0,#0B0H
INCR0
CJNER0,#20,I_RET
MOVR0,#0
INCR1
CJNER1,#100,I_RET
MOVR1,#0
I_RET:
RETI
DIS:
MOVA,R1
MOVB,#10
DIVAB
MOVDPTR,#TABMOVP2,#11111101B
ACALLSEG7
MOVP0,A
LCALLDLY1MS
MOVA,B
MOVP2,#11111110B
ACALLSEG7
MOVP0,A
LCALLDLY1MS
DLY10M:
MOVR7,#20
D1:
MOVR6,#248
DJNZR6,$
DJNZR7,D1
RET
DLY1MS:
MOVR5,#2
D2:
MOVR4,#248
DJNZR4,$
DJNZR5,D2
RET
SEG7:
MOVCA,@A+DPTR
RET
TAB:
DB0C0H,0F9H,0A4H
DB0B0H,99H,92H
DB82H,0F8H
DB80H,90H
END
第四章软件仿真
利用Keil软件对源程序进行编译,编译成功后,把编译结果保存。
然后根据我们的软件在PROTEUS中设计出相应的硬件电路,并将该电路保存到与WAVE程序相同的文件夹中,最后将程序装载到单片机中,通过ISIS7PROTEUS仿真,看程序是否能够实现预想的功能。
仿真图如下所示:
第五章结束语
经过一周的不懈努力,电子秒表的设计终于完成了。
在这期间我们学会了很多,也学到了很多,同时,对单片机这门课程有了更深一步的理解和掌握。
1、本次设计使我加深了对单片机课程的全面认识,复习和掌握,对AT89C51单片机有了更深入的了解,对I/O口的使用,晶振电路的接法,以及复位电路等的掌握都有了很大程度的提高,这为以后的实践打下了良好的基础。
2、掌握了定时器、外部中断的设置和编程原理。
3、通过此次设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
4、程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。
5、我在编程过程中还有好多不理解的地方,经过同学的帮助终于完成了这次设计。
在这个过程中体会到了合作的好处,更了解的互相帮助的重要性。
第六章致谢
首先诚挚的感谢指导老师项老师,项老师为我对本文的完成提供了良好的设施和环境,从论文的选定到实验研究,从资料收集到方案确定,项老师都给了我大量的中肯的建议和意见,我的每步工作都凝聚了老师们辛勤汗水。
同时,项老师的严谨的治学态度和忘我的工作精神以及高尚的师德给我留下了深深的影响,这将激励我更好地完成今后的学习和工作。
借此机会对项老师的精心教育和指导表示忠心的感谢;也借此机会,感谢大学三年来辛勤教育指导我的各科任老师。
我也很感谢论文答辩的各位评委老师,感谢他们在百忙之中抽出时间帮我们答辩。
还要感谢班里的同学对我不懈的支持与帮助。
通过这次设计,我学到了很多知识,同时也认识到在团队工作中需要有合作精神,我想这会为今后自己踏上工作岗位、更好地融入新的团队打下良好的基础。
参考文献
[1]余发山编著.单片机原理及应用技术徐州:
中国矿业大学出版社,2003年
[2]杨凌霄编著.微型计算机原理及应用.徐州:
中国矿业大学出版社,2004年
[3]杨宁编著.单片机与控制技术.北京:
北京航空航天大学出版社,2004年
[4]王闪编著.AT89系列单片机原理与接口技术.北京:
北京航空航天大学出版社,2004年