• 方案介紹
    • 1. 主要功能:
    • 2. 講解視頻:
    • 3. 設(shè)計說明書(報告)
    • 4. 仿真
    • 5. 實物燒錄和現(xiàn)象
    • 6. 程序代碼
    • 7. 設(shè)計資料內(nèi)容清單&&下載鏈接
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

【普中】基于51單片機的四位搶答器設(shè)計( proteus仿真+程序+設(shè)計報告+講解視頻)

03/03 08:43
1941
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

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

共1個文件

【普中開發(fā)板】基于51單片機的四位搶答器設(shè)計( proteus仿真+程序+設(shè)計報告+講解視頻)

Proteus 仿真:Proteus 8.15(有低版本)

程序編譯器:keil 4/keil 5

編程語言:C語言

設(shè)計編號:P19

1. 主要功能:

普中開發(fā)板實驗設(shè)計

本設(shè)計旨在設(shè)計一個基于51單片機的四位競賽搶答器設(shè)計。

以單片機為核心,設(shè)計一個4位競賽搶答器:同時供4名選手或4個代表隊比賽,分別用4個按鈕1-4號表示。

1.設(shè)置一個系統(tǒng)清除和搶答控制開關(guān)S,開關(guān)由主持人控制。

2.搶答器具有鎖存與顯示功能。即選手按按鈕,鎖存相應(yīng)的編號,并在優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。

3.搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定(如20秒)。

4.當主持人啟動“開始”鍵后,定時器進行減計時。

參賽選手在設(shè)定的時間內(nèi)進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,選手對應(yīng)的LED燈點亮,并保持到主持人將系統(tǒng)清除為止。

5.如果在主持人啟動"開始"鍵前搶答 ,搶答無效。且顯示器上會顯示搶答選手編號,選手對應(yīng)的LED燈點亮。

6.如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并禁止搶答,定時顯示器上顯示00。 (目前僅完全適配普中開發(fā)板A234,其他普中開發(fā)板型號可能需要做代碼修改或接線)

需注意本設(shè)計仿真中51單片機芯片是兼容的,AT89C51,AT89C52是51單片機的具體型號,內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機芯片。

2. 講解視頻:

講解視頻包含仿真運行講解、實物運行講解和代碼講解

IMG_20231218_020021_WH_1000x1000px

3. 設(shè)計說明書(報告)

隨著科學技術(shù)的發(fā)展和普及,各種各樣的競賽越來越多,其中搶答器的作用也越來越重要。本文設(shè)計出以AT89C51單片機為核心的8位搶答器,采用了數(shù)字顯示器直接指示,自動鎖存顯示結(jié)果,并自動復(fù)位的設(shè)計思想,它能根據(jù)不同的搶答輸入信號,經(jīng)過單片機的控制處理并產(chǎn)生不同的與輸入信號相對應(yīng)的輸出信號,最后通過LED數(shù)碼管顯示相應(yīng)的路數(shù),充分利用了單片機系統(tǒng)結(jié)構(gòu)簡單、功能強大、可靠性好、實用性強的特點。

4. 仿真

打開仿真工程,雙擊proteus中的單片機,選擇hex文件路徑,然后開始仿真。

違規(guī)搶答

img

成功搶答

img

5. 實物燒錄和現(xiàn)象

軟件準備:

第一次使用務(wù)必先安裝CH340驅(qū)動。

雙擊打開 STC-ISP.exe。

下載步驟:

0.板子先上電,接電源線到電腦USB口,先不上電,板子無燈光。

1.選擇選擇單片機型號

2.選擇下載器的串口

3.打開編譯生成的 HEX 文件

4.點擊下載,單片機板子電源鍵按下接通電源,等待下載完成提示

IMG_20231218_020054_WH_1000x1000px

6. 程序代碼

使用keil4或者keil5編譯,代碼有注釋。

img

核心代碼:

void main()

{  

 TMOD = 0X12;   //初始化定時器

 TH0 = 6;

 TL0 = 6;

 TH1 = (65536-50000)/256;    //50ms計時初值

 TL1 =(65536-50000)%256;

 EA = 1;    //開總中斷

 ET0 = 1;    //開T0中斷

 ET1 = 1;    //開T1中斷

 temp_fen=fen=10;  //設(shè)置搶答倒計時

 while(1)

 {

   ChangeFor(); 

  

 KeyScanf();

  if((start== 1)&&(flag == 0)) //如果開始鍵動作,且處于空閑狀態(tài)

 {

  flag = 1;  //設(shè)置運行標志

  fen=temp_fen;

  TR1 = 1;  //啟動定時器

 }

   

 if((add==1)&&(flag==0))//如果時間+鍵動作,且處于空閑狀態(tài)

 {

  add=0; 

  key_flick++;

  if((key_flick%25)==0){//消抖

  key_flick=0;

  temp_fen++;  //時間+1

  fen=temp_fen;

  }

 } 

 

 if((dec==1)&&(flag==0))//如果時間-鍵動作,且處于空閑狀態(tài)

 {

  dec=0;

  key_flick++;

  if((key_flick%25)==0){//消抖

  key_flick=0;

  temp_fen--;  //時間-1

  fen=temp_fen;

  }

 }  

 

 if((start==0)&&(flag==0))

 {

  if((key != 0))  //如果鍵值有效

  {

  xianshou = key;  //顯示搶答鍵

  flag = 2;

  TR1 = 0;  //關(guān)閉T0 

  flaga = 8000;  //報警值,蜂鳴器響2秒

  TR0 = 1;  //啟動T0 

  }

 } 

 while(flag == 1)   //如果運行標志有效,進入運行狀態(tài)

 {

   ChangeFor();   //顯示

  KeyScanf();  //掃描搶答鍵

  if((key != 0))  //如果鍵值有效

  {

  xianshou = key;  //顯示搶答鍵

  flag = 2;

  TR1 = 0;  //關(guān)閉T0 

  flaga = 8000;  //報警值,蜂鳴器響2秒

  TR0 = 0;  //啟動T0 

  }

 }

 if((end == 1)&&(flag==2)) //運行結(jié)束后復(fù)位鍵按下

 {

   flag = 0;  //回到初始狀態(tài)

  xianshou = 0;  //變量歸零

  fen = 0;

  TR0 = 0;

  TR1 = 0; 

  start=0;

  key=0;

  end=0;

 } 

 }

}

 

7. 設(shè)計資料內(nèi)容清單&&下載鏈接

資料設(shè)計資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計報告、軟硬件設(shè)計框圖等。

0、常見使用問題及解決方法–必讀?。。。?/p>

1.程序代碼

2.仿真

3.開題報告

4.功能要求

5.設(shè)計報告

6.講解視頻

7.燒錄工具

Altium Designer 安裝破解

KEIL+proteus 單片機仿真設(shè)計教程

KEIL安裝破解

Proteus元器件查找

Proteus安裝

Proteus簡易使用教程

單片機學習資料

普中-2&普中-3&普中-4開發(fā)板原理圖.pdf

相關(guān)數(shù)據(jù)手冊

答辯技巧

設(shè)計報告常用描述

鼠標雙擊打開查找嘉盛單片機51 STM32單片機課程畢業(yè)設(shè)計.url

img

資料下載鏈接(可點擊):

https://docs.qq.com/doc/DS2pPenNRaHB6SlR1

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

相關(guān)推薦