題目 | 8位競賽搶答器的設(shè)計 |
學(xué)院(系) | 信息工程系 |
專業(yè) | 計算機科學(xué)與技術(shù) |
班級 | 2015級3班 |
姓名 | |
指導(dǎo)教師 |
摘要
搶答比賽能極大地提高參賽者與觀眾的興趣,而多人搶答器作為一種搶答比賽常用的工具現(xiàn)在已經(jīng)廣泛運用于各種搶答競賽,多人的搶答器要求要能快速鎖定搶答的信息,并且可以靈活地計時,還要能方便主持人設(shè)置搶答時間。
本設(shè)計使用 AT89C52單片機芯片以及MAX7219串行輸入/輸出顯示驅(qū)動芯片可以實現(xiàn)多人搶答系統(tǒng),利用AT89C52單片機的中斷、記數(shù)的功能以及其優(yōu)秀的性能,通過高速掃描選手按鍵I/O口,可以精準鎖定搶答成功選手編號,并為系統(tǒng)提供計時功能,同時不斷更新數(shù)碼管輸出信息使其能夠正確地顯示搶答時間與搶答成功選手編號。
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é)
參考文獻
致 謝
附錄
搶答比賽是一個參賽者與觀眾都喜愛的富有激情的比賽,在主持人宣布開始答題后,選手要在規(guī)定的時間內(nèi),以搶答的方式來回答問題。過去,人們搶答比賽僅依靠主持人人為的判斷來判定到底哪個選手是最快搶答成功的,這種搶答方式不僅精準性低而且效率也不高,所以搶答比賽就需要有搶答器來進行輔助比賽,精準選出搶答成功的選手。
本次我們要設(shè)計的是一個8位競賽搶答器,可以同時供8名選手或8支隊伍比賽。搶答器要求能快速地鎖定搶答選手或隊伍的編號,搶答的信息要能迅速顯示在數(shù)碼管上,并且要能為主持人提供方便的比賽操作,可以靈活地進行比賽時間調(diào)節(jié)與操作比賽的開始與結(jié)束,保證整場比賽的公平性與靈活性?紤]到比賽運營的費用與投入的成本,搶答器整套系統(tǒng)的成本也不能太高,所選用芯片的價格要求要適中,這樣才能保證搶答器系統(tǒng)的價格在可以普遍應(yīng)用的范圍內(nèi)。
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)流程圖
8位競賽搶答器使用了AT89C52芯片和MAX7219芯片進行設(shè)計,AT89C52是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS,8位微處理器,俗稱單片機,用于搶答邏輯電路的設(shè)計。MAX7219是一種集成化的串行輸入/輸出共陰極顯示驅(qū)動器,它連接微處理器與8位數(shù)字的7段數(shù)字LED顯示,也可以連接條線圖顯示器或者64個獨立的LED,擁有10MHz連續(xù)串行口與獨立的LED段控制,用于顯示搶答成功選手編號顯示與搶答時間顯示。
系統(tǒng)的總體電路如下圖所示:
為了更好的設(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-1 主程序流程圖
程序Main函數(shù)
系統(tǒng)仿真時首先要在使用KeilC編譯器,把所寫的程序進行編譯,同時在仿真器里設(shè)置生成 hex 文件,編譯無錯誤時使用 Proteus軟件仿真。電路啟動仿真結(jié)果如下所示:
圖5-1 電路啟動仿真圖
點擊任意選手按鈕,倒計時暫停,顯示選手編號,仿真結(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 |
17.25 KB, 下載次數(shù): 192, 下載積分: 黑幣 -5
無
昊天浮夢 發(fā)表于 2018-12-19 23:02
根據(jù)文檔我畫了一幅簡單proteus圖,新手多見諒
米老鼠alan 發(fā)表于 2018-12-20 15:10
你好,源代碼包括hex文件,c文件等等有嗎?
米老鼠alan 發(fā)表于 2018-12-20 15:10
你好,源代碼包括hex文件,c文件等等有嗎?
徐徐8888 發(fā)表于 2019-1-3 01:03
你有hex文件嗎?
昊天浮夢 發(fā)表于 2018-12-26 09:19
有的,郵箱還是我直接掛上去。
wx1235 發(fā)表于 2019-4-18 14:58
求給個源程序。≈x謝大神。∴]箱:
昊天浮夢 發(fā)表于 2018-12-26 09:19
有的,郵箱還是我直接掛上去。
IMG_20190617_144401.jpg (799.01 KB, 下載次數(shù): 151)
1560778330651.jpg (1.18 MB, 下載次數(shù): 133)
Eyrane 發(fā)表于 2019-4-19 13:35
7SEG-MPX2-CC和7SEG-MPX2-CC有什么區(qū)別嗎?
昊天浮夢 發(fā)表于 2018-12-19 23:02
根據(jù)文檔我畫了一幅簡單proteus圖,新手多見諒
昊天浮夢 發(fā)表于 2018-12-19 23:02
根據(jù)文檔我畫了一幅簡單proteus圖,新手多見諒
ddya 發(fā)表于 2020-12-2 18:52
代碼沒有完全運行成功,倒計時數(shù)碼管始終常亮,求大神解答
Eyrane 發(fā)表于 2019-4-19 13:35
7SEG-MPX2-CC和7SEG-MPX2-CC有什么區(qū)別嗎?
昊天浮夢 發(fā)表于 2018-12-19 23:02
根據(jù)文檔我畫了一幅簡單proteus圖,新手多見諒
光、 發(fā)表于 2023-3-26 16:41
寫的很全面,根據(jù)PROTEUS圖,畫出的仿真圖能運行。
發(fā)表于 2019-4-19 13:35
7SEG-MPX2-CC和7SEG-MPX2-CC有什么區(qū)別嗎?
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |