單片機(jī)課程設(shè)計(jì)(籃球記分器)
本程序已經(jīng)通過軟件仿真與硬件制作,
首發(fā)于:www.51hei.com,代碼可任意修改,但不可用于商業(yè)目的.
單片機(jī)型號是:stc89c52,晶振12兆赫.用了3個(gè)4為一體化的數(shù)碼管.
完整代碼下載地址:http://www.51hei.com/f/lqwwe.rar
#include
#define uchar unsigned char
#define uint unsigned int
void delay(uchar x); //延時(shí)(時(shí)間較短)
void delay1(uchar x); //延時(shí)(時(shí)間較長)
void Js_Jf_Scan(void); //數(shù)碼管動態(tài)掃描顯示函數(shù)
void Key_if(void); //A、B兩隊(duì)分值處理函數(shù)
void Js_50ms(void); //定時(shí)50ms中斷函數(shù)
void Key_Y(void); //預(yù)置時(shí)間函數(shù)
void Ptime(uchar); //時(shí)間處理函數(shù)
void sound(void); //鳴笛警示函數(shù)
void jiaohuan(void); //場地交換
sbit CL1=P2^0; //B隊(duì)4位計(jì)分?jǐn)?shù)碼管位控線
sbit CL2=P2^1;
sbit CL3=P2^2;
sbit CL4=P2^3;
sbit KL1=P2^4; // A隊(duì)4位計(jì)分?jǐn)?shù)碼管位控線
sbit KL2=P2^5;
sbit KL3=P2^6;
sbit KL4=P2^7;
sbit S1=P1^3; //驅(qū)動4位計(jì)時(shí)數(shù)碼管位控線
sbit S2=P1^2;
sbit S3=P1^1;
sbit S4=P1^0;
sbit YK1=P1^6; //預(yù)置分鐘的十位
sbit YK2=P1^7; //預(yù)置分鐘的個(gè)位
sbit music=P1^4; //P1.4接喇叭,發(fā)聲,鳴笛
sbit Key1=P3^0; //B隊(duì)加分鍵
sbit Key2=P3^1; //B隊(duì)減分鍵
sbit Key3=P3^4; //A隊(duì)加分鍵
sbit Key4=P3^5; //A隊(duì)減分鍵
sbit JH=P1^5;
sbit Int_Key=P3^2; //鳴笛鍵
sbit Star=P3^6; //開始按鈕
sbit Puse=P3^7; //停止按鈕
int m=0,ms=0,mg=0; //秒鐘的十位、個(gè)位以及秒鐘的變量說明
int fs=0,fg=0,f,fy,num=0; //分鐘的十位、個(gè)位以及分鐘的變量說明
int g,s,b,q,sum=0; //B隊(duì)定義個(gè)十百位
int g1,s1,b1,q1,sum1=0; // A隊(duì)定義個(gè)十百位
int LED_Num[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x00,}; //段碼
void main(void)
{
TMOD=0x01; //設(shè)置T0為工作方式1,作為16位計(jì)數(shù)器
TH0=(65535-50000)/256; //設(shè)置T0的高8位,并且T0的計(jì)數(shù)值為50ms
TL0=(65535-50000)%256; //設(shè)置T0的低8位
music=0; //初值喇叭不響
EA=1; //開放所有中斷
ET0=1; //允許定時(shí)/計(jì)數(shù)器T0溢出中斷
EX0=1; //允許外部中斷0
IT0=1; //設(shè)置外部中斷0為邊沿觸發(fā)方式(下降沿)
while(1) //無窮循環(huán),程序一直運(yùn)行
{
Key_Y(); //預(yù)置場次比賽時(shí)間
if(Star==0&&f!=0&&Puse!=0) //按下“開始鍵”,設(shè)置好比賽時(shí)間,并且未按“停止”鍵時(shí),比賽正式開始
{
TR0=1; //啟動定時(shí)器T0,開始計(jì)時(shí)
Key_if(); //開始計(jì)分
}
else
{
TR0=0; //比賽還未開始或比賽結(jié)束時(shí)間到,停止計(jì)時(shí)
}
Js_Jf_Scan(); //將相應(yīng)的分?jǐn)?shù)、時(shí)間同步進(jìn)行顯示
}
}
評論