• 大小: 2.66MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-21
  • 语言: 其他
  • 标签: 51  MCU  

资源简介

利用C编写的51单片机开发的一个篮球计分器程序,包含protel仿真图

资源截图

代码片段和文件信息

#include
typedef unsigned char uchar;
typedef unsigned int  uint;
uchar code seg[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};  
//对应数码管显示数字0-9
int m=1n=0x=0y=0i=0h=0k;
//定义全局变量并初始化,mn表示分钟与秒,x,y表示甲乙两队分数
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
sbit P1_7=P1^7;
sbit P3_0=P3^0;
sbit P3_1=P3^1;
sbit P3_2=P3^2;
sbit P3_3=P3^3;
sbit P3_6=P3^6;
sbit P3_7=P3^7;
void delay(uint x)//定义延时程序,通过设置参数x,改变延时时间长度
{
while(x--)
{
uint y;
for(y=0;y<200;y++);
}
}
void display(int iint jint xint y)//显示子程序 变量i,j分别是分秒,变量x,y是甲乙两队的分数  
{
P2=~0xfe;         
//数码管刷新显示时间的分钟十位,调用延时程序
P0=~seg[i%100/10];
delay(1); //延时数码管点亮
P2=0x00;
P0=0xff;

P2=~0xfd; //同上,刷新数码管的分钟位的个位
P0=~seg[i%10];
delay(1);
P2=0x00;
P0=0xff;

P2=~0xfb; //同上。刷新数码管秒位的十位
P0=~seg[j%100/10];
delay(1);
P2=0x00;
P0=0xff;

P2=~0xf7; //同上,刷新数码管秒位的个位
P0=~seg[j%10];
delay(1);
P2=0x00;
P0=0xff;

P2=~0xef; //同上。刷新数码管甲队分数的十位
P0=~seg[x%100/10];
delay(1);
P2=0x00;
P0=0xff;

P2=~0xdf; //同上。刷新数码管甲队分数的个位
P0=~seg[x%10];
delay(1);
P2=0x00;
P0=0xff;

P2=~0xbf; //同上。刷新数码管乙队分数的十位
P0=~seg[y%100/10];
delay(1);
P2=0x00;
P0=0xff;

P2=~0x7f; //同上。刷新数码管乙队分数的个位
P0=~seg[y%10];
delay(1);
P2=0x00;
P0=0xff;
}
void t0() interrupt 1 //定义中断程序,调用定时器TO
{  
TH0=0xb1;    //对定时器T0送入初值,THO=0xb1
TL0=0x10; //TL0=0X10 故定时器定时为20毫秒,
if(n==0) //即每20毫秒调用一次
{
n=60;
m--;
}
i++;
if(i==50) //定义i的值为50,即50*20毫秒=1秒
{
n--;
i=0;
}
display(mnxy);//调用数码管显示程序,即每20毫秒刷
}
void jiafen() //定义加分程序
{
if(P1_1==0)//当按下P1_1的时候
{
delay(1);//延时去抖
while(P1_1==0);
x++;//甲队加一分
}     
if(P1_2==0)//当按下P1_2的时候
{
delay(1);
while(P1_2==0);
x+=2;//甲队加两分
}
if(P1_3==0) //当按下P1_3的时候
{
delay(1);
while(P1_3==0);  
x+=3;//甲队加三分
}
if(P1_4==0) //当按下P1_4的时候
{
delay(1);     //延时去抖
while(P1_4==0);
y++;   //乙队加一分
}  
if(P1_5==0) //当按下P1_5的时候
{
delay(1);
while(P1_5==0);
y+=2;   //乙队加两分
}    
if(P1_6==0) //当按下P1_6的时候
{
delay(1);
while(P1_6==0);
y+=3;  //乙队加三分
}
}
void jianfen() //定义减分程序
{
if(P3_0==0&&x>0) //当按下P3_0并且甲队分数大于0的时候
{
delay(1); //延时去抖
while(P3_0==0);
x--;    //甲队减1分
}  
if(P3_1==0&&x>0) //当按下P3_1并且乙队分数大于0的时候
{
delay(1);
while(P3_1==0);
y--;    //乙队减1分
}
}
void tiaoshi() //定义调时程序
{
if(P3_2==0) //当按下P3_2的时候
{
delay(1); //延时去抖
if(P3_2==0)
{
n++; //秒位加1
if(n==60)//当秒位到60的时候
{
m++;//分位加1,并且秒位变1
n=1;
}

}
if(P3_3==0) //当按下P3_3的时候
{
delay(1);
if(P3_3==0)
{
n--;//秒位减一
if(n==0)           
//当秒位减到0的时候,分位减一,并且秒位变59
{
m--;
n=59;
}
}
}
}
void jiaohuan()   //定义比分交换程序
{
int t;   //定义中间变量t
if(P1

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-11-25 18:10  1、源程序\
     文件        4240  2016-11-25 18:09  1、源程序\001
     文件       16131  2016-11-25 18:09  1、源程序\001.LST
     文件       18603  2016-11-25 18:09  1、源程序\001.M51
     文件        6463  2016-11-25 18:09  1、源程序\001.OBJ
     文件        5585  2015-02-18 11:28  1、源程序\001.c
     文件        3672  2016-11-25 18:09  1、源程序\001.hex
     文件          38  2016-11-25 18:09  1、源程序\001.lnp
     文件         620  2016-11-25 18:10  1、源程序\001.plg
     文件       54860  2015-02-18 12:25  1、源程序\001.uvopt
     文件       13179  2012-11-06 12:55  1、源程序\001.uvproj
     文件       54870  2015-01-22 19:36  1、源程序\001_uvopt.bak
     目录           0  2016-12-28 18:51  2、仿真图\
     文件      197409  2015-02-18 11:49  2、仿真图\001.DSN
     文件         768  2016-12-28 18:51  2、仿真图\001.PWI
     文件      197409  2015-02-18 11:49  2、仿真图\Last Loaded 001.DBK
     目录           0  2016-12-12 19:19  3、原理图\
     文件      162974  2016-12-12 19:19  3、原理图\PCB图.PCB
     目录           0  2016-11-04 19:52  3、原理图\__Previews\
     文件       56252  2016-11-04 19:52  3、原理图\__Previews\原理图.SchPreview
     文件       24265  2015-02-18 11:46  3、原理图\原理图.Sch
     文件      989184  2016-12-12 19:19  3、原理图\原理图.ddb
     目录           0  2015-02-18 11:30  4、原理图与仿真图PDF文件\
     文件       21790  2015-02-18 11:49  4、原理图与仿真图PDF文件\仿真图.pdf
     文件       13612  2015-02-18 11:48  4、原理图与仿真图PDF文件\元件清单.pdf
     文件       17969  2015-02-18 11:46  4、原理图与仿真图PDF文件\原理图.pdf
     文件       12111  2015-02-18 11:49  4、原理图与仿真图PDF文件\设计框图.pdf
     目录           0  2015-02-18 12:21  5、论文\
     文件      827690  2015-02-18 12:21  5、论文\基于51单片机篮球计时计分器的设计.doc
     目录           0  2015-02-18 12:24  6、PPT\
     文件      538624  2015-02-18 12:24  6、PPT\毕业设计答辩PPT.dps
............此处省略4个文件信息

评论

共有 条评论