篮球计分器「篮球比赛计分软件」
篮球计分器
篮球比赛计分软件
篮球计分器ge怎么编程#include"reg52.h" #define u8 unsigned char#define u16 unsigned intsbit UP_1= P1^1;//第一队加分键sbit DOWN_1= P1^2;//第一队减分键sbit UP_2= P1^3;//第二队加分键sbit DOWN_2= P1^4;//第二队减分键sbit Change= P1^5;//交换键sbit Begin = P1^6;//开始键sbit Pause= P1^7;//暂停键sbit Beef = P2^4;//蜂鸣器sbit duan = P2^3;//段选sbit wei= P2^2;//位选u8 Grate_1=0;//第一队计分u8 Grate_2=0;//第二队计分u8 Grate_change=0;//换场标志u8 Time = 99;//总时间u16 Flag=0;//计时次数u8 leddata[]={0x3F,//"0"0x06,//"1"0x5B,//"2"0x4F,//"3"0x66,//"4"0x6D,//"5"0x7D,//"6"0x07,//"7"0x7F,//"8"0x6F,//"9"};void InitTimer1(void){TMOD = 0x10; //定时器1设为模式1TH1 = 0xFC;TL1 = 0x18; //1msEA = 1; //开总中断ET1 = 1;//开定时器1中断//TR1 = 1;//}void delay(u8 d)//延时{u8 a,b,c;for(c=d;c>0;c--)for(b=17;b>0;b--)for(a=16;a>0;a--);}void beef(u8 d) //发声{u8 a,b,c;for(c=d;c>0;c--)for(b=17;b>0;b--)for(a=16;a>0;a--){Beef=~Beef;}}void display(u8 grate_1,u8 grate_2,u8 time)//显示{u8 w1,w2,w3,w4,w7,w8;w1=grate_1/10; //计算第一队分数十位w2=grate_1%10; //计算第一队分数个位w3=grate_2/10; //计算第二队分数十位w4=grate_2%10; //计算第二队分数个位w7=time/10; //计算时间十位w8=time%10; //计算时间个位P0=0xff; //消隐,该段显示第一队分数十位wei=1;P0=0xfe; //送位码wei=0;P0=0xff;duan=1;P0=leddata[w1]; //送段码duan=0;delay(5);P0=0xff; //显示第一队分数个位wei=1;P0=0xfd;wei=0;P0=0xff;duan=1;P0=leddata[w2];duan=0;delay(5);P0=0xff; //显示第二队分数十位wei=1;P0=0xfb;wei=0;P0=0xff;duan=1;P0=leddata[w3];duan=0;delay(5);P0=0xff;//显示第二队分数个位wei=1;P0=0xf7;wei=0;P0=0xff;duan=1;P0=leddata[w4];duan=0;delay(5);P0=0xff; //显示时间十位wei=1;P0=0xbf;wei=0;P0=0xff;duan=1;P0=leddata[w7];duan=0;delay(5);P0=0xff; //显示时间个位wei=1;P0=0x7f;wei=0;P0=0xff;duan=1;P0=leddata[w8];duan=0;delay(5);}void main(){InitTimer1();//初始化定时器1UP_1= 1;//以下初始化IO口DOWN_1= 1;UP_2= 1;DOWN_2= 1;Change= 1;Begin = 1;while(1){if(UP_1==0)//如果第一队加分键按下{ET1 = 0;//关闭定时器1中断delay(5);//稍加延时while(UP_1==0);//等待按键抬起Grate_1++;//第一队分数加1ET1 = 1;//开启定时器1中断}if(DOWN_1==0) //如果第一队减分键按下{ET1 = 0;delay(5);while(DOWN_1==0);Grate_1--; //第一队分数减1ET1 = 1;}if(UP_2==0)//如果第二队加分键按下{ET1 = 0;delay(5);while(UP_2==0);Grate_2++;//第二队分数加1ET1 = 1;}if(DOWN_2==0)//如果第二队减分键按下{ET1 = 0;delay(5);while(DOWN_2==0);Grate_2--;//第二队分数减1ET1 = 1;}if(Change==0)//如果换场键按下{ET1 = 0;delay(5);while(Change==0);Grate_change=Grate_1; //一下三行语句完成分数交换显示Grate_1=Grate_2;Grate_2=Grate_change;ET1 = 1;}if(Begin==0)//如果开始键按下{delay(5);while(Begin==0);TR1 = 1;//开启定时器1}if(Pause==0){delay(5);while(Pause==0);TR1=0;}if(Time<=0)//如果时间计数到0{Time=99;//恢复初始时间TR1 = 0;//关闭定时器1beef(100);//发声}display(Grate_1,Grate_2,Time); //显示分数、时间}}void Timer1Interrupt(void) interrupt 3 //定时器1中断函数{TH1 = 0xFC; //重赋初值TL1 = 0x18;Flag++; //中断次数加1if(Flag>=1000)//1000次也就是1秒到{Flag=0;Time--;//秒变量减1} }
#include"reg52.h" #define u8 unsigned char#define u16 unsigned intsbit UP_1= P1^1;//第一队加分键sbit DOWN_1= P1^2;//第一队减分键sbit UP_2= P1^3;//第二队加分键sbit DOWN_2= P1^4;//第二队减分键sbit Change= P1^5;//交换键sbit Begin = P1^6;//开始键sbit Pause= P1^7;//暂停键sbit Beef = P2^4;//蜂鸣器sbit duan = P2^3;//段选sbit wei= P2^2;//位选u8 Grate_1=0;//第一队计分u8 Grate_2=0;//第二队计分u8 Grate_change=0;//换场标志u8 Time = 99;//总时间u16 Flag=0;//计时次数u8 leddata[]={0x3F,//"0"0x06,//"1"0x5B,//"2"0x4F,//"3"0x66,//"4"0x6D,//"5"0x7D,//"6"0x07,//"7"0x7F,//"8"0x6F,//"9"};void InitTimer1(void){TMOD = 0x10; //定时器1设为模式1TH1 = 0xFC;TL1 = 0x18; //1msEA = 1; //开总中断ET1 = 1;//开定时器1中断//TR1 = 1;//}void delay(u8 d)//延时{u8 a,b,c;for(c=d;c>0;c--)for(b=17;b>0;b--)for(a=16;a>0;a--);}void beef(u8 d) //发声{u8 a,b,c;for(c=d;c>0;c--)for(b=17;b>0;b--)for(a=16;a>0;a--){Beef=~Beef;}}void display(u8 grate_1,u8 grate_2,u8 time)//显示{u8 w1,w2,w3,w4,w7,w8;w1=grate_1/10; //计算第一队分数十位w2=grate_1%10; //计算第一队分数个位w3=grate_2/10; //计算第二队分数十位w4=grate_2%10; //计算第二队分数个位w7=time/10; //计算时间十位w8=time%10; //计算时间个位P0=0xff; //消隐,该段显示第一队分数十位wei=1;P0=0xfe; //送位码wei=0;P0=0xff;duan=1;P0=leddata[w1]; //送段码duan=0;delay(5);P0=0xff; //显示第一队分数个位wei=1;P0=0xfd;wei=0;P0=0xff;duan=1;P0=leddata[w2];duan=0;delay(5);P0=0xff; //显示第二队分数十位wei=1;P0=0xfb;wei=0;P0=0xff;duan=1;P0=leddata[w3];duan=0;delay(5);P0=0xff;//显示第二队分数个位wei=1;P0=0xf7;wei=0;P0=0xff;duan=1;P0=leddata[w4];duan=0;delay(5);P0=0xff; //显示时间十位wei=1;P0=0xbf;wei=0;P0=0xff;duan=1;P0=leddata[w7];duan=0;delay(5);P0=0xff; //显示时间个位wei=1;P0=0x7f;wei=0;P0=0xff;duan=1;P0=leddata[w8];duan=0;delay(5);}void main(){InitTimer1();//初始化定时器1UP_1= 1;//以下初始化IO口DOWN_1= 1;UP_2= 1;DOWN_2= 1;Change= 1;Begin = 1;while(1){if(UP_1==0)//如果第一队加分键按下{ET1 = 0;//关闭定时器1中断delay(5);//稍加延时while(UP_1==0);//等待按键抬起Grate_1++;//第一队分数加1ET1 = 1;//开启定时器1中断}if(DOWN_1==0) //如果第一队减分键按下{ET1 = 0;delay(5);while(DOWN_1==0);Grate_1--; //第一队分数减1ET1 = 1;}if(UP_2==0)//如果第二队加分键按下{ET1 = 0;delay(5);while(UP_2==0);Grate_2++;//第二队分数加1ET1 = 1;}if(DOWN_2==0)//如果第二队减分键按下{ET1 = 0;delay(5);while(DOWN_2==0);Grate_2--;//第二队分数减1ET1 = 1;}if(Change==0)//如果换场键按下{ET1 = 0;delay(5);while(Change==0);Grate_change=Grate_1; //一下三行语句完成分数交换显示Grate_1=Grate_2;Grate_2=Grate_change;ET1 = 1;}if(Begin==0)//如果开始键按下{delay(5);while(Begin==0);TR1 = 1;//开启定时器1}if(Pause==0){delay(5);while(Pause==0);TR1=0;}if(Time<=0)//如果时间计数到0{Time=99;//恢复初始时间TR1 = 0;//关闭定时器1beef(100);//发声}display(Grate_1,Grate_2,Time); //显示分数、时间}}void Timer1Interrupt(void) interrupt 3 //定时器1中断函数{TH1 = 0xFC; //重赋初值TL1 = 0x18;Flag++; //中断次数加1if(Flag>=1000)//1000次也就是1秒到{Flag=0;Time--;//秒变量减1} }
单片机课程设计 篮球比赛计分器你好! 是c语言写代码吗?原理图确定了吗?程序什么时间要
你好! 是c语言写代码吗?原理图确定了吗?程序什么时间要
篮球比赛计分器篮球比赛计时计分器是为了解决篮球比赛时计分与计时准确的问题。此装置利用单片机AT89C51完成了计时和计分的功能。本文详细地介绍了系统硬件与软件的设计过程,采用该装置可根据实际情况进行比分修改和时间的准确显示,具有低功耗,可靠性,安全性以及低成本等特点
篮球比赛计时计分器是为了解决篮球比赛时计分与计时准确的问题。此装置利用单片机AT89C51完成了计时和计分的功能。本文详细地介绍了系统硬件与软件的设计过程,采用该装置可根据实际情况进行比分修改和时间的准确显示,具有低功耗,可靠性,安全性以及低成本等特点
篮球计时计分器是利用什么完成什么由后台来完成的。 后台也是有人在操作的。比分、时间、节数都是有人操作的。但是有些也不是,比如进球后重新读的24秒,9秒等,这些数据是有电脑操作的。 一旦进球后,数据就重新开始。
你说的是电子记分牌吗,是靠控制台来完成设置 比赛队名、分数、局数、犯规次数、发球权等功能的
我只能说是单片机.
LED 自动控制
由后台来完成的。 后台也是有人在操作的。比分、时间、节数都是有人操作的。但是有些也不是,比如进球后重新读的24秒,9秒等,这些数据是有电脑操作的。 一旦进球后,数据就重新开始。
你说的是电子记分牌吗,是靠控制台来完成设置 比赛队名、分数、局数、犯规次数、发球权等功能的
我只能说是单片机.
LED 自动控制
你说的是电子记分牌吗,是靠控制台来完成设置 比赛队名、分数、局数、犯规次数、发球权等功能的
我只能说是单片机.
LED 自动控制
篮球比赛计分器的设计?能够做出实物 24秒倒计时 12分倒计时 两队的比分用4个按钮来控制,K1为功能切换K2为加一分 K3为加两分 K4为加三分 K5为减一分 2007-12-06 20:34
用单片机可以实现
不妨试试用74LS190 再用555
能够做出实物 24秒倒计时 12分倒计时 两队的比分用4个按钮来控制,K1为功能切换K2为加一分 K3为加两分 K4为加三分 K5为减一分 2007-12-06 20:34
用单片机可以实现
不妨试试用74LS190 再用555
用单片机可以实现
不妨试试用74LS190 再用555
相关推荐
评论列表
暂无评论,快抢沙发吧~
你 发表评论:
欢迎