標題: 單片機《8位競賽搶答器的設(shè)計》課程設(shè)計報告 [打印本頁]

作者: luhaix    時間: 2018-6-25 09:56
標題: 單片機《8位競賽搶答器的設(shè)計》課程設(shè)計報告




接口技術(shù)及應(yīng)用
課程設(shè)計


題目

8位競賽搶答器的設(shè)計

學(xué)院(系)

信息工程系

專業(yè)

計算機科學(xué)與技術(shù)

班級

20153

姓名








指導(dǎo)教師




摘要

搶答比賽能極大地提高參賽者與觀眾的興趣,而多人搶答器作為一種搶答比賽常用的工具現(xiàn)在已經(jīng)廣泛運用于各種搶答競賽,多人的搶答器要求要能快速鎖定搶答的信息,并且可以靈活地計時,還要能方便主持人設(shè)置搶答時間。

本設(shè)計使用 AT89C52單片機芯片以及MAX7219串行輸入/輸出顯示驅(qū)動芯片可以實現(xiàn)多人搶答系統(tǒng),利用AT89C52單片機的中斷、記數(shù)的功能以及其優(yōu)秀的性能,通過高速掃描選手按鍵I/O口,可以精準鎖定搶答成功選手編號,并為系統(tǒng)提供計時功能,同時不斷更新數(shù)碼管輸出信息使其能夠正確地顯示搶答時間與搶答成功選手編號。







Abstract

Answering the competition can greatly increase the interest of the participants and the audience, and the multi-user responder is now widely used in various rush-answering contests as a common tool for answering the match. The multi-user responder needs to be able to quickly lock the answer. Information, and can be flexibly timed, but also to facilitate the host set the answer time.

This design uses the AT89C52 microcontroller chip and the MAX7219 serial I/O display driver chip to implement a multi-user system, using the interrupt and count functions of the AT89C52 microcontroller and its excellent performance, by high-speed scanning of the player's button I/O ports. Accurately lock the successful player number and provide the system with the timekeeping function. At the same time, it constantly updates the digital tube output information so that it can correctly display the answering time and the successful player number.



目 錄

第1章  需求分析

第2章  系統(tǒng)概要設(shè)計

2.1 8位競賽搶答器的整體設(shè)計

2.2 8位競賽搶答器功能流程

第3章  仿真電路設(shè)計

3.1 仿真電路總體設(shè)計

3.2 單元電路設(shè)計

3.2.1 晶振電路與復(fù)位電路

3.2.2 搶答電路

3.2.3 顯示電路

3.2.4 控制電路

第4章 系統(tǒng)軟件設(shè)計

4.1 軟件主程序設(shè)計

4.2 軟件子程序設(shè)計

第5章  仿真結(jié)果分析

5.1仿真結(jié)果分析

第6章 課程設(shè)計總結(jié)

參考文獻

致  謝

附錄



8位競賽搶答器的設(shè)計
第1章  需求分析

搶答比賽是一個參賽者與觀眾都喜愛的富有激情的比賽,在主持人宣布開始答題后,選手要在規(guī)定的時間內(nèi),以搶答的方式來回答問題。過去,人們搶答比賽僅依靠主持人人為的判斷來判定到底哪個選手是最快搶答成功的,這種搶答方式不僅精準性低而且效率也不高,所以搶答比賽就需要有搶答器來進行輔助比賽,精準選出搶答成功的選手。

本次我們要設(shè)計的是一個8位競賽搶答器,可以同時供8名選手或8支隊伍比賽。搶答器要求能快速地鎖定搶答選手或隊伍的編號,搶答的信息要能迅速顯示在數(shù)碼管上,并且要能為主持人提供方便的比賽操作,可以靈活地進行比賽時間調(diào)節(jié)與操作比賽的開始與結(jié)束,保證整場比賽的公平性與靈活性?紤]到比賽運營的費用與投入的成本,搶答器整套系統(tǒng)的成本也不能太高,所選用芯片的價格要求要適中,這樣才能保證搶答器系統(tǒng)的價格在可以普遍應(yīng)用的范圍內(nèi)。


2  系統(tǒng)概要設(shè)計
2.1 8位競賽搶答器的整體設(shè)計

