• 方案介紹
  • 附件下載
  • 推薦器件
  • 相關推薦
申請入駐 產業(yè)圖譜

基于51單片機的籃球記分牌設計

2024/08/16
2202
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

有需要資料的可了解一下.docx

共1個文件

一、設計任務

設計一個基于單片機的籃球計分牌,實現兩隊的計分功能與24秒計時功能。

二、 性能指標要求

(1)按照題目要求獨立設計系統所需電路,并完成硬件電路的制作及調試。

(2)結合硬件能夠正常計分(1,2,3)。

(3)能夠正常顯示分值。

(4)能夠正常修改工作模式(計分與24秒)。

(5)能夠24秒的誤差不小于1秒。

拓展部分

能記錄兩隊球員犯規(guī)次數計數。

三、設計思路及設計框圖

1.設計思路

這次實訓的芯片我們采用了AT89C52,并同時用keil進行C語言編程,再生成的HEX文件通過下載口導入AT89C52中。

器件中有一個12M的晶振并用與芯片相對應的管腳連接,將晶振產生的時鐘信號作為定時信號?;@球計分牌分為三個部分:開關控制、數碼管顯示和警示電路。P1口接8按鍵,分別作為顯示切換,秒計時,犯規(guī)計數。P0口和P2口分別接數碼管的段選和位選。

主要在籃球比賽中用于記錄24秒計時,犯規(guī)計數和顯示兩隊在比賽中的比分。

總體設計框圖:

部分程序:

#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);
}
}

參考電路:

資料內容:

需要全部資料可以在資源下載。

需要完整的資料可在我的資源里下載,也可以加入我的紛傳圈子,里面有資源壓縮包的百度網盤下載地址及提取碼。

紛傳點擊用微信打開即可,過程有點繁瑣請見諒。

  • 有需要資料的可了解一下.docx
    下載

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
LTC6991MPS6#TRMPBF 1 Linear Technology LTC6991 - TimerBlox: Resettable, Low Frequency Oscillator; Package: SOT; Pins: 6; Temperature Range: -55&deg;C to 125&deg;C
暫無數據 查看
IL4218-X019 1 Siemens Triac Output Optocoupler, 1-Element, 5300V Isolation, DIP-6
$8.33 查看
Q13MC1462000200 1 Seiko Epson Corporation Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom,
$1 查看

相關推薦