基于单片机的篮球计分器设计毕业设计(编辑修改稿)内容摘要:

void key_sc() //键盘扫描模块 { uchar key_bt,i。 while(1) { P1=0xff。 delay_t(80)。 key_bt=P1。 switch(key_bt) { case 0xfe: //初始化 ,显示 0。 for(i=0。 i9。 i++) { //display_buf[i]=0。 display_rt(display_buf)。 } break。 case 0xfd: //A 队 modify_sc()。 break。 case 0xfb: //B 队 modify_sc()。 break。 case 0xf7: //时间 modify_st()。 break。 } } } 显示模块 源代码 void display_rt(uchar dis_code[]) //显示任务 { char bit_disp2,bit_disp3,i。 bit_disp3=0x20。 bit_disp2=0x08。 for(i=0。 i=9。 i++) 延时 延时 P2=~bit_disp2 P3=0xff P2 1 P3 1 P3=~bit_disp3 p2=0xff 显示 显示 P P3初始化 P0=show[dis_code[i]] i6 ? N Y { P2=0xff。 P3=0xff。 P0=show_t[dis_code[i]]。 if(i6) { bit_disp2=0x08。 P3=~bit_disp3。 P2=0xff。 bit_disp3=bit_disp31。 } else { bit_disp3=0x20。 P2=~bit_disp2。 P3=0xff。 bit_disp2=bit_disp21。 } delay_t(1)。 } } 附录一 原理图 附录二 仿真图 附录三 源程序设计 include define uchar unsigned char define uint8 unsigned int uchar code show_t[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 //0 1 2 3 4 5 6 7 8 9 static uchar display_buf[10]。 //定义显示缓冲 char xSc[3],ySc[3]。 //保存两队的比赛结果 char tSc[4]。 //保存比赛时间 uchar uS_a=0,dS_a=0,hS_a=0,uS_b=0,dS_b,hS_b=0。 //分别定义 A 和 B 队比赛成绩的个位、十位、百位 uchar suT=0,sdT=0,muT=0,mdT=0。 //分别定义比赛时间的秒、分个位及其十位 sbit fm_bt = P2^7。 //蜂鸣状态位 void delay_t(int t) //延时 { int tt。 whil。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。