




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
篮球记分器方案功效描述本系统是基于51单片机的全功效篮球记分器。由7个按键,17个数码管,1个发光二极管,2个3-8译码器,1个七段数码译码器构成。功效有:节次倒计时,24秒倒计时,暂停,24秒复位以及两队加减分功效。方案硬件构造:总体电路原理图以下功效及按键阐明PRUTUS键功效阐明1,LED管:前6位显示12分时间,7,8位显示24秒到计时,9~12四位为甲队分数,BCD码LED为节次显示,复位功效键选择节次13~15为乙队分数。2,按键:从上到下,依次为启动/复位,加分,减分,功效选择,功效确认,计时启动/暂停,24秒倒计时。注:功效选择为选择给哪个球队加减分,功效确认按下后不能进行加减分。复位功效键选择节次。3,没找到蜂鸣器用LED替代的。软件框图开始开始初始化While循环体读键值解决键值3ms中断显示扫描10ms中断计时软件清单:#include<reg51.h>sbitjsdao=P2^4;#definerest0x7e#defineinc0x7d#definedec0x7b#definemennusel0x77#definemennuenter0x6f#definejs_begin_over0x5f#definet24s_js0x3f#definekeyup0x7funsignedcharled[16]={1,2,0,0,0,0,2,4,0,0,0,0,0,0,0,0};unsignedcharchang,led_number;unsignedcharts/*led2~3*/,t10ms/*led4~5*/,tm,/*led0~1*/t24s,/*led6~7*/t24s_t1s;/*led6~7*/unsignedchart24s_flag;/*led6~7*/unsignedcharfenshu[]={0,0};/*led8~11*/unsignedcharteam=0;/*led8~11*/unsignedcharjieshu;/*P2第几节*/unsignedcharset_flag,shanshuo_led;unsignedintshanshuo_flag;/**/voidinit();//初始化,开两个中断unsignedcharread_key();//键盘扫描voiddelay(unsignedcharm);voidwait_key_up();//等待键释放voidkey_chuli(unsignedcharkey);//键解决voidmain(){/*==============================================主程序================================================*/unsignedcharkey;init();while(1){key=read_key();//读取键值 if(key!=keyup)//如果有键按下 {key_chuli(key);//解决按键 wait_key_up();//等待按键释放 } }}voiddelay(unsignedcharm){unsignedcharj;for(;m>0;m--)for(j=0;j<100;j++);}voidinit(){/*==============================================初始化================================================*/TMOD=0x11;TR1=1;ET1=1;ET0=1;EA=1;t24s=24;chang++;if(chang>4)chang=1;P2=chang;jsdao=0;t10ms=0;ts=0;tm=12;t24s=24;t24s_flag=0;t24s_t1s=0;fenshu[0]=0;fenshu[1]=0;led[0]=tm/10;led[1]=tm%10;led[2]=ts/10;led[3]=ts%10;led[4]=t10ms/10;led[5]=t10ms%10;led[6]=t24s/10;led[7]=t24s%10;led[9]=fenshu[0]/100;led[10]=fenshu[0]/10/10;led[11]=fenshu[0]%10;led[13]=fenshu[1]/100;led[14]=fenshu[1]/10/10;led[15]=fenshu[1]%10;}unsignedcharread_key(){/*==============================================读键值================================================*/unsignedcharkey_temp;key_temp=P3;key_temp&=0x7f;if(key_temp!=0x7f) { delay(4);key_temp=P3;key_temp&=0x7f;if(key_temp!=0x7f) { key_temp=P3;key_temp&=0x7f;} }returnkey_temp;}voidwait_key_up(){/*==============================================等待键释放================================================*/unsignedcharkey_temp;do{key_temp=P3;key_temp&=0x7f; }while(key_temp!=0x7f);}voidkey_chuli(unsignedcharkey){/*==============================================按键解决================================================*/switch(key){caserest:init();TR0=0;break;caseinc:if(set_flag){ fenshu[team]++; if(!team) { led[9]=fenshu[team]/10/10; led[10]=fenshu[team]/10; led[11]=fenshu[team]%10; } else{ led[13]=fenshu[team]/10/10; led[14]=fenshu[team]/10; led[15]=fenshu[team]%10; } } break;casedec:if(set_flag){if(fenshu[team]>0)fenshu[team]--; if(!team) { led[9]=fenshu[team]/10/10; led[10]=fenshu[team]/10; led[11]=fenshu[team]%10; } else{ led[13]=fenshu[team]/10/10; led[14]=fenshu[team]/10; led[15]=fenshu[team]%10; }}break;casemennusel:set_flag=1;team=~team;break;casemennuenter:set_flag=0;break;casejs_begin_over:TR0=~TR0;jsdao=0;if(!TR0)t24s_flag=0; elset24s_flag=1; break;caset24s_js:t24s_flag=1;t24s=24;jsdao=0;break;}}voidt0(void)interrupt3using1/*数码管显示中断*/{/*========================================================3ms中断显示扫描。=========================================================*/TH1=0xf4;TL1=0x48;/*闪烁效果*/ if(set_flag) { if(team==0)shanshuo_led=8; elseshanshuo_led=12; if(led_number==shanshuo_led) if(shanshuo_flag>120) { led_number=led_number+4; if(led_number==16)led_number=0; } shanshuo_flag++;if(shanshuo_flag==200)shanshuo_flag=0; }P1=led[led_number]+led_number*16;led_number++;if(led_number==16)led_number=0;led[0]=tm/10;led[1]=tm%10;led[2]=ts/10;led[3]=ts%10;led[4]=t10ms/10;led[5]=t10ms%10;led[6]=t24s/10;led[7]=t24s%10;}voidt1(void)interrupt1using0{/*================================================10ms计时中断=================================================*/TH0=0xd8;TL0=0xf0; if(t10ms==0) {//倒计时 t10ms=100; if(ts==0) { tm--; ts=60; if(tm==0&&t10ms==100)jsdao=1; } ts--; }t10ms--; if(t24s_flag) { t24s_t1s++; if(t24s_t1s==100) { t24s_t1s=0; t24s--; if(t24s==0)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家校携手同筑梦+双向奔赴育花开+高二下学期第二考家长会
- 2025年电动学生车项目可行性研究报告
- 2025年生物碘项目可行性研究报告
- 2025年环保型不黄变哑光地板漆项目可行性研究报告
- 2025年特大门牙项目可行性研究报告
- 2025年燃料电池集流板项目可行性研究报告
- 辽宁大学《FORTRAN语言程序设计》2023-2024学年第二学期期末试卷
- 岳阳职业技术学院《场面研究》2023-2024学年第二学期期末试卷
- 天津医科大学临床医学院《环境中的科学与工程》2023-2024学年第二学期期末试卷
- 江西省赣州市兴国县2025届初三3月第一次模拟英语试题含答案
- 2025履约类保函担保合同范本
- 光影中国学习通超星期末考试答案章节答案2024年
- 2024年十堰市中小学教师职称晋升水平能力测试题附答案
- 绿色建筑能源管理
- 办学许可证续期申请书
- 静电喷涂工艺参数
- 场地移交确认书
- 叉车保养计划表(共10页)
- 空调维修材料费清单
- 安全生产检查记录表(范表)
- 企业总经理聘用合同范本
评论
0/150
提交评论