资源简介
利用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个文件信息
相关资源
- 最新的北京地铁shp文件75146
- 程序员专用字体YaHei.Consolas.1.11b42517
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- 清翔电子MCS51开发板资料_新版 01_开发
- MCS_51单片机与8255A的接口设计
- Rtx51_tiny_RTOS中文版.pdf
- 51单片机PWM程序,占空比、周期可调整
- 51单片机多功能自行车测速仪
- proteus仿真 AT89C51输出各种波形
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51模拟SPI读写SD卡(包括Fat和Fat32文件
- NRF24L01实现51与STM32双向通讯
- 基于c8051f020的AD转换程序及LCD显示程序
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 课程设计蔬菜大棚自动控制系统,包
- 基于AT89C51的数据采集系统设计新方法
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- 基于89c51的数字钟
- 8251 全双工异步通信
- 8051F040SMBUS多机通信
- 基于单片机交通灯设计
评论
共有 条评论