【《基于单片机的篮球计时计分器的设计》6400字(论文)】_第1页
【《基于单片机的篮球计时计分器的设计》6400字(论文)】_第2页
【《基于单片机的篮球计时计分器的设计》6400字(论文)】_第3页
【《基于单片机的篮球计时计分器的设计》6400字(论文)】_第4页
【《基于单片机的篮球计时计分器的设计》6400字(论文)】_第5页
已阅读5页,还剩25页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

[13]。在有效误差内,该设计能实现其应有的功能,从而完善比赛的计时计分。5总结在本次设计中,我对于单片机STC89C51运用有了进一步的认识,同时,对于单片机的认识与运用不仅局限于书本上的知识,更从实践中对于单片机的功能以及C语言的设计应用方面有了更加深刻的认识,纸上得来终觉浅,绝知此事要躬行。经过反复调试,由51单片机控制的篮球计时计分器,基本上能适应篮球比赛的要求,能够在为比赛提供准计时的同时,也能快速计分。该设计的优点在于不同于手记,该设计误差更小,同样也便于操作,对于记录场上比赛信息且加工处理更加及时。参考文献冯进宝.基于PIC单片机的窗帘控制系统设计[J].数字通信世界,2018(03):39.史洁,田云.《单片机原理与应用》在高职教育中的教学改革与实践[J].新课程研究(中旬刊),2010(10):37-38.张立,刘畅,肖红安,贺南云.篮球比赛计时记分系统设备的研制与应用[J].体育科技文献通报,2006(10):3-4+24.钟炜,李泽滔.基于AT89S52单片机的电子记分牌设计[J].现代机械,2015(01):83-86.高淑兰.基于DEA的区域科技创新效率评价实证分析——以广西为例[J].科技创新与应用,2017(17):42-43.裴勇.手持式粮食温度记录仪的设计[J].农业科技与装备,2015(06):47-49+52.陈娜,阮晟懿,薛珂磊,诸梦瑶,何毅辛,刘亚林,赵哲韬,尉鹏飞.多选择解锁的雨伞放置器[J].科技创新导报,2019,16(10):151-153.王凯舟,肖文鹏.利用51单片机实现数字时钟[J].民营科技,2017(01):28.陈博,屈丹,王星辉,王辅源.基于无线通信的输液监测系统设计[J].数字通信世界,2018(06):90-91+247.张占强,朝乐门.基于单片机的蒙古文输入及显示系统设计[J].国外电子测量技术,2014,33(05):40-43.叶达佳.自动干手器设计[J].企业技术开发,2011,30(15):98-99.罗明泽.基于单片机的篮球比赛计时器设计[J].数码世界,2017(02):142-143.丁泊皓.基于单片机的篮球比赛计时计分器系统的设计与实现[J].数字通信世界,2018(02):61.