8位競賽搶答器可以同時提供 8 名選手參加比賽,使用AT89C52單片機芯片的P1^1 – P1^7口作為搶答按鈕的接口,與8個按鈕相連接,模擬選手的搶答按鍵。并在P2^0口與P2^1口分別設(shè)置一個搶答開始按鍵與搶答時間設(shè)置按鍵,提供給主持人進行比賽的控制,再利用系統(tǒng)的復(fù)位功能,重置系統(tǒng)模擬進入下一題,重新設(shè)置計時時間與計時搶答工作的準備。數(shù)碼管的顯示驅(qū)動由MAX7219顯示芯片帶動,使用AT89C52單片機芯片的P3^0(RXD)與P3^1(TXD)口分別與MAX7219芯片的DIN口與LOAD口連接,進行串行通信與數(shù)據(jù)裝載,傳送當前的搶答時間與搶答成功選手編號,CLK時鐘序列輸入口與AT89C52芯片的INT0口(外部中斷口)進行連接,提供控制信息。

2.2 8位競賽搶答器功能流程

接通電源后,主持人可以按搶答時間設(shè)置按鍵進行搶答時間的設(shè)置,在設(shè)置好搶答時間后,按開始按鍵即可開始計時搶答,此時選手可以通過自己的按鍵進行搶答。在一個選手成功之后,系統(tǒng)會進行選手編號與搶答時間的鎖定,數(shù)碼管就會顯示當前搶答選手的編號與搶答時間。系統(tǒng)流程圖如下所示:

圖2-1 8位競賽器系統(tǒng)流程圖


3  仿真電路設(shè)計
3.1 仿真電路總體設(shè)計

8位競賽搶答器使用了AT89C52芯片和MAX7219芯片進行設(shè)計,AT89C52是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS,8位微處理器,俗稱單片機,用于搶答邏輯電路的設(shè)計。MAX7219是一種集成化的串行輸入/輸出共陰極顯示驅(qū)動器,它連接微處理器與8位數(shù)字的7段數(shù)字LED顯示,也可以連接條線圖顯示器或者64個獨立的LED,擁有10MHz連續(xù)串行口與獨立的LED段控制,用于顯示搶答成功選手編號顯示與搶答時間顯示。

系統(tǒng)的總體電路如下圖所示:

圖3-1 總體電路圖



3.2 單元電路設(shè)計

為了更好的設(shè)計8位競賽搶答器,我們根據(jù)各個部分的功能將總電路劃分成為晶振電路、搶答電路、顯示電路以及主持人控制電路,以下是對各個單元電路的詳細說明。

3.2.1 晶振電路與復(fù)位電路

該晶振電路使用的是內(nèi)部時鐘電路,晶振的頻率為12MHZ ,提供AT89C52芯片的時鐘脈沖使AT89C52芯片工作。復(fù)位電路使用的是按鍵與上電復(fù)位,復(fù)位電路可以使單片機重置,使單片機重新開始執(zhí)行程序。當復(fù)位開關(guān)按下 RST 口由低電平變?yōu)楦唠娖,觸發(fā)復(fù)位功能,系統(tǒng)重置。晶振電路電路圖如下圖紅圈區(qū)域,復(fù)位電路如下圖藍圈區(qū)域,如圖:

圖3-2 晶振電路電路圖

3.2.2 搶答電路

搶答電路使用AT89C52的P1^0 - P1^7作為選手的搶答按鍵,選手編號分別1到8,當選手按下按鍵時,按鍵對應(yīng)的接口由高電平變?yōu)榈碗娖,程序不斷掃描P1各個口電平的變化,在掃描到有接口變?yōu)榈碗娖胶,迅速鎖定該口的編號,模擬搶答成功情形。搶答電路電路圖如下圖紅圈區(qū)域所示:

圖3-3 搶答電路電路圖

3.2.3 顯示電路

顯示電路由MAX7219芯片進行顯示驅(qū)動,兩個10引腳的LED數(shù)碼管進行選手編號的顯示與搶答時間顯示,由DIN接口(串行數(shù)據(jù)輸入端口)進行串行數(shù)據(jù)的輸入,LOAD口進行數(shù)據(jù)的裝載,再通過DIG0~DIG7口進行片選信號的輸出,對LED數(shù)碼管進行控制。顯示電路電路圖如下圖紅圈區(qū)域所示:

圖3-4 顯示電路電路圖

3.2.4 控制電路

控制電路由AT89C52芯片的P2^0與P2^1口進行實現(xiàn),通過與兩個按鍵進行連接,實現(xiàn)開始計時與搶答時間的設(shè)置。控制電路電路圖如下圖所示:

圖3-5 控制電路電路圖


4 系統(tǒng)軟件設(shè)計4.1 軟件主程序設(shè)計

圖4-1 主程序流程圖

