篮球比赛24秒计时器.doc

篮球比赛24秒计时器.doc

ID:55123790

大小:1.30 MB

页数:6页

时间:2020-04-27

篮球比赛24秒计时器.doc_第1页
篮球比赛24秒计时器.doc_第2页
篮球比赛24秒计时器.doc_第3页
篮球比赛24秒计时器.doc_第4页
篮球比赛24秒计时器.doc_第5页
资源描述:

《篮球比赛24秒计时器.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、篮球比赛24秒计时器单片机具有体积小、可靠性高、功能强、灵活方便等许多优点,广泛应用于国民经济的各个领域。单片机的应用从根本上改变了传统的控制系统设计思想和方法,以前由数字和模拟电路实现的大部分功能,现在都能用单片机通过软件的方法来实现。单片机用于各种仪器仪表使其智能化,可以提高测量的自动化程度和精度。本项目主要利用单片机的内部定时器和外部中断;外部的独立按键和数码管显示以及报警器。来实现24秒计时的功能。一设计要求和设计方案1.24秒计时器具有显示24秒的计时功能。2.系统设置外部操作开关控制计时器的暂停和连续功能。3.设置计时器为24秒递减时,其时间间隔为1

2、秒。4.当计时器递减到零时,数码管显示不灭,发出报警信号。二设计的功能单片机启动时系统从24秒开始递减计时同时数码管也递减显示,当按键按下时系统暂停计时,数码管显示当前计时时间,当系统计时到零时数码管显示0同时报警器响发出报警信号。三电路的组成1.晶振电路部分主要有晶振(本电路中的晶振实际是陶瓷谐振器)和电容够成分别接振荡电路反向放大器的输入端和输出端,为单片机提供工作的频率。1.报警电路部分主要由报警器、电阻、电源构成。当单片机P1^7口发低电平时该电路导通报警器响,电阻是限流电阻。2.独立按键部分主要由按键和地组成。按键按下时单片机接受低电平产生外部中断计时

3、器暂停计时,松开时继续计时。4.数码管显示部分主要由数码管、总线、排阻(上拉电阻)构成.单片机的P0、P2口通过总线和导线向数码管发送显示数字的二进制码使数码管显示。数码管(7端数码显示管)为共阴集数码管高电平有效。四设计电路全图五设计电路的程序#include//头文件包含c51的基本I/O口和寄存器的定义#defineuintunsignedint//宏定义将“无符号整型"数据用"uint"代替#defineucharunsignedchar//宏定义将“无符号字符型"数据用"uchar"代替uchartemp,aa,shi,ge;//定义

4、4个无符号字符型数据temp,aa,shi,ge;sbitsounder=P1^7;//定义一个位变量sounder(将P1^0口与位变量sounder建立联系)ucharcodetable[]={//定义了一个无符号字符型数组table数据存放在程序存储器中0x3f,0x06,0x5b,0x4f,//共阴数码管表0,1,2,3,0x66,0x6d,0x7d,0x07,//4,5,6,7,0x7f,0x6f,0x77,0x7c,//8,9,a,b,0x39,0x5e,0x79,0x71};//c,d,e,f,voiddisplay(ucharshi,ucharg

5、e);//显示函数声明voiddelay(uintz);//延时函数声明voidinit(void);//初始化函数声明voidmain(void)//主函数程序的入口{init();//调用初始化函数while(1)//while死循环循环判断变量始终为1{if(aa==20)//判断定时是否为1秒{aa=0;//每次循环后清零将aa(定时器计时1秒清零)temp--;//时间递减计算if(temp<0){//到0后赋值24(计数到达0秒后重新赋值24秒开始递减计时)temp=24;}shi=temp/10;//计算十位的数字ge=temp%10;//计算个位

6、的数字}display(shi,ge);//调用显示函数EA=1;//开总中断EX0=1;//开外部中断INT0if(temp==0){sounder=0;while(1);}}}voiddisplay(ucharshi,ucharge)//定义显示函数{P0=table[shi];//给P0口送显示值(数码管的十位显示)delay(1);//延时1毫秒P2=table[ge];//给P2口送显示值(数码管的个位显示)delay(1);//延时1毫秒}voidinit(void)//定义初始化函数{temp=25;//定时器的计时时间TMOD=0x01;//设置

7、定时器0的工作方式为方式1(16位计数器)TH0=(65536-50000)/256;//定时器的高八位装初值TL0=(65536-50000)%256;//定时器的高八位装初值EA=1;//开总中断ET0=1;//开定时器0的中断TR0=1;//启动定时器0}voiddelay(uintz)//延时函数{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidtimer0(void)interrupt1using0{TH0=(65536-50000)/256;//给定时器T0重装初值TL0=(65536-50000)%2

8、56;aa++;//定时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。