附录一C语言程序#include<reg51.h>#defineLEDDataP0unsignedcharcodeLEDCode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};intminit,second,count,count1; //分,秒,计数器charmin=15,sec=0;sbitadd1=P1^0; //A队加分,每按一次加1分/在未开始比赛时为加时间分sbitdec1=P1^1; //B队减分,每按一次减1分 /在未开始比赛时为减时间分sbitexchange=P1^2; //交换场地sbitadd2=P1^3; //B队加分,每按一次加1分 /在未开始比赛时为加时间秒sbitdec2=P1^4; //B队减分,每按一次减1分 /在未开始比赛时为减时间秒sbitp24_sec=P1^5;sbitsecondpoint=P0^7; //秒闪动点//依次点亮数码管的位sbitled1=P2^7;sbitled2=P2^6;sbitled3=P2^5;sbitled4=P2^4;sbitled5=P2^3;sbitled6=P2^2;sbitled7=P2^1;sbitled8=P2^0;sbitled9=P3^7;sbitled10=P3^6;sbitled11=P3^5;sbitled12=P3^4;sbitalam=P1^7; //报警bitplayon=0; //比赛进行标志位,为1时表示比赛开始,计时开启bittimeover=0; //比赛结束标志位,为1时表示时间已经完bitAorB=0; //AB对交换位置标志位bithalfsecond=0; //半秒标志位unsignedintscoreA; //A队得分unsignedintscoreB; //B队得分unsignedcharsec24=24; voidDelay5ms(void){unsignedinti;for(i=100;i>0;i--);}voiddisplay(void){//显示时间分LEDData=LEDCode[minit/10];led1=0;Delay5ms();led1=1;LEDData=LEDCode[minit%10];led2=0;Delay5ms();led2=1;//秒点闪动if(halfsecond==1)LEDData=0x7f;elseLEDData=0xff;led2=0;Delay5ms();led2=1;secondpoint=0;//显示时间秒LEDData=LEDCode[second/10];led3=0;Delay5ms();led3=1;LEDData=LEDCode[second%10];led4=0;Delay5ms();led4=1;//显示1组的分数百位if(AorB==0)LEDData=LEDCode[scoreA/100];elseLEDData=LEDCode[scoreB/100];led5=0;Delay5ms();led5=1;//显示1组分数的十位if(AorB==0)LEDData=LEDCode[(scoreA%100)/10];elseLEDData=LEDCode[(scoreB%100)/10];led6=0;Delay5ms();led6=1;//显示1组分数的个位if(AorB==0)LEDData=LEDCode[scoreA%10];elseLEDData=LEDCode[scoreB%10];led7=0;Delay5ms();led7=1;//显示2组分数的百位if(AorB==1)LEDData=LEDCode[scoreA/100];elseLEDData=LEDCode[scoreB/100];led8=0;Delay5ms();led8=1;//显示2组分数的十位if(AorB==1)LEDData=LEDCode[(scoreA%100)/10];elseLEDData=LEDCode[(scoreB%100)/10];led9=0;Delay5ms();led9=1;//显示2组分数的个位if(AorB==1)LEDData=LEDCode[scoreA%10];elseLEDData=LEDCode[scoreB%10];led10=0;Delay5ms();led10=1;//显示时间分LEDData=LEDCode[sec24/10];led11=0;Delay5ms();led11=1;LEDData=LEDCode[sec24%10];led12=0;Delay5ms();led12=1;}//=========================按键检测程序================================================voidkeyscan(void){if(playon==0){if(add1==0){display();if(add1==0);{if(minit<99)minit++;elseminit=99;min=minit;}dodisplay();while(add1==0);}if(dec1==0){display();if(dec1==0);{if(minit>0)minit--;elseminit=0;min=minit;}dodisplay();while(dec1==0);}if(add2==0){display();if(add2==0);{if(second<59)second++;elsesecond=59;sec=second;}dodisplay();while(add2==0);}if(dec2==0){display();if(dec2==0);{if(second>0)second--;elsesecond=0;sec=second;}dodisplay();while(dec2==0);}if(exchange==0){display();if(exchange==0);{TR1=0; //关闭T1计数器alam=1; //关报警AorB=~AorB; //开启交换 minit=min; //并将时间预设为15:00second=sec;sec24=24;}dodisplay();while(exchange==0);} }else{if(add1==0){display();if(add1==0);{if(AorB==0){if(scoreA<999)scoreA++;elsescoreA=999;}else{if(scoreB<999)scoreB++;elsescoreB=999;}}dodisplay();while(add1==0);}if(dec1==0){display();if(dec1==0);{if(AorB==0){if(scoreA>0)scoreA--;elsescoreA=0;}else{if(scoreB>0)scoreB--;elsescoreB=0;}}dodisplay();while(dec1==0);}if(add2==0){display();if(add2==0);{if(AorB==1){if(scoreA<999)scoreA++;elsescoreA=999;}else{if(scoreB<999)scoreB++;elsescoreB=999;}}dodisplay();while(add2==0);}if(dec2==0){display();if(dec2==0);{if(AorB==1){if(scoreA>0)scoreA--;elsescoreA=0;}else{if(scoreB>0)scoreB--;elsescoreB=0;}}dodisplay();while(dec2==0);}if(p24_sec==0){display();if(p24_sec==0){sec24=24;TR0=1;alam=1;while(p24_sec==0)display();}}}}//******************************主函数*************************************************voidmain(void){TMOD=0x11;TL0=0xb0;TH0=0x3c;TL1=0xb0;TH1=0x3c;minit=min; //初始值为15:00second=sec;EA=1;ET0=1;ET1=1;TR0=0;TR1=0;EX0=1;IT0=1;IT1=1;// EX1=1;PX0=1;// PX1=1;PT0=0;P1=0xFF;P3=0xFF;alam=1;while(1){keyscan();display(); }}voidPxInt0(void)interrupt0{Delay5ms();EX0=0;alam=1;TR1=0;if(timeover==1){timeover=0;}if(playon==0){playon=1; //开始标志位TR0=1; //开启计时if((minit+second)==0){sec24=24;minit=min; second=sec;}}else{playon=0; //开始标志位清零,表示暂停TR0=0; //暂时计时} EX0=1; //开中断 }/*voidPxInt1(void)interrupt2{Delay5ms();EX1=0; //关中断if(timeover==1) //比赛结束标志,必须一节结束后才可以交换,中途不能交换场地{TR1=0; //关闭T1计数器alam=1; //关报警AorB=~AorB; //开启交换 minit=15; //并将时间预设为15:00second=0;}EX1=1; //开中断}*///*********************************中断服务函数**************************************voidtime0_int(void)interrupt1{TL0=0xb0;TH0=0x3c;TR0=1;count++;if(count==10){halfsecond=0;}if(count==20){count=0;halfsecond=1;// if(second>0){second--;if(second<0){if(minit>0){second=59;minit--;}else{second=0;t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论