加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于51單片機(jī)籃球計(jì)時(shí)器計(jì)分器設(shè)計(jì)(源碼+原理圖+PCB+仿真+設(shè)計(jì)報(bào)告+講解視頻)

10/01 13:51
1519
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
    • 講解視頻
    • 1 設(shè)計(jì)要求:
    • 講解視頻
    • 2 仿真圖:
    • 3 原理圖:
    • 4 程序:
    • 5 報(bào)告:
    • 6 資料清單&&網(wǎng)盤下載鏈接:
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

仿真:proteus 7.8

程序編譯器:keil 4/keil 5

編程語言:C語言

編號C0004

電路采用單片機(jī)作為核心元件,利用兩個(gè)供陰的三位一體數(shù)碼管來顯示兩隊(duì)的分?jǐn)?shù),一個(gè)四位一體數(shù)碼管顯示時(shí)間的計(jì)時(shí)。顯示分?jǐn)?shù)范圍可達(dá)0~999分,足夠賽程計(jì)分的需要。四位一體數(shù)碼管中2個(gè)用于顯示分鐘,2個(gè)用于顯示秒鐘。

該系統(tǒng)具有賽程定時(shí)設(shè)置,賽程時(shí)間暫停,及時(shí)刷新甲、乙雙方的成績等功能。設(shè)計(jì)分為軟件設(shè)計(jì)和硬件設(shè)計(jì)兩部分。主控芯片采用AT89C51,使用C語言編寫軟件程序,主體分為計(jì)時(shí)顯示模塊、計(jì)分顯示模塊、定時(shí)報(bào)警、按鍵控制模塊。編程后利用Keil C51軟件來進(jìn)行編譯,再將生成的HEX文件裝入芯片中,檢驗(yàn)功能是否能夠正常實(shí)現(xiàn)。

講解視頻


51單片機(jī)籃球計(jì)分器(程序+仿真+原理圖+報(bào)告)

1 設(shè)計(jì)要求:

1、能記錄整個(gè)賽程的比賽時(shí)間,并能修改時(shí)間,暫停比賽時(shí)間。

2、能隨時(shí)刷新甲、乙兩隊(duì)在整個(gè)賽程中的比分。

3、場中交換比賽場地時(shí),能交換甲、乙兩隊(duì)比分的位置。

4、比賽時(shí)間結(jié)束時(shí),能發(fā)出報(bào)警指令。

5、有24秒倒計(jì)時(shí)功能,可通過按鍵隨時(shí)復(fù)位24秒,如果24秒違例會(huì)啟動(dòng)蜂鳴器報(bào)警,同時(shí)比賽時(shí)間暫停,處理好后按一下24秒復(fù)位鍵,比賽繼續(xù)。

二、實(shí)現(xiàn)功能:

1、一個(gè)四位一體數(shù)碼管顯示比賽時(shí)間,時(shí)間格式如:15:00,兩個(gè)三位一體數(shù)碼管顯示甲乙兩對的比分,比分格式如:008。

2、比賽時(shí)間采用倒計(jì)時(shí)方式,以一秒的頻率減時(shí),上電時(shí)默認(rèn)初值為15:00,在沒有開始比賽時(shí),可以修改時(shí)間,比賽開始后不能修改。

3、甲乙隊(duì)比分采用三位數(shù),上電初值為000,最大值為999,滿足常理要求,未開始比賽以及比賽結(jié)束后比分無法加減,

4、比賽未開始之前,可以通過ADD1、DEC1鍵對比較時(shí)間的分鐘進(jìn)調(diào)時(shí),通過ADD2、DEC2鍵對比較時(shí)間的秒進(jìn)行調(diào)時(shí)。

5、可隨時(shí)暫停/啟動(dòng)比賽時(shí)間。

6、比賽進(jìn)行時(shí),可以通過ADD1、DEC1鍵對甲隊(duì)比分加、減,可以通過ADD2、DEC2對乙隊(duì)比分加、減。每按一次鍵,加/減1分。

7、當(dāng)一節(jié)比賽完后,可以通過(EXCHANGE)換場鍵換場,換場后,比分交換顯示,交換后,下一節(jié)比賽開始時(shí),相應(yīng)的比分加減鍵也隨之交換。

8、當(dāng)比賽結(jié)束時(shí),發(fā)出報(bào)警。

三、作用說明:

1、調(diào)整比賽時(shí)間:插上電源后,系列默認(rèn)比賽時(shí)間為15:00,甲乙隊(duì)比分默認(rèn)000,此時(shí)按下ADD1鍵,可以對比賽時(shí)間分鐘加1,按下DEC1鍵,可以對比賽時(shí)間的分鐘減1,按下ADD2鍵,可以對比賽時(shí)間秒加1,按下DEC2鍵,可以對比賽時(shí)間秒減1。

2、啟動(dòng)比賽:按下RUN/STOP鍵,計(jì)時(shí)開始,比賽時(shí)間以1秒的頻率倒計(jì)時(shí)。

3、暫停比賽:比賽運(yùn)行的狀態(tài)下,按RUN/STOP鍵,比賽暫停,計(jì)時(shí)暫停。

4、比分加減,在比賽進(jìn)行的狀態(tài)下按ADD1,DEC1鍵,可以對甲隊(duì)比分加、減1,按ADD2、DEC2鍵,可以對乙隊(duì)比分加、減1.

5、交換場地:在一節(jié)比賽時(shí)間結(jié)束后,按下EXCHANGE鍵,比賽時(shí)間重新預(yù)置為15:00,同時(shí)左右兩邊數(shù)碼管的比分交換顯示。此時(shí)按下啟動(dòng)鍵可以開始新一節(jié)的比賽。

