基于51单片机的秒表设计1.docx
- 文档编号:24239786
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:41
- 大小:125.35KB
基于51单片机的秒表设计1.docx
《基于51单片机的秒表设计1.docx》由会员分享,可在线阅读,更多相关《基于51单片机的秒表设计1.docx(41页珍藏版)》请在冰豆网上搜索。
基于51单片机的秒表设计1
毕业论文声明
本人郑重声明:
1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。
除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。
对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。
本人完全意识到本声明的法律结果由本人承担。
2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。
本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。
3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。
4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。
论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。
论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。
学位论文作者(签名):
年月
关于毕业论文使用授权的声明
本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。
本人完全了解大学有关保存,使用毕业论文的规定。
同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。
本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。
如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。
本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。
本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:
按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。
在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。
论文作者签名:
日期:
指导教师签名:
日期:
实训报告
题目秒表系统的设计
一,设计目标………………………………………………………………3
二,系统硬件设计…………………………………………………………4
三,系统软件设计…………………………………………………………7
四,系统调试与设计结果…………………………………………………12
五,单片机实训小结………………………………………………………13
设计目标
近年来随着科学技术的发展,单片机的应用范围越来越广,也成为很多专业的必修课。
本文简单阐述了基于单片机的秒表设计。
本设计的主要特点是计时精度达到0.01秒,可以用来为各种体育竞赛计时等。
本设计的数字秒表采用AT89才51单片机为主要器件,利用其定时器的原理,结LED数码管以及外部中断电路来设计计时器。
将软硬件结合起来,使得系统能实现0~99.99秒的计时,计时精度位0.01秒。
当按下一个键1时,开始显示数字,即计时开始,再按下键2时,暂停计时并显示刚才的结果,这个时候如果再按键1,则继续计时,也就是显示的数字包括刚才的数据。
按下键3时,数据清零。
系统硬件设计
1、1总体方案的设计
数字秒表具有显示直观、读取方便、精度高等优点,在计时中广泛应用。
本设计中用单片机和数码管组成数字秒,力求结构简单。
设计中包括硬件电路的设计和系统程序的设计。
硬件电路主要有主控制器、控制按钮与显示电路组成。
主控制器采用单片机AT89才51,显示电路采用四位共阴极数码管显示计时时间。
本设计利用AT89才51单片机的定时器,使其能精确计时。
利用键盘上的独立按键实现开始计时和暂停以及清零。
P0口输出段码数据,P2.0~P2.2连上译码器作为位选。
设计的基本要求是正确性。
计时器采用T0中断实现,定时溢出中断周期为1ms,当溢出中断后向CPU发出溢出中断请求,每发出10次中断请求就对10ms位(即最后一位)加一,达到100次就对100ms位加一,以此类推,直到99.99s为止。
1.2单片机的选择
本设计在选取单片机时,充分借鉴了许多成型产品使用单片机的经验。
并根据自己的实际情况,选用了ATMEL公司的AT89才51。
ATMEL公司的89系列单片机以其卓越的性能、完善的兼容性、快捷便利的电擦写操作、低廉的价格完全替代了87C51/62和8751/52,低电压、低功耗,有DIP、PLCC、QFP封装,是目前性能最好、价格最低、最受欢迎的单片机之一。
AT89才51为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8XC52相同,其主要用于汇聚调整时的功能控制。
功能包括对汇聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,汇聚调整控制,汇聚测试图控制等。
单片机外部结构
(1)主电源引脚Vss和Vcc:
Vss接地,Vcc正常操作时为+5V接地。
外接晶振引脚XTAL1和XTAL2
a、XTAL1内部振荡电路反相放大器的输出端,是外接晶体的一个引脚。
当采用外部振荡时,此引脚接地。
b、XTAL2内部振荡电路反相放大器的输出端,是外接晶体的的另一端。
当采用外部振荡时,此引脚接外部振荡源。
(2)控制或与其他电源复用引脚
a、RST/VPD当振荡器运行是,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,
以保持内部RAM中的数据。
b、ALE/PROG正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部存储器,ALE引脚以不变的频率(振荡器频率的1/6)周期性的发出正脉冲信号。
因此,它可以用作对外输出的时钟,或用于定时目的。
c、PSEN外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,PSEN在每个机器周期内两次有效。
d、EA/Vpp内部程序存储器和外部程序存储器选择端。
当EA/Vpp位高电平时,访问内部程序存储器,当EA/Vpp为低电平时,则访问外部程序存储器。
对于EPROM编程期间,此引脚上加21VEPROM编程电源(Vpp)。
(3)a、P0口(P0.0~P0.7)是一个8位漏极开路型双向I/O口,在访问外部存储器时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流的方式驱动八个LSTTL负载。
b、P1,P3口(P1.0~P1.7)是一个带有内部上拉电阻的8位准双向I/O口。
能驱动四个LSTTL负载。
c、P2口(P2.0~P2.7)是一个带有内部上拉电阻的8位准双向I/O口,在访问外部存储器时,它输出高8位地址。
P2口可以驱动四个LSTTL负载。
1.3显示电路的选择与设计
对于数字显示电路,通常采用液晶显示或数码管显示。
对于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性差,不适合远距离观看;对于具有驱动电路和单片机接口的液晶显示模块,一般多采用并行接口,对单片机的接口要求较高,占用资源多;另外,AT89S52单片机本身没有专门的液晶驱动接口。
而数码管作为一种主动显示器件,具有亮度高、响应速度快、价格便宜、易于购买等优点,而且有远距离视觉效果,很适合夜间或者远距离操作。
因此在本设计中,我们采用7段数码管作为显示介质。
数码管显示可以分为静态显示和动态显示两种。
由于本设计需要采用四位数码管显示时间,如果静态显示则占用的口线多,硬件电路复杂,所以采用动态显示。
动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。
通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的公共阴极位选线由另外的I/O口线控制。
动态方式显示时,各数码管轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位数码管并送出相应的段码,在另一时刻选通另一数码管,并送出相应的段码,依次规律循环,即可以使各位数码管显示将要显示的字符,虽然这些字符是在不同时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。
1.4系统总体电路的设计
系统总体电路如下图所示
AT89才51单片机为主电路的核心部分,各个电路均与单片机相连,由单片机统筹协调各个电路的运行工作。
显示电路由四位数码管组成,采用动态显示方式,因此有8位段控制和4位位控制,8位段接控制接P0口,P0.0~P0.7分别控制数码管的abcdefgdp显示。
系统软件设计
2.1主程序设计
本系统程序主要模块由主程序、定时中断服务程序、程序组成。
主程序主要是对定时器赋初值,开总中断、定时器溢出中断。
2.2定时器T0中断服务程序
当T0一处后,向CPU发出中断请求信号。
CPU跳转到定时中断程序执行,当中断次数为2时为10ms。
具体流程如下:
定时器中断入口重置计数初值中断次数加1中断次数等于2?
中断次数清零,0.01秒位加10.01秒位到10?
0.01秒位清零,0.1秒位加10.1秒位到10?
0.1秒位清零,1秒位加11秒位到10?
1秒位清零,10秒位加110秒位到10?
10秒位清零中断返回。
2.3程序清单
#include
#defineuintunsignedint
#defineucharunsignedchar
voiddelay(uint);//延时程序
sbitk1=P3^4;//定义开始键
sbitk2=P3^5;//定义暂停键
sbitk3=P3^6;//定义清零键
sbitdula=P2^6;
sbitwela=P2^7;
ucharcodetable[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
uchartt,i,j,k,l;
voiddisplay(uchari,ucharj,uchark,ucharl);//数码管显示数
voidmain()
{
tt=0;
i=0;
j=0;
k=0;
l=0;//数码管显示0
TMOD=0x01;//设置定时器为模式1
TH0=(65536-5000)/256;//给定时器赋定时初值
TL0=(65536-5000)%256;
EA=1;//开总中断
ET0=1;TR0=0;
while
(1)
{
if(k1==0)//判断是否按下开始键
{
delay(10);//消抖
if(k1==0)
TR0=1;
}
if(k2==0)//判断是否按下暂停键
{
delay(10);//消抖
if(k2==0)
TR0=0;
}
if(k3==0)//判断是否按下清零键
{
delay(10);
if(k3==0)
{
i=0;j=0;k=0;l=0;
TR0=0;//清零
}
}
display(i,j,k,l);//数码管显示
}
}
voiddelay(uintz)
{
uintx,y;
for(x=100;x>0;x--)
for(y=z;y>0;y--);//延时
}
voidexter0()interrupt1//定时器溢出中断
{
TH0=(65536-5000)/256;//重装计时初值
TL0=(65536-5000)%256;
tt++;
if(tt==2)
{
tt=0;
i++;//溢出两次,0.01秒位加1
if(i==10)
{
i=0;
j++;//0.01秒位到10,0.1位加1
}
if(j==10)
{
j=0;
k++;//0.1秒位到10,1秒位加1
}
if(k==10)
{
k=0;
l++;//1秒位到10,10秒位加1
}
if(l==10)
{
l=0;//10秒位到10,清零
}
}
}
voiddisplay(uchari,ucharj,uchark,ucharl)
{
dula=1;
P0=table[i];//显示数值
dula=0;
wela=1;
P0=0xf7;//0.01秒位显示
wela=0;
delay
(1);
dula=1;//数值显示
P0=table[j];
dula=0;
wela=1;
P0=0xfb;//0.1秒位显示
wela=0;
delay
(1);
dula=1;//数值显示
P0=table[k]|0x80;//始终在1秒位后面显示小数点
dula=0;
wela=1;
P0=0xfd;//1秒位显示
wela=0;
delay
(1);
dula=1;
P0=table[l];//数值显示
dula=0;
wela=1;
P0=0xfe;//10秒位显示
wela=0;
delay
(1);
}
系统调试与设计结果
利用开发板显示结果:
通过STC-ISPV29Beta5,将程序与开发板连接起来,此时,数码管前4位均显示0.按下键盘上独立键中的P3^4键,开始计时。
按下P3^5键,即暂停计时。
此时若继续按下P3^4键,则继续计时,在此前数据基础上计时。
按下P3^6键,则表示清零,数码管前四位均显示0。
当计数值到99.99时,接下来数码管又会回到开始那样,从0累加并显示。
单片机实训小结
不知不觉,十天的单片机实训又结束了,不得不感慨,有事做了,时间也过的超快。
此前的labview实训,由于学的不那么难,就导致我不是很重视,上课的时候就盼着下课。
而这个单片机实训,一直在忙活,竟然就这样结束了。
很久以前就听说过单片机,也尝试过去图书馆借阅,可是借回来后,一直放到超期都没动过,后来翻了一下正文第一页,根本不知道说的什么,从那以后,就一直认为单片机是个很难很难的东西。
有了那个想法后,就一直排斥单片机,觉得自己肯定学不会。
所以,在8月12号到14号实训期间,我什么都没干,老师讲课没听,别人在看视频我在玩。
当我开始看视频的时候,别人已经开始编程,然后用protues仿真了,这个时候我就意识到自己的问题大了。
于是,开始狂追,我看的是郭天祥的51单片机视频教程,也没看书,没看其他东西,就只依靠他的视频,好在他讲课的内容也是一步一步从基本讲起,在我的接受范围之内。
刚看的时候,觉得自己当初的排斥太错误了,所以有点怠慢,越到后期越觉得,学单片机真耗时间,不能小觑。
后来便开始认真对待。
因此,到现在为止,也学到了很多东西。
单板机也就是将CPU芯片、存储器芯片、I/O接口芯片和简单的I/O设备(小键盘、LED显示器)等装配在一块印刷电路板上,再配上监控程序(固化在ROM中),就构成了一台单板微型计算机(简称单板机)。
单片机的用途非常广泛,主要有:
一,实物展示、用到单片机的项目经验介绍、手持粮库温度寻检设备、毕页设计答辩打分器、电话台灯、自动感应水龙头等等。
二,工业自动化:
数据采集、测控技术。
三,智能仪器仪表:
数字示波器、数字信号源、数字万用表、感应电流表等。
四,消费类电子产品:
洗衣机、电冰箱、空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。
五,通讯方面:
调制解调器、程控交换技术、手机、小灵通等。
六,武器装备:
飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。
凡是与控制或简单计算有关的电子设备都可以用单片机来实现,可见单片机对科技发展的作用之大。
学单片机需要的基础:
与以前所学的知识关联很少,只需要掌握很基本的数电模电知识,如二进制、十进制、十六进制之间的转换,与、或、非逻辑关系等,对各种器件的概念基本上是从0开始,如果要用C语言编程,需具备简单的C语言基础。
而我们之前都学过C语言,这也让我们对单片机的学习稍微简化了一点,这样几乎所有人都站在了同一起跑线上。
其实到现在,我也只学到了键盘那里,看了接近5集视频,平均每集都差不多3个小时,而且在看的过程中还要停下来,自己编程,再仿真。
眼睛一直对着电脑,看的眼都花了,而且有些程序即使编对了,在protues仿真时也可能出错。
后来买了开发板,就顿时觉得兴趣上来了,可以准确的看到自己的程序的效果,自豪感油然而生。
,每天对着电脑,但是有所收获,虽然身体受伤害,精神上却非常开心。
这也极大的提高了我对单片机的兴趣。
后来老师布置了作业,题目是基于51单片机的秒表设计,当时听到这个题目,凭想像再加上想到之前的labview就觉得这个设计应该不难,因此,开始没想着做题,还是依旧慢吞吞的看我的视频,直到前天我企图编程序的时候才发现,我压根不知道要用到哪些程序,或者说不知道如何把我的想法,用正确的程序编出来,也因为毕竟keil跟C语言不是完全一样的,所不清楚keil对程序的硬性要求有哪些,因此编了很久,也编的乱七八糟,还总是显示错误,又由于程序有点长,也不容易找出错误。
还有,有些语句之间的位置倒了就导致整个程序运行不出自己想要的结果,最后弄的我心力交瘁。
这个时候才发现,现实与理想之间的差别太大了。
今天是最后一天了,这十天累并快乐着,学到了很多东西。
真心感谢学校可以给我们提供这样的平台和机会,也很感谢老师们不辞劳苦的给我们上课,也希望以后还能有这样的机会,即使没有,我也会自己摸索。
我想,我们整个班的同学都不会浪费这个机会,我们都在好好学!
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 秒表 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)