基于单片机的篮球计时计分器设计(C语言编程、含proteus仿真图)(4)

2019-06-11 00:20

3.2.4 加分子程序 void keyjiafen1()

{ 当检测到RXD按键按下时,调用延时子程序 if(RXD==0) 实现消除按键抖动功能,即,当 delay(1);,

{ 检测到按键按下时候,延时,按键仍按下,说明 if(RXD==0) { while(RXD==0); x++;

}

}

if(TXD==0) {

delay(1); if(TXD==0) {

while(TXD==0); y++;

}

} }

3.2.5减分子程序 void keyjianfen1()

{ if(WR==0) {

按键确实按下,非抖动,A对应加分 检测TXD加分按键时候按下,B加分

减分按键检测子程序,其基本算法及功能与加分

相同 15

delay(1); if(WR==0) {

while(WR==0); x--; }

} if(RD==0) { delay(1); if(RD==0)

{

while(RD==0); y--; }

} }

3.2.6 调整时间子程序

调整时间子程序,使时间快速倒退或快进,实现回表功能,同时回表之后能自动暂停

void key2() {

if(INT0==0) {

delay(10);

if(INT0==0) 回表子程序,检测到INT0按下时,使时间回倒

{

chuzanting==0; chuzanting==0; zanting=1;为附加变量,当回表按键

16

zanting=1; 松开时,表暂停,这两个变量用来调用暂停

n++;

if(n==60)

{

m++; n=1; }

} }

if(INT1==0) 快表子程序,检测到INT1按下时,使倒计加快, { 通常情况下与回表子程序配合使用,即当回表 回过的时候,按此键调整时间 delay(10); chuzanting==0; zanting=1;作用同上 if(INT1==0)

{

chuzanting==0; zanting=1; n--; }

} }

void shijian() 该程序使回表和快表按键松开时候能自动暂停 {

if(zanting==1&&INT0==1&&INT1==1&&chuzanting==0 ) {

EA=0; zanting==1&&INT0==1&&INT1==1&&chuzanting==0作用为 zanting=0; 当按键松开的时候,调用暂停程序条件

huzanting=0; zanting=0;chuzanting=0,初始化,以便下次回表和快表

while(1) 按键松开时候仍能调用暂停程序

{

17

display(m,n,x,y);

if(P1_0==0) 当检测暂停键按下,开中断,跳出暂停 {

delay(1); if(P1_0==0) {

while(P1_0==0); EA=1;

break; } } } } }

3.2.7 半场交换比分子程序 void key3() {

int temp; 定义中间变量temp,检测到有按键按下时候 if(zidong==1&&jie==1) 通过temp交换甲队,乙队两队比赛分数 {

temp=x; zidong==1&&jie==1是判断半场的条件 y=temp;

display(m,n,x,y); 刷新数码管 zidong=0;

bujin=0;

} }

18

3.2.8 比赛暂停子程序

void key4() {

if(P1_0==0) 检测到暂停按键按下时候,令EA=0关闭中断 {

delay(1); 同通过死循环程序while(1),不断刷新数码管 if(P1_0==0) 当暂停键再次按下时候,开中断,以使比赛时间 { 继续倒计时,由于在暂停的时候,程序处于死循 while(P1_0==0);

EA=0; 无法回到主程序,暂停时,除了暂停键 while(1) 其他按键按下均无效

{

display(m,n,x,y); if(P1_0==0)

{ 当暂停键再次按下时候,EA=1开中断,计时数码管 delay(1); 继续倒计时,同时通过break语句,跳出死循环 if(P1_0==0) {

while(P1_0==0); EA=1; break; } } } } } }

19


基于单片机的篮球计时计分器设计(C语言编程、含proteus仿真图)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:钦州市养鸡专业合作社名录140家

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: