完整版基于51单片机的秒表设计1.docx
- 文档编号:29215076
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:19
- 大小:76.82KB
完整版基于51单片机的秒表设计1.docx
《完整版基于51单片机的秒表设计1.docx》由会员分享,可在线阅读,更多相关《完整版基于51单片机的秒表设计1.docx(19页珍藏版)》请在冰豆网上搜索。
完整版基于51单片机的秒表设计1
实训报告
题目秒表系统的设计
年级
专业
班级
学号
姓名
地点
日期
一,目⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3
二,系硬件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4
三,系件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯7
四,系与果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12
五,片机小⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13
2
设计目标
最近几年来跟着科学技术的发展,单片机的应用范围愈来愈广,也成为好多专业的必修课。
本文简单论述了鉴于单片机的秒表设计。
本设计的主要特色是计时精度达到0.01秒,能够用来为各样体育比赛计时等。
本设计的数字秒表采纳AT89才51单片机为主要器件,利用其准时器的原理,
结LED数码管以及外面中止电路来设计计时器。
将软硬件联合起来,使得系统能实现0~99.99秒的计时,计时精度位0.01秒。
当按下一个键1时,开始显示数
字,即计时开始,再按下键2时,暂停计时并显示方才的结果,这个时候假如再
按键1,则持续计时,也就是显示的数字包含方才的数据。
按下键3时,数据清
零。
3
系统硬件设计
1、1整体方案的设计
数字秒表拥有显示直观、读取方便、精度高等长处,在计时中宽泛应用。
本设计顶用单片机和数码管构成数字秒,力争构造简单。
设计中包含硬件电路的设计和系统程序的设计。
硬件电路主要有主控制器、
控制按钮与显示电路构成。
主控制器采纳单片机AT89才51,显示电路采纳四位
共阴极数码管显示计不时间。
本设计利用AT89才51单片机的准时器,使其能精准计时。
利用键盘上的独立按
键实现开始计时和暂停以及清零。
P0口输出段码数据,P2.0~P2.2连上译码器作
为位选。
设计的基本要求是正确性。
计时器采纳T0中止实现,准时溢出中止周期为1ms,当溢出中止后向CPU
发出溢出中止恳求,每发出10次中止恳求就对10ms位(即最后一位)加一,达
到100次就对100ms位加一,以此类推,直到99.99s为止。
单片机的选择
本设计在选用单片机时,充足借鉴了很多成型产品使用单片机的经验。
并依据自己的实质状况,采纳了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内部振荡电路反相放大器的输出端,是外接晶体的一个引脚。
当采纳外面振荡时,此引脚接地。
4
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口()是一个带有内部上拉电阻的8位准双向I/O口,在接见
外面储存器时,它输出高8位地点。
P2口能够驱动四个LSTTL负载。
显示电路的选择与设计
关于数字显示电路,往常采纳液晶显示或数码管显示。
关于一般的段式液晶
屏,需要特意的驱动电路,并且液晶显示作为一种被动显示,可视性差,不合适
远距离观看;关于拥有驱动电路和单片机接口的液晶显示模块,一般多采纳并行
接口,对单片机的接口要求较高,占用资源多;此外,AT89S52单片机自己没有
特意的液晶驱动接口。
而数码管作为一种主动显示器件,拥有亮度高、响应速度
快、价钱廉价、易于购置等长处,并且有远距离视觉成效,很合适夜间或许远距
5
离操作。
所以在本设计中,我们采纳7段数码管作为显示介质。
数码管显示能够分为静态显示和动向显示两种。
因为本设计需要采纳四位数码管显示时间,假如静态显示则占用的口线多,硬件电路复杂,所以采纳动向显示。
动向显示是一位一位地轮番点亮各位数码管,这类逐位点亮显示器的方式称为位扫描。
往常各位数码管的段选线相应并联在一同,由一个8位的I/O口控制;各位的公共阴极位选线由此外的I/O口线控制。
动向方式显示时,各数码管轮番选通,要使其稳固显示一定采纳扫描方式,即在某一时辰只选通一位数码管并送出相应的段码,在另一时辰选通另一数码管,并送出相应的段码,挨次规律循环,即能够使各位数码管显示将要显示的字符,固然这些字符是在不一样时辰分别显
示,但因为人眼存在视觉暂留效应,只需每位显示间隔足够短就能够给人同时显示的感觉。
1.4系统整体电路的设计
系统整体电路以下列图所示
AT89才51单片机为主电路的中心部分,各个电路均与单片机相连,由单片
机兼顾协调各个电路的运转工作。
显示电路由四位数码管构成,采纳动向显示方式,所以有8位段控制和4位
位控制,8位段接控制接P0口,P0.0~P0.7分别控制数码管的abcdefgdp
显示。
6
系统软件设计
2.1主程序设计
本系统程序主要模块由主程序、准时中止服务程序、程序构成。
主程序主假如对准时器赋初值,开总中止、准时器溢出中止。
2.2准时器T0中止服务程序
当T0一处后,向CPU发出中止恳求信号。
CPU跳转到准时中止程序履行,中间止次数为2时为10ms。
详细流程以下:
准时器中止进口重置计数初值中止次数加1中断次数等于
2?
中止次数清零,秒位加1秒位到10?
秒位
清零,0.1秒位加10.1秒位到10?
0.1秒位清零,1秒位加11
秒位到10?
1秒位清零,10秒位加110秒位到10?
10
秒位清零中止返回。
程序清单
#include
#defineuintunsignedint
#defineucharunsignedchar
voiddelay(uint);//延时程序
sbitk1=P3^4;//定义开始键
7
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)
8
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;//重装计时初值
9
TL0=(65536-5000)%256;
tt++;
if(tt==2)
{
tt=0;
i++;//溢出两次,秒位加1
if(i==10)
{
i=0;
j++;秒位到位加1
}
if(j==10)
{
j=0;
k++;秒位到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)
{
10
dula=1;
P0=table[i];//显示数值
dula=0;
wela=1;
P0=0xf7;秒位显示
wela=0;
delay
(1);
dula=1;//数值显示
P0=table[j];
dula=0;
wela=1;
P0=0xfb;秒位显示
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);
}
11
系统调试与设计结果
利用开发板显示结果:
经过STC-ISPV29Beta5,将程序与开发板连结起来,此时,数码管前4位均
显示0.按下键盘上独立键中的P3^4键,开始计时。
按下P3^5键,即暂停计时。
此时若持续按下P3^4键,则持续计时,在此前数据基础上计时。
按下P3^6键,
则表示清零,数码管前四位均显示0。
当计数值到99.99时,接下来数码管又会回到开始那样,从0累加并显示。
12
单片机实训小结
不知不觉,十天的单片机实训又结束了,不得不感触,有事做了,时间也过的超快。
此前的labview实训,因为学的不那么难,就致使我不是很重视,上课的时候就盼着下课。
而这个单片机实训,向来在忙活,居然就这样结束了。
好久从前就听闻过单片机,也试试过去图书室借阅,但是借回来后,向来放到超期都没动过,此后翻了一下正文第一页,根本不知道说的什么,从那此后,
就向来以为单片机是个很难很难的东西。
有了那个想法后,就向来排挤单片机,感觉自己一定学不会。
所以,在8月12号到14号实训时期,我什么都没干,老师授课没听,他人在看视频我在玩。
当我开始看视频的时候,他人已经开始编程,而后用protues仿真了,这个时候我就意识到自己的问题大了。
于是,开始狂追,我看的是郭天祥的51单片机视频教程,也没看书,没看其余东西,就只依赖他
的视频,幸亏他授课的内容也是一步一步从基本讲起,在我的接受范围以内。
刚看的时候,感觉自己当初的排挤太错误了,所以有点怠慢,越到后期越感觉,学
单片机真耗时间,不可以小觑。
此后便开始仔细对待。
所以,到此刻为止,也学到了好多东西。
单板机也就是将CPU芯片、储存器芯片、I/O接口芯片和简单的I/O设施(小
键盘、LED显示器)等装置在一块印刷电路板上,再配上监控程序(固化在ROM
13
中),就构成了一台单板微型计算机(简称单板机)。
单片机的用途特别宽泛,主要有:
一,实物展现、用到单片机的项目经验介绍、手持粮库温度寻检设施、毕页设计辩论打分器、电话台灯、自动感觉水龙优等等。
二,工业自动化:
数据收集、测控技术。
三,智能仪器仪表:
数字示波器、数字信号源、数字万用表、感觉电流表等。
四,花费类电子产品:
洗衣机、电冰箱、空调机、电视机、微波炉、手机、
IC卡、汽车电子设施等。
五,通信方面:
调制解调器、程控互换技术、手机、小灵通等。
六,武器装备:
飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。
凡是与控制或简单计算相关的电子设施都能够用单片机来实现,可见单片机对科技发展的作用之大。
学单片机需要的基础:
与从前所学的知识关系极少,只需要掌握很基本的数电模电知识,如二进制、十进制、十六进制之间的变换,与、或、非逻辑关系等,对各样器件的观点基本上是从0开始,假如要用C语言编程,需具备简单的C语言基础。
而我们从前都学过C语言,这也让我们对单片机的学习略微简化了一点,这样几乎全部人都站在了同一同跑线上。
其实到此刻,我也只学到了键盘那边,看了靠近5集视频,均匀每集都差不
多3个小时,并且在看的过程中还要停下来,自己编程,再仿真。
眼睛向来对着
电脑,看的眼都花了,并且有些程序即便编对了,在protues仿真时也可能犯错。
此后买了开发板,就立时感觉兴趣上来了,能够正确的看到自己的程序的成效,
骄傲感油但是生。
,每日对着电脑,但是有所收获,固然身体受损害,精神上却
特别高兴。
这也极大的提升了我对单片机的兴趣。
此后老师部署了作业,题目是鉴于51单片机的秒表设计,当时听到这个题目,凭想像再加上想到从前的labview就感觉这个设计应当不难,所以,开始没想着做题,仍是仍旧慢悠悠的看我的视频,直到前天我妄图编程序的时候才发现,我压根不知道要用到哪些程序,或许说不知道怎样把我的想法,用正确的程序编出来,也因为毕竟keil跟C语言不是完整同样的,所不清楚keil对程序的硬性
14
要求有哪些,所以编了好久,也编的乌七八糟,还老是显示错误,又因为程序有
点长,也不简单找犯错误。
还有,有些语句之间的地点倒了就致使整个程序运转
不出自己想要的结果,最后弄的我心力交瘁。
这个时候才发现,现实与理想之间
的差异太大了。
今日是最后一天了,这十天累并快乐着,学到了好多东西。
诚心感谢学校可
以给我们供给这样的平台和时机,也很感谢老师们任劳任怨的给我们上课,也希
望此后还可以有这样的时机,即便没有,我也会自己探索。
我想,我们整个班的同
学都不会浪费这个时机,我们都在好勤学!
15
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 基于 51 单片机 秒表 设计