一、設(shè)計(jì)任務(wù)
設(shè)計(jì)一個(gè)基于單片機(jī)的籃球計(jì)分牌,實(shí)現(xiàn)兩隊(duì)的計(jì)分功能與24秒計(jì)時(shí)功能。
二、 性能指標(biāo)要求
(1)按照題目要求獨(dú)立設(shè)計(jì)系統(tǒng)所需電路,并完成硬件電路的制作及調(diào)試。
(2)結(jié)合硬件能夠正常計(jì)分(1,2,3)。
(3)能夠正常顯示分值。
(4)能夠正常修改工作模式(計(jì)分與24秒)。
(5)能夠24秒的誤差不小于1秒。
拓展部分
能記錄兩隊(duì)球員犯規(guī)次數(shù)計(jì)數(shù)。
三、設(shè)計(jì)思路及設(shè)計(jì)框圖
1.設(shè)計(jì)思路
這次實(shí)訓(xùn)的芯片我們采用了AT89C52,并同時(shí)用keil進(jìn)行C語言編程,再生成的HEX文件通過下載口導(dǎo)入AT89C52中。
器件中有一個(gè)12M的晶振并用與芯片相對應(yīng)的管腳連接,將晶振產(chǎn)生的時(shí)鐘信號(hào)作為定時(shí)信號(hào)。籃球計(jì)分牌分為三個(gè)部分:開關(guān)控制、數(shù)碼管顯示和警示電路。P1口接8按鍵,分別作為顯示切換,秒計(jì)時(shí),犯規(guī)計(jì)數(shù)。P0口和P2口分別接數(shù)碼管的段選和位選。
主要在籃球比賽中用于記錄24秒計(jì)時(shí),犯規(guī)計(jì)數(shù)和顯示兩隊(duì)在比賽中的比分。
總體設(shè)計(jì)框圖:
部分程序:
#include <reg51.h>
unsigned int smg[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned int t = 0, fs1 = 0, fs2 = 0, fg1 = 0, fg2 = 0, q2 = 0, q3 = 0;
unsigned int m = 24;
sbit led =P3^3;
sbit fmq = P3^2;
void delay(unsigned int t)
{
unsigned int i,j;
for(i = 0;i < 200;i++)
for(j = 0;j < t;j++);
}
void t_0()?? ?interrupt 1
{
TH0 = 0X3C;
TL0 = 0XB0;
t++;
if(t == 20)
{
t = 0;
m--;
}
}
void xyh()
{
P2 = 0xfb;
P0 = smg[fs1%10];
delay(1);
P2 = 0xf7;
P0 = smg[fs1/10];
delay(1);
P2 = 0xfe;
P0 = smg[fs2%10];
delay(1);
P2 = 0xfd;
P0 = smg[fs2/10];
delay(1);
}
void xz()
{
if (P1==0x7f)
{
delay (10);
if (P1==0x7f)
{
q2 += 1;
if(q2 > 1)
{
q2 = 0;
}
while(P1==0x7f);
}
}
if(P1==0xbf)
{
delay (10);
if(P1==0xbf)
{
q3 += 1;
if(q3 > 1)
{
q3 = 0;
}
while (P1==0xbf);
}
}
}
void xs()
{
if(q2==0)
{
if(q3==1)
{
led = 1;
P2 = 0xfb;
P0 = smg[fs1%10];
delay(1);
P2 = 0xf7;
P0 = smg[fs1/10];
delay(1);
P2 = 0xfe;
P0 = smg[fs2%10];
delay(1);
P2 = 0xfd;
P0 = smg[fs2/10];
delay(1);
}
else
{
led = 0;
P2 = 0xfb;
P0 = smg[fg1%10];
delay(1);
P2 = 0xf7;
P0 = smg[fg1/10];
delay(1);
P2 = 0xfe;
P0 = smg[fg2%10];
delay(1);
P2 = 0xfd;
P0 = smg[fg2/10];
delay(1);
}
}
else
{
P2 = 0xfd;
P0 = smg[m/10];
delay(1);
P2 = 0xfe;
P0 = smg[m%10];
delay(1);
}
}
參考電路:
資料內(nèi)容:
需要全部資料可以在資源下載。
需要完整的資料可在我的資源里下載,也可以加入我的紛傳圈子,里面有資源壓縮包的百度網(wǎng)盤下載地址及提取碼。
紛傳點(diǎn)擊用微信打開即可,過程有點(diǎn)繁瑣請見諒。