程序Main函數(shù)

  1. <font style="font-size: 12pt">void main()
  2. {
  3.   while(1)
  4.   {
  5.   do
  6.   {
  7.     holderscan();
  8.   }
  9.   //while(begin);//開始前進行設(shè)置,若未按下開始鍵    主持人是否把開始按鍵按下
  10.   while (begin)
  11.   delay_ms(10);//防抖
  12.   while(!begin);
  13.   max7219_init(); //芯片初始化
  14.   timer_init();                //中斷初始化
  15.   TR0=1;                              //開始中斷
  16.   do
  17.   {
  18.     time_display(second);
  19.               people=keyscan();//掃描選手按鍵
  20.               scare_display(people);
  21.   }
  22.   while((!people)&&(second));//運行直到搶答結(jié)束或者時間結(jié)束
  23.   TR0=0;
  24.   }
  25. }</font>
復(fù)制代碼


第5章  仿真結(jié)果分析
5.1仿真結(jié)果分析

系統(tǒng)仿真時首先要在使用KeilC編譯器,把所寫的程序進行編譯,同時在仿真器里設(shè)置生成 hex 文件,編譯無錯誤時使用 Proteus軟件仿真。電路啟動仿真結(jié)果如下所示:

圖5-1 電路啟動仿真圖

按下START按鍵后,搶答開始,開始30s倒計時,仿真結(jié)果如下所示:
圖5-2 倒計時仿真圖

點擊任意選手按鈕,倒計時暫停,顯示選手編號,仿真結(jié)果如下所示:

圖5-3 選手搶答仿真圖

若該選手打錯,繼續(xù)倒計時,選手編號清零,仿真結(jié)果如下所示:

圖5-4 繼續(xù)搶答仿真圖

一輪答題結(jié)束后,點擊復(fù)位按鈕,倒計時復(fù)位,選手編號清零,仿真結(jié)果如下所示:

圖5-5 復(fù)位仿真圖

6章 課程設(shè)計總結(jié)

在這次課程設(shè)計中,通過完成8位競賽搶答器的設(shè)計,我們對書本上的知識有了進一步的了解。將以前學(xué)習過的模電知識與proteus軟件的操作結(jié)合起來。本次課程設(shè)計我們選擇8位競賽搶答器設(shè)計的原因是這看起來是個相對簡單一點的課題,但當我們真正開始設(shè)計的時候,發(fā)現(xiàn)這個課題并沒有我們想象中的那么簡單,在設(shè)計電路的過程中遇到了不少的問題。雖然我們通過查閱書本和網(wǎng)上的資料在proteus上成功畫出本次設(shè)計所需要的電路圖,但我們在電路仿真的時候發(fā)現(xiàn)電路中的電阻及電容參數(shù)設(shè)置錯誤,導(dǎo)致仿真過程中電路無法正常運行,當我們改正后再次仿真的時候又發(fā)現(xiàn)了定時器的初值設(shè)置有誤以及其他元器件的參數(shù)都有點小問題,經(jīng)過幾次修改,電路成功仿真并達到了我們預(yù)期設(shè)想的結(jié)果。

本次的課程設(shè)計使我們受益匪淺。加深了我們對單片機和數(shù)字電路的認識,相信這在以后的學(xué)習和工作中碰到這些基礎(chǔ)元器件我們會更加得心易手。我們還學(xué)習到了一些課堂上學(xué)不到的東西,這些知識可能對于我們將來的畢設(shè)、學(xué)習或者工作來說,都是很有幫助的。希望以后我們還能更多這樣的機會來學(xué)習更多的知識。



致  謝

經(jīng)過一周的努力,我們成功完成本次課程設(shè)計的課題,以單片機為核心設(shè)計出一個8位競賽搶答器。雖然還存在一些小問題,但基本達到本次課程設(shè)計的設(shè)計要求。

在這一周的課程設(shè)計中,我們在設(shè)計過程中遇到一些曲折。在編寫程序和完成電路仿真時,幾次因無法實現(xiàn)設(shè)計所要求的結(jié)果或錯漏百出,我們只好重新設(shè)計一個新的方案。好在得到老師和周圍同學(xué)及好友的幫助,我們才能堅持下去并成功完成本次課程設(shè)計。在此我們要感謝羅澤鵬老師對我們的指導(dǎo),老師知識淵博,做事嚴謹,平近易人。向老師請教問題時,老師細心地解答我們的問題,還經(jīng)常幫忙指出我們沒有發(fā)現(xiàn)的錯誤并提出改善的建議。我們還要感謝周圍的同學(xué),在完成本次課程設(shè)計的過程中得到他們不少的幫助和支持。不過我們最想感謝的還是我們自己,正是因為我們組員互幫互助、團結(jié)友愛、堅持不懈的精神,我們才能在本次課程設(shè)計畫下一個完美的句號。


