资源简介
利用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个文件信息
相关资源
- SEED-XDS510Plus Emulator for CCS4.x&Above
- dell N5110 bios105640
- nRF51822开发文档-中文
- AT24C512中文资料集
- 基于51单片机的语音存储与回放系统设
- S32K1xx系列MCU应用指南之CSEc硬件加密模
- SWF列表播放器1.51(批量自动播放swf
- C51超声波测距程序-基于芯片CX20106A
- STM32 ADF4351
- ilbc-rfc3951
- 基于51单片机的智能温控风扇源码+原
- 基于AT89C51单片机LED显示控制系统的设
- 关于测距模块HC-SR04的内部电路图 ,
- 单片机c51编译器COMP51
- 51单片机电流电压测量
- sht20 程序
- 利用矩阵键盘控制51单片机LCD12864显示
- 电脑日记 DailyPim4.51专业版
- johnny133_8851963.rar
- 51622469glomosim-2.03.rar
- MCS-51单片机原理、系统设计与应用
- ad9851 DDS 程序STM32 C51本人亲自调试
- 惠普Color LaserJet Pro CP1518ni打印机使用
- 51单片机课程设计和100个
- msp430驱动nokia5110液晶程序和资料
- 格力空调遥控码接收程序,51单片机做
- 常用dxp库文件包含51单片机
- 群联PS2251量产工具及教程
- MyODBC-3.51.11-2-win.exe 0分奉献
- 基于51单片机的超声波测距LCD1602显示
评论
共有 条评论