数字秒表课程设计.docx
- 文档编号:17826482
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:17
- 大小:335.46KB
数字秒表课程设计.docx
《数字秒表课程设计.docx》由会员分享,可在线阅读,更多相关《数字秒表课程设计.docx(17页珍藏版)》请在冰点文库上搜索。
数字秒表课程设计
摘要
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
本设计利用AT89S52单片机的定时器/计数器定时和记数的原理,使其能精确计时。
利用中断系统使其能实现开始暂停的功能。
P0口输出段码数据,P2.0-P2.3口作列扫描输出,P1.0、P1.1口接两个按钮开关,分别实现开始和暂停、清零功能。
电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。
该秒表能用于短时间测量,适用于田径比赛等竞技场合计时使用。
(1)计时范围:
0—9分59.9秒
(2)精度:
0.1秒
(3)误差:
0.05秒
(4)两只开关控制三种状态,即:
一直开关负责开始和停止,另一只负责清零。
我们使用C语言来编写程序,采用模块化程序设计方法,主程序有多个子程序构成,这些子程序可以单独的设计,调试和管理,其中包括加1子程序、延时子程序、复位子程序和显示子程序等。
将源程序代码在WAVE中进行编译和调试,硬件系统利用Proteus软件来实现,可以方便的看到运行结果。
目录
1概述………………………………………………………………………………3
1.1单片机原理及应用简介……………………………………………………3
1.2系统硬件认识………………………………………………………………3
2系统总体方案及硬件设计………………………………………………………6
2.1系统总体方案………………………………………………………………6
2.2硬件电路原理图设计…………………………………………………………7
3软件设计…………………………………………………………………………9
3.1设计思想……………………………………………………………………………………9
3.2仿真过程………………………………………………………………………10
3.3仿真结果…………………………………………………………………………………10
4Proteus软件仿真………………………………………………………………11
5课程设计体会……………………………………………………………………12
参考文献……………………………………………………………………………12
附1:
源程序代码…………………………………………………………………13
附2:
系统原理图…………………………………………………………………19
1概述
1.1单片机原理及应用简介
随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时/数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机。
单片机的特点:
具有优异的性能价格比,集成度高、体积小、可靠性高控制功能强低电压、低功耗。
单片机是微型计算机的一个重要分枝,单片机是把中央处理器、随机存储器、只读存储器、定时器/计数器、并行接口接口、串行接口、A/D转换器等主要计算机部件,集中在一块集成电路芯片上。
虽然只是一个芯片,但从功能上它就相当于一台完整的微机。
随着科学技术的迅猛发展,单片计集成度高、体积小、运算速度快、功耗低、运行可靠、价格低廉等诸多优点,越来越显现出来。
目前可以说单片机已经渗透到我们的生活的各个领域,在智能仪器仪表中的应用:
在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。
在机电一体化中的应用:
机电一体化产品是指集机械、微电子技术、计算机技术于一本,具有智能化特征的电子产品。
在实时过程控制中的应用:
用单片机实时进行数据处理和控制,使系统保持最佳工作状态,提高系统的工作效率和产品的质量。
在人类生活中的应用:
目前国外各种家用电器已普通采用单片机代替传统的控制电路。
在其它方面的应用:
单片机除以上各方面的应用,它还广泛应用于办公自动化领域、商业营销领域、汽车及通信、计算机外部设备、模糊控制等各领域中。
把单片机的诞生称为计算机发展史上的一个重要里程碑并不过分。
单片机的应用,使许多领域的技术水平和自动化程度大大提高。
可以说当今世界正在经受一场以单片机技术为标志的新技术革命浪潮的冲击。
人们需要掌握单片机知识,跨入单片机应用与开发领域的大门。
我们作为理工科的大学生,学习单片机课程尤其显得越来越重要。
1.2系统硬件认识
单片机(AT89S52)的引脚图如下所示:
它由CPU、存储器(包括RAM和ROM)、I/O接口、定时/计数器、中断控制功能等均集成在一块芯片上,片内各功能通过内部总线相互连接起来。
输入/输出引脚P0、P1、P2、P3的功能:
P0.0-P0.7:
P0口是一个8位漏极开路型双向I/O端口。
在访问片外存储器时,它分时作低8位地址和8位双向数据总线用。
在EPROM编程时,由P0输入指令字节,而在验证程序时,则输出指令字节。
验证程序时,要求外接上拉电阻。
P0能以吸收电流的方式驱动8个LSTTL负载。
P1.0-P1.7(1-8脚)P1是一上带内部上拉电阻的8位双向I/O口。
在EPROM编程和验证程序时,由它输入低8位地址。
P1能驱动4个LSTTL负载。
在8032/8052中,P1.0还相当于专用功能端T2,即定时器的计数触发输入端;P1.1还相当于专用功能端T2EX,即定时器T2的外部控制端。
P2.0-P2.7(21-28脚):
P2也是一上带内部上拉电阻的8位双向I/O口。
在访问外部存储器时,由它输出高8位地址。
在对EPROM编程和程序验证时,由它输入高8位地址。
P2可以驱动4个LSTTL负载。
P3.0-P3.7(10-17脚):
P3也是一上带内部上拉电阻的双向I/O口。
在MCS-51中,这8个引脚还用于专门的第二功能。
P3能驱动4个LSTTL负载。
P3.0RXD(串行口输入)
P3.1TXD(串行口输出)
P3.2INT0(外部中断0输入)
P3.3INT1(外部中断1输入)
P3.4T0(定时器0的外部输入)
P3.5T1(定时器1的外部输入)
P3.6WR(片外数据存储器写选通)
P3.7RD(片外数据存储器读选通)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2系统总体方案及硬件设计
2.1系统总体方案
我选用的是单片机(AT89S52)来实现电子秒表的功能。
其功能为:
(1)开始时,显示“0000”,计时开关第1次按下后单片机秒表就开始计时。
(2)计时开关第2次按下后,计时停止。
(3)清零开关按下后,计时归零。
1微处理器在设计过程中我使用12MHZ晶振与单片机AT89S52相连接,通过软件编程的方法实现了单片机秒表功能,利用数码管动态扫描显示单片机内部处理的数据。
同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。
在PROTEUS软件环境下仿真(用C51芯片代替S52芯片),如图所示:
2显示电路
此次设计的电子秒表的显示使用四个一位数码管来实现显示功能,其图为下
图所示:
2.2硬件电路原理图设计
系统板上硬件连线
(1)把“单片机系统”区域中的P0.0-P0.7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-g、dp端口上;要求:
P0.0对应着a,
P0.1对应着b,……,P0.7对应着dp。
(2)把“单片机系统”区域中的P2.0-P2.3端口与数码管中的4,3,2,1分别相连接。
(3)把“单片机系统“区域中的P1.0,P1.1端口分别接另个开关,分别用来控制数码管的开始和暂停、清零。
3软件设计
3.1设计思想
因为秒表设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方法。
模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可分为功能模块和控制模块两类。
我们通过模块化程序设计可按适当的原则把一个情况复杂、规模较大的程序系统划分为一个个较小的、功能相关而又相对独立的模块。
每个小的模块完成一个确定的功能,在这些小的模块之间建立必要的联系,互相协作完成整个程序要完成的功能。
它具有明显的优点,把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。
其中的模块即为子程序,子程序是功能独立的程序段。
子程序的基本思想是编写一次,可以重复使用。
子程序的形式可以是一个程序文件,也可以是一个过程或函数。
子程序总被其他程序调用而不单独执行,这与主程序相对。
这个主程序也是由多个子程序模块组成,各程序模块都要完成一个明确的任务,实现某个具体的功能,加计数、减计数、延时、快加、复位,计数和显示等,在具体需要时调用相应的模块即可。
程序模块设计:
主程序:
voidmain()
{
init();
while
(1)
{
display(umiao,miao,fen);
key();
}
}
3.2仿真过程
1、仿真:
打开WAVE6000,输入所编写的源程序并对程序进行编译,在软件的帮助下检查其中的错误并进行反复修改,知道编译正确后运行,确保没有错误以后对正确的源程序进行保存,保存时给其命名,以便将来载入程序时容易找到。
2、打开PROTEUS软件,并出画单片机电子万年历具体运行电路图。
3、检查所画电路运行图,确保没有错误以后,在PROTEUS下对原理图进行加载。
4、加载完成后,单击电路图框下的开始按钮,进行仿真,观察LED数码管现实情况,此时LED数码管开始显示数字。
调节开关进行时间的调节。
当秒的显示间隔快与或慢与实际间隔时,调节石英晶体震荡器的频率参数,从而使秒的间隔达到标准。
然后检查电路其它问题,并对其的各参数进行调整,使之正确。
3.3仿真结果
通过在WAVE6000下对源程序的编译,改正了其中的很多错误,然后运行,保证源程序的正确性。
然后按原理图选择正确合理的电器元件,画出正确的电路图。
4Proteus软件仿真
5课程设计体会
一周的单片机实习结束了,在这一周的实习中我学到了很多在课堂上无法学到的知识,在实习中要根据实验条件,找到适合的方案,在单片机的理论学习中,有很多东西不懂,又没有实物图,我们只能靠想象,学起来很吃力,但是通过这次实习增长了我不少关于单片机的知识,在实验的过程中应认真审题,看懂题目的要求!
选择适当的课题,不益太简单或者太难。
做到既能把课题完成又能锻炼自己的能力!
但是在实习的过程中我们遇到了一些麻烦,我们制作的是单片机电
子秒表,我们把成品做出来之后在验证的时候发现秒表的十位不显示数字,在老师的帮助下我们用电阻排来实现十位显示的功能,虽然结果并不如想象的那么理想,但也起到了一定得作用,还有验证的时候,秒表显示频率太快,在修改程序中的频率后,显示正常,在焊接的过程中同学们互相交流,共同研究,在这次实习中老师给我们讲了很多关于单片机的知识,发现在我们的学习过程中我们应该多和老师交流,这样才能学的更精细一些,实验效果也达到了事半功倍的效果,通过实习我懂得课程设计重点是理论与实际的相结合,而不是只学习理论知识。
参考文献
[1]余发山.单片机原理及应用技术.中国矿业大学出版社2003.12
[2]周航慈.单片机程序设计基础.北京航空航天大学出版社1991.11
[3]何立民.单片机应用技术选编.北京航空航天大学出版社2000.08
[4]肖洪兵.跟我学用单片机.北京:
北京航空航天大学出版社2002.8
[5]赵晓安.MCS-51单片机原理及应用.天津:
天津大学出版社2001.3
[6]李广第单片机基础.第1版.北京:
北京航空航天大学出版社1999
[7]徐惠民、安德宁单片微型计算机原理接口与应用.第1版.北京:
北京邮电大学出版社1996
附1源程序代码
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcodetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbitP20=P2^3;
sbitP21=P2^2;
sbitP22=P2^1;
sbitP23=P2^0;
sbitkey1=P1^0;
sbitkey2=P1^1;
ucharumiao,miao,fen,aa;
voidinit();
voiddelayms(uintz);
voidkey();
voiddisplay(ucharumiao,ucharmiao,ucharfen);
voidmain()
{
init();
while
(1)
{
display(umiao,miao,fen);
key();
}
}
voidinit()
{
umiao=0;
miao=0;
fen=0;
P1=0xff;
P2=0xff;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
IE=0x82;
TMOD=0x01;
TR0=0;
}
voidtimer0()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
if(aa==2)
{
aa=0;
umiao++;
if(umiao==10)
{
umiao=0;
miao++;
if(miao==60)
{
fen++;
if(fen==10)
fen=0;
}
}
}
}
voiddisplay(ucharumiao,ucharmiao,ucharfen)
{
P0=0x00;
P0=tab[umiao];
P23=0;
delayms
(1);
P23=1;
P0=0x00;
P0=tab[miao%10];
P22=0;
delayms
(1);
P22=1;
P0=0x00;
P0=tab[miao/10];
P21=0;
delayms
(1);
P21=1;
P0=0x00;
P0=tab[fen];
P20=0;
delayms
(1);
P20=1;
}
voidkey()
{
if(key1==0)
{
delayms(20);
if(key1==0)
{
TR0=~TR0;
while(!
key1);
}
}
if(key2==0)
{
delayms(20);
if(key2==0)
{
umiao=0;
miao=0;
fen=0;
TR0=0;
while(!
key2);
}
}
}
voiddelayms(uinta)
{
ucharx,y;
uintz;
for(z=a;z>0;z--)
for(x=2;x>0;x--)
for(y=226;y>0;y--);
}
附2系统原理图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 秒表 课程设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)