附錄

總電路圖

電路元器件圖表

名稱

圖標

檢索名

電容

CAP

CAP-ELEC

晶振

CRYSTAL

按鈕

BUTTON

電阻

RES

喇叭

SOUNDER

數(shù)碼管

7SEG-MPX2-CC

7SEG-MPX2-CC-BLUE

接地

GROUND

VCC

POWER

AT89C52

AT89C52

MAX7219


完整的Word格式文檔51黑下載地址(含源碼):
《8位競賽搶答器的設(shè)計》課程設(shè)計報告.docx (650.02 KB, 下載次數(shù): 562)




作者: 關(guān)丑丑    時間: 2018-7-14 16:27
很有幫助,厲害了
作者: 米老鼠alan    時間: 2018-12-19 16:29
源代碼呢?
作者: 米老鼠alan    時間: 2018-12-19 20:26
pdsprj文件有嗎
作者: 昊天浮夢    時間: 2018-12-19 23:02
根據(jù)文檔我畫了一幅簡單proteus圖,新手多見諒

搶答器.rar

17.25 KB, 下載次數(shù): 192, 下載積分: 黑幣 -5


作者: 米老鼠alan    時間: 2018-12-20 15:10
昊天浮夢 發(fā)表于 2018-12-19 23:02
根據(jù)文檔我畫了一幅簡單proteus圖,新手多見諒

你好,源代碼包括hex文件,c文件等等有嗎?
作者: 昊天浮夢    時間: 2018-12-26 09:19
米老鼠alan 發(fā)表于 2018-12-20 15:10
你好,源代碼包括hex文件,c文件等等有嗎?

有的,郵箱還是我直接掛上去。
作者: 15863332475    時間: 2019-1-2 08:25
米老鼠alan 發(fā)表于 2018-12-20 15:10
你好,源代碼包括hex文件,c文件等等有嗎?

你有程序代碼嗎
作者: 徐徐8888    時間: 2019-1-3 01:03
你有hex文件嗎?
作者: 15863332475    時間: 2019-1-3 09:05
徐徐8888 發(fā)表于 2019-1-3 01:03
你有hex文件嗎?

你有c語言程序嗎

作者: 15863332475    時間: 2019-1-3 09:27
昊天浮夢 發(fā)表于 2018-12-26 09:19
有的,郵箱還是我直接掛上去。

你能給我發(fā)一遍八位競賽搶答器的hex文件嗎
作者: 嘎嘎嘎嘎嘎個    時間: 2019-1-7 12:35
有pcb圖嗎

作者: rbq    時間: 2019-1-15 14:44
有匯編語言的嗎
作者: Eyrane    時間: 2019-4-19 13:35
7SEG-MPX2-CC和7SEG-MPX2-CC有什么區(qū)別嗎?
作者: ElecC    時間: 2019-4-19 15:25
才發(fā)現(xiàn)有這么一個功能強大的網(wǎng)站,贊
作者: dpjnmsl    時間: 2019-4-22 14:05
代碼沒有運行成功,數(shù)碼管始終是全亮狀態(tài)求大神指教
作者: zzzzzzyy    時間: 2019-5-15 10:42
很不錯的資源
作者: 小蘋果啊    時間: 2019-6-5 10:10
wx1235 發(fā)表于 2019-4-18 14:58
求給個源程序。≈x謝大神。∴]箱:

大哥,有源代碼么,HEX文件也行
作者: 小蘋果啊    時間: 2019-6-5 10:16
昊天浮夢 發(fā)表于 2018-12-26 09:19
有的,郵箱還是我直接掛上去。

有源代碼么,本人一名正經(jīng)學(xué)生求源代碼
作者: 17370143925    時間: 2019-6-17 21:55
能問一下大神我仿真有用,硬件為什么什么顯示都沒有嗎

IMG_20190617_144401.jpg (799.01 KB, 下載次數(shù): 151)

IMG_20190617_144401.jpg

1560778330651.jpg (1.18 MB, 下載次數(shù): 133)

1560778330651.jpg

作者: 1996TT    時間: 2019-6-22 14:53
值得學(xué)習參考
作者: 方十五    時間: 2019-9-17 11:04
有完整源代碼嗎
作者: 653247108    時間: 2019-12-5 17:47
Eyrane 發(fā)表于 2019-4-19 13:35
7SEG-MPX2-CC和7SEG-MPX2-CC有什么區(qū)別嗎?

