您的位置 首页 传感器

单片机课程设计(篮球记分器)

电路图:本程序已经通过软件仿真与硬件制作,首发于:www51heicom,代码可任意修改,但不可用于商业目的单片机型号是:stc89c52,晶振12

电路图:


本程序现已经过软件仿真与硬件制造,
首发于:www.51hei.com,代码可任意修正,但不可用于商业意图.
单片机类型是:stc89c52,晶振12兆赫.用了3个4为一体化的数码管.
完好代码下载地址:http://www.51hei.com/f/lqwwe.rar
#include
#define uchar unsigned char
#define uint unsigned int
void delay(uchar x); //延时(时刻较短)
void delay1(uchar x); //延时(时刻较长)
void Js_Jf_Scan(void); //数码管动态扫描显现函数
void Key_if(void); //A、B两队分值处理函数
void Js_50ms(void); //守时50ms中止函数
void Key_Y(void); //预置时刻函数
void Ptime(uchar); //时刻处理函数
void sound(void); //鸣笛警示函数
void jiaohuan(void); //场所交流
sbit CL1=P2^0; //B队4位计分数码管位控线
sbit CL2=P2^1;
sbit CL3=P2^2;
sbit CL4=P2^3;
sbit KL1=P2^4; // A队4位计分数码管位控线
sbit KL2=P2^5;
sbit KL3=P2^6;
sbit KL4=P2^7;
sbit S1=P1^3; //驱动4位计时数码管位控线
sbit S2=P1^2;
sbit S3=P1^1;
sbit S4=P1^0;
sbit YK1=P1^6; //预置分钟的十位
sbit YK2=P1^7; //预置分钟的个位
sbit music=P1^4; //P1.4接喇叭,发声,鸣笛
sbit Key1=P3^0; //B队加分键
sbit Key2=P3^1; //B队减分键
sbit Key3=P3^4; //A队加分键
sbit Key4=P3^5; //A队减分键
sbit JH=P1^5;
sbit Int_Key=P3^2; //鸣笛键
sbit Star=P3^6; //开端按钮
sbit Puse=P3^7; //中止按钮
int m=0,ms=0,mg=0; //秒钟的十位、个位以及秒钟的变量阐明
int fs=0,fg=0,f,fy,num=0; //分钟的十位、个位以及分钟的变量阐明
int g,s,b,q,sum=0; //B队界说个十百位
int g1,s1,b1,q1,sum1=0; // A队界说个十百位
int LED_Num[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x00,}; //段码

void main(void)
{
TMOD=0x01; //设置T0为工作方法1,作为16位计数器
TH0=(65535-50000)/256; //设置T0的高8位,而且T0的计数值为50ms
TL0=(65535-50000)%256; //设置T0的低8位
music=0; //初值喇叭不响
EA=1; //敞开一切中止
ET0=1; //答应守时/计数器T0溢出中止
EX0=1; //答应外部中止0
IT0=1; //设置外部中止0为边缘触发方法(下降沿)
while(1) //无量循环,程序一向运转
{
Key_Y(); //预置场次竞赛时刻
if(Star==0&&f!=0&&Puse!=0) //按下“开端键”,设置好竞赛时刻,而且未按“中止”键时,竞赛正式开端
{
TR0=1; //发动守时器T0,开端计时
Key_if(); //开端计分
}
else
{
TR0=0; //竞赛还未开端或竞赛完毕时刻到,中止计时
}
Js_Jf_Scan(); //将相应的分数、时刻同步进行显现
}
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/255691.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部