6、報(bào)警提示:在一節(jié)比賽時(shí)間倒計(jì)時(shí)到00:00時(shí),蜂鳴器發(fā)出報(bào)警提示。

7、比賽時(shí),24秒會(huì)以1秒的速度減,可隨時(shí)按下24秒復(fù)位鍵重置24秒。

講解視頻

包含仿真講解和代碼講解,詳情見壓縮包內(nèi)

2 仿真圖:

img

3 原理圖:

img

4 程序:

顯示函數(shù)

void display(void)
{
//-----------顯示時(shí)間分--------------
	LEDData=LEDCode[minit/10];
	led1=0;
	Delay5ms();
	led1=1;
	LEDData=LEDCode[minit%10];
	led2=0;
	Delay5ms();
	led2=1;
//-------------秒點(diǎn)閃動(dòng)------------
	if(halfsecond==1)
		LEDData=0x7f;
	else
		LEDData=0xff;
	led2=0;
	Delay5ms();
	led2=1;
	secondpoint=0;
//-----------顯示時(shí)間秒------------
	LEDData=LEDCode[second/10];
	led3=0;
	Delay5ms();
	led3=1;
	LEDData=LEDCode[second%10];
	led4=0;
	Delay5ms();
	led4=1;
//-----------顯示1組的分?jǐn)?shù)百位-------
	if(AorB==0)
		LEDData=LEDCode[scoreA/100];
	else
		LEDData=LEDCode[scoreB/100];
	led5=0;
	Delay5ms();
	led5=1;
//---------------顯示1組分?jǐn)?shù)的十位-----------
	if(AorB==0)
		LEDData=LEDCode[(scoreA%100)/10];
	else
		LEDData=LEDCode[(scoreB%100)/10];
	led6=0;
	Delay5ms();
	led6=1;

//---------------顯示1組分?jǐn)?shù)的個(gè)位-----------
	if(AorB==0)
		LEDData=LEDCode[scoreA%10];
	else
		LEDData=LEDCode[scoreB%10];
	led7=0;
	Delay5ms();
	led7=1;

//-----------顯示2組分?jǐn)?shù)的百位-------
	if(AorB==1)
		LEDData=LEDCode[scoreA/100];
	else
		LEDData=LEDCode[scoreB/100];
	led8=0;
	Delay5ms();
	led8=1;
//-----------顯示2組分?jǐn)?shù)的十位-----------
	if(AorB==1)
		LEDData=LEDCode[(scoreA%100)/10];
	else
		LEDData=LEDCode[(scoreB%100)/10];
	led9=0;
	Delay5ms();
	led9=1;

//-----------顯示2組分?jǐn)?shù)的個(gè)位-----------
	if(AorB==1)
		LEDData=LEDCode[scoreA%10];
	else
		LEDData=LEDCode[scoreB%10];
	led10=0;
	Delay5ms();
	led10=1;

//-----------顯示時(shí)間分--------------
	LEDData=LEDCode[sec24/10];
	led11=0;
	Delay5ms();
	led11=1;
	LEDData=LEDCode[sec24%10];
	led12=0;
	Delay5ms();
	led12=1;
}

main函數(shù)

//******************************主函數(shù)*************************************************
void main(void)
{
	TMOD=0x11;
 	TL0=0xb0;
 	TH0=0x3c;
 	TL1=0xb0;
 	TH1=0x3c;
	minit=min;				//初始值為15:00
	second=sec;
 	EA=1;
	ET0=1;
	ET1=1;
 	TR0=0;
	TR1=0;
	EX0=1;
	IT0=1;
	IT1=1;
//	EX1=1;
	PX0=1;
//	PX1=1;
	PT0=0;
	P1=0xFF;
	P3=0xFF;
	alam=1;
 	while(1)
 	{
		keyscan();
		display();			
    }
}


void PxInt0(void) interrupt 0
{
	Delay5ms();
	EX0=0;
	alam=1;
	TR1=0;
	if(timeover==1)
	{
		timeover=0;
	}

	if(playon==0)
	{
		playon=1;				//開始標(biāo)志位
		TR0=1;					//開啟計(jì)時(shí)
		
		if((minit+second)==0)
		{
			sec24=24;
			minit=min;			
			second=sec;
		}
	}
	else
	{
		playon=0;				//開始標(biāo)志位清零,表示暫停
		TR0=0;					//暫時(shí)計(jì)時(shí)
	}	
	EX0=1;						//開中斷	
}

image-20231031010452699

5 報(bào)告:

8615字設(shè)計(jì)報(bào)告附贈(zèng)開題報(bào)告

image-20231031010459882

器件清單:

籃球計(jì)分器元件清單

1) 萬用板9*15

2) stc89C51單片機(jī)

3) 40腳IC座

4) 0.36四位一體共陽數(shù)碼管

5) 0.36三位一體共陽數(shù)碼管*2

6) 0.36兩位一體共陽數(shù)碼管

7) 10K排阻(103)

8) 2.2K電阻*13

9) 10K電阻

10) 10uF電容

11) 按鍵*7

12) 12M晶振

13) 30P電容 *2

14) 9012三極管*13

15) 蜂鳴器

16) DC電源插座

17) 自鎖開關(guān)

18) 導(dǎo)線若干

19) 焊錫若干

USB電源線(電池盒+DC插頭)

6 資料清單&&網(wǎng)盤下載鏈接:

資料下載地址

image-20231031010536344

  • 設(shè)計(jì)資料獲取聯(lián)系方式.doc

相關(guān)推薦

電子產(chǎn)業(yè)圖譜