cc是共陰極,ca是共陽極
作者: 5111at89    時間: 2019-12-7 14:29
昊天浮夢 發(fā)表于 2018-12-19 23:02
根據(jù)文檔我畫了一幅簡單proteus圖,新手多見諒

大神,電路已完成,求程序,學(xué)習,萬分感謝!
作者: 小白愛好者    時間: 2020-4-1 19:32
感謝發(fā)帖,可以分享一下hex文件嗎
作者: zhy.    時間: 2020-4-5 18:58
很有幫助,謝謝
作者: 123636960    時間: 2020-5-17 16:57
給個源代碼白,大佬
作者: 布吉島,    時間: 2020-5-18 12:41
謝謝樓主分享
作者: skdpj    時間: 2020-5-21 17:52
大神求源代碼 十分感謝
作者: 林夕sunny    時間: 2020-6-4 14:13
求源程序,謝大神!
作者: 憤怒的小呆頭    時間: 2020-6-16 14:32
贊一個 好資料,51黑有你更精彩!!!

作者: a1365269755    時間: 2020-6-18 17:02
是真的太詳細了,找的很多都沒有這個這么詳細
作者: woyuchengxian    時間: 2020-6-18 21:11
求源程序,還有仿真圖啊
作者: a1365269755    時間: 2020-6-20 15:47
老鐵那個程序函數(shù)用Keil C51導(dǎo)不成hex文件啊
作者: 哈軒    時間: 2020-6-20 19:14
有源代碼嗎?我下載了就一個dsn文件,沒啥幫助啊


作者: eternal。    時間: 2020-7-1 20:18
哥,可以給份源代碼嗎?小白下載了你的word還是看不懂呀
作者: eternal。    時間: 2020-7-1 20:20
昊天浮夢 發(fā)表于 2018-12-19 23:02
根據(jù)文檔我畫了一幅簡單proteus圖,新手多見諒

哥,現(xiàn)在還有嗎源代碼嗎

作者: ddya    時間: 2020-12-2 18:52
代碼沒有完全運行成功,倒計時數(shù)碼管始終常亮,求大神解答
作者: 一只李嘉圖    時間: 2020-12-7 15:47
ddya 發(fā)表于 2020-12-2 18:52
代碼沒有完全運行成功,倒計時數(shù)碼管始終常亮,求大神解答

老哥,能求一份代碼嘛 QAQ
作者: 1121203712    時間: 2020-12-7 21:07
請問,可以把七個S開關(guān),換成4X4鍵盤來控制嘛?
作者: 他曾是我的破綻    時間: 2020-12-10 19:04
Eyrane 發(fā)表于 2019-4-19 13:35
7SEG-MPX2-CC和7SEG-MPX2-CC有什么區(qū)別嗎?

你打的一模一樣肯定沒區(qū)別啊
作者: 他曾是我的破綻    時間: 2020-12-10 19:07
下載咋沒程序呢?

作者: qingning333    時間: 2020-12-11 14:05
樓主這個設(shè)計實物的話好設(shè)計嗎
作者: 哦買噶的    時間: 2021-3-31 16:45
有源代碼嗎

作者: 討厭單片機    時間: 2021-6-21 09:44
有C程序源代碼嘛!求求求。
作者: okeral    時間: 2022-12-30 20:00
求求源碼,作者
作者: 哎喝湯的小澤    時間: 2023-1-3 21:32
昊天浮夢 發(fā)表于 2018-12-19 23:02
根據(jù)文檔我畫了一幅簡單proteus圖,新手多見諒

可以可以
作者: 光、    時間: 2023-3-26 16:41
寫的很全面,根據(jù)PROTEUS圖,畫出的仿真圖能運行。
作者: 李黎11    時間: 2023-6-12 09:53
光、 發(fā)表于 2023-3-26 16:41
寫的很全面,根據(jù)PROTEUS圖,畫出的仿真圖能運行。

友友,有源代碼嗎
作者: 湖123    時間: 2024-12-25 15:32
發(fā)表于 2019-4-19 13:35
7SEG-MPX2-CC和7SEG-MPX2-CC有什么區(qū)別嗎?

想問的是
7SEG-MPX2-CA和7SEG-MPX2-CC的區(qū)別吧
前共陽后共陰
作者: 遇見01    時間: 2024-12-30 21:24
Up主這個有用的,謝謝
作者: 遇見01    時間: 2024-12-30 22:34
有源程序代碼嗎?求




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1