《基于C51单片机的篮球计分器设计.pdf》由会员分享,可在线阅读,更多相关《基于C51单片机的篮球计分器设计.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于 C51 单片机的篮球计分器设计题目要求:1.设计一款能够显示篮球比分的记分牌;2.通过加分按钮可以给 A 队,或 B 队加分;3.设计对调功能,更换场地后,AB 队分数互换;仿真截图:完整源代码:#includecode unsigned seg=0*3f,0*06,0*5b,0*4f,0*66,0*6d,0*7d,0*07,0*7f,0*6f;/分别对应数码管显示字形0-9int m=15,n=00,*=0,y=0,jie=2,bujin=1,zanting=0,chuzanting=0;/初始化,m、n 为分、秒计时*、y 为 A、B 两队分数,其余为中间变量sbit A_add=
2、P30;/A 队加分按钮sbit B_add=P31;/B 队加分按钮sbit Time_add=P32;/时间加按钮sbit Time_sub=P33;/时间减按钮sbit A_sub=P34;/A 队减分按钮sbit B_sub=P35;/B 队减分按钮sbit pause=P36;/暂停、启动按钮sbit change=P37;/换场地按钮void keyScan();/按键扫描函数void delay(int t)/延时子程序,通过参数t,可以调整暂停时间while(t-)unsigned int i;for(i=0;i 0)m-;n-;/实现 1 秒计时i=0;void main()
3、/主程序TMOD=0*01;/设置定时器工作方式EA=1;ET0=1;TH0=0*b1;/定时计送计数初值,EA=1,开中断 p3 口电平拉高TL0=0*10;/p1-0*7f,上半场指示灯点亮TR0=1;P3=0*ff;P1=0*7f;while(1)/通过 while1,反复调用循环体内子程序display(m,n,*,y);/调用动态刷新显示程序keyScan();/按键处理函数if(m=0&n=1)*-;if(B_sub=0)/B 队减分delay(1);if(B_sub=0)if(y=1)y-;if(Time_add=0)/时间增加按钮delay(10);if(Time_add=0)
4、n+;if(n=60)m+;n=1;if(Time_sub=0)/时间减少delay(10);if(Time_sub=0)if(!(m=0&n=0)/防止被减成了负数if(n=0)n=60;m-;.z.-n-;if(change=0)/交换场地delay(1);if(change=0)temp=*;/两个分数值对调*=y;y=temp;if(pause=0)/检测到暂停键按下是,令EA=0 关闭中断delay(1);if(pause=0)if(EA=0)EA=1;elseEA=0;/当有按键没被松开时不要接着往下执行,防止按键被重复检测while(A_add=0|B_add=0|A_sub=0|B_sub=0|pause=0|change=0)display(m,n,*,y);/等待按钮被松开Proteus仿真图:.z.