1前 沿設(shè)計(jì)目的及意義
對(duì)于搶答器我們大家來說都不陌生,它是用于很多競賽場合,真正實(shí)現(xiàn)先搶先答,讓最先搶到題的選手來回答問題。搶答器不僅考驗(yàn)選手的反應(yīng)速度同時(shí)也要求選手具備足夠的知識(shí)面和一定的勇氣。選手們都站在同一個(gè)起跑線上,體現(xiàn)了公平公正的原則。
設(shè)計(jì)內(nèi)容
基本要求:
給主持人設(shè)置一個(gè)開關(guān),用來控制系統(tǒng)的重啟(編號(hào)顯示數(shù)碼管重置初始時(shí)間)和搶答器的倒計(jì)時(shí)開始。
搶答器顯示和倒計(jì)時(shí)的功能。搶答開始后,若有選手按動(dòng)搶答器按鈕,編號(hào)立即鎖存,并在LED數(shù)碼上顯示選手的編號(hào),同時(shí)揚(yáng)聲器給出音響提示。此外,要封鎖輸入電路,禁止其他選手搶答。
發(fā)揮部分:
搶答器具有定時(shí)搶答的功能,且一次搶答的時(shí)間可以由主持人設(shè)定(如9秒)。當(dāng)節(jié)目主持人啟動(dòng)“開始”鍵后,要求定時(shí)器立即減計(jì)時(shí),并用顯示器顯示。
參加選手在設(shè)定的時(shí)間內(nèi)搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號(hào),并保持到主持人將系統(tǒng)清零為止。
如果定時(shí)搶答的時(shí)間已到,卻沒有選手搶答時(shí),本次搶答無效,系統(tǒng)自動(dòng)回復(fù)到初始倒計(jì)時(shí)時(shí)間,并封鎖輸入電路,禁止選手超時(shí)后搶答。
2 硬件電路設(shè)計(jì)單片機(jī)芯片的選擇
單片機(jī)選用的是Atmel公司推出的AT89C52,它是一種低功效、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。在單芯片上擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash,使得AT89C52具有以下標(biāo)準(zhǔn)功能:8K字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路?臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器串口、中斷繼續(xù)工作。掉電保護(hù)方式下RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。而且,它還具有一個(gè)看門狗(WDT)定時(shí)/計(jì)數(shù)器。如果程序沒有正常工作,就會(huì)強(qiáng)制整個(gè)系統(tǒng)復(fù)位,還可以在程序陷入死循環(huán)的時(shí)候,讓單片機(jī)復(fù)位而不用整個(gè)系統(tǒng)斷電,從而保護(hù)你的硬件電路。T89S52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中端口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。
單片機(jī)管腳說明:

圖1 AT89C52
表1
| |
| |
| 數(shù)碼管,用顯示搶答號(hào)數(shù) |
| INT0(外部中斷0輸入),用于倒計(jì)時(shí) |
| |
| |
| |
| |
| |
2.1 硬件電路模塊設(shè)計(jì)
(1) 振蕩電路
一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號(hào),其振蕩頻率為11.0592HZ。電路中兩個(gè)電容 C1,C2的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào),C1,C2的典型值為33PF。其電路如圖2所示。
圖2 振蕩電路
(2) 復(fù)位電路設(shè)計(jì)
單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖3所示:
圖3 復(fù)位電路
在方案中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù)位可使寄存器及存儲(chǔ)器的值都恢復(fù)到初始值,而前面的功能提到了倒計(jì)時(shí)間需要有記憶功能,該功能實(shí)現(xiàn)的前提條件就是不能對(duì)單片機(jī)進(jìn)行硬件復(fù)位,所以設(shè)定了軟復(fù)位功能。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。
(3)顯示電路的設(shè)計(jì)
在方案中使用到了倒計(jì)時(shí)數(shù)碼顯示管,選手對(duì)應(yīng)發(fā)光二極管與數(shù)碼顯示管。
其中數(shù)碼顯示管是屬于共陽極的,由低電平點(diǎn)亮。其電路圖如圖4所示。
圖4 顯示電路
(4)報(bào)警電路的設(shè)計(jì)
這里能利用程序來控制單片機(jī)P1.0口線反復(fù)輸出高電平或低電平,即在該口線上產(chǎn)生一定頻率的矩形波,接上揚(yáng)聲器就能發(fā)出一定頻率的聲音,再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使揚(yáng)聲器發(fā)出不同的聲音。
圖5 報(bào)警電路
(5) 總體設(shè)計(jì)
圖6 總體設(shè)計(jì)
3 系統(tǒng)軟件設(shè)計(jì)軟件設(shè)計(jì)流程
流程圖是使用圖形表示算法的思路是一種極好的方法,不論采用何種程序設(shè)計(jì)方法,程序總體結(jié)構(gòu)確定后,一般以程序流程圖的形式對(duì)其進(jìn)行描述。總體框圖中的各個(gè)子模塊或各個(gè)子任務(wù)也應(yīng)該結(jié)合具體的教學(xué)模型和算法畫出較詳細(xì)的程序流程圖,供后面編寫具體程序和閱讀程序使用。
流程圖是由一些圖框和流程線組成的,其中圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。流程圖的基本結(jié)構(gòu)為順序結(jié)構(gòu),分支結(jié)構(gòu)(又稱選擇結(jié)構(gòu)),循環(huán)結(jié)構(gòu)。為便于識(shí)別,繪制流程圖的習(xí)慣做法是:
方框表示:要執(zhí)行的處理(Process)
平行四邊型表示:代表資料輸入(Input)
不規(guī)則圖形代表資料輸出(Output)或報(bào)表輸出(Print)
菱形表示:決策或判斷(例如:If...Then...Else)
跟據(jù)設(shè)計(jì)要求,初步擬定總體設(shè)計(jì)框圖如圖7所示:

圖7
4 系統(tǒng)調(diào)試與仿真系統(tǒng)硬件仿真電路圖
圖8系統(tǒng)硬件仿真電路圖
仿真效果圖
圖9仿真效果圖
5 元件清單表2 元件清單
6 設(shè)計(jì)體會(huì)我在這一次搶答器的設(shè)計(jì)過程中,很是受益匪淺。通過對(duì)自己在這一學(xué)期時(shí)間里所學(xué)的知識(shí)的回顧,并充分發(fā)揮對(duì)所學(xué)知識(shí)的理解和對(duì)設(shè)計(jì)的思考及書面表達(dá)能力,最終完成了。這為自己今后進(jìn)一步深化學(xué)習(xí),積累了一定寶貴的經(jīng)驗(yàn)。撰寫論文的過程也是專業(yè)知識(shí)的學(xué)習(xí)過程,它使我運(yùn)用已有的專業(yè)基礎(chǔ)知識(shí),對(duì)其進(jìn)行設(shè)計(jì),分析和解決一個(gè)理論問題或?qū)嶋H問題,把知識(shí)轉(zhuǎn)化為能力的實(shí)際訓(xùn)練。培養(yǎng)了我運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的能力。
通過這次課程設(shè)計(jì)我發(fā)現(xiàn),只有理論水平提高了;才能夠?qū)⒄n本知識(shí)與實(shí)踐相整合,理論知識(shí)服務(wù)于教學(xué)實(shí)踐,以增強(qiáng)自己的動(dòng)手能力。這個(gè)實(shí)驗(yàn)十分有意義 我獲得很深刻的經(jīng)驗(yàn)。通過這次課程設(shè)計(jì),我們知道了理論和實(shí)際的距離,也知道了理論和實(shí)際想結(jié)合的重要性,,也從中得知了很多書本上無法得知的知識(shí)。
我們的學(xué)習(xí)不但要立足于書本,以解決理論和實(shí)際教學(xué)中的實(shí)際問題為目的,還要以實(shí)踐相結(jié)合,理論問題即實(shí)踐課題,解決問題即課程研究,學(xué)生自己就是一個(gè)專家,通過自己的手來解決問題比用腦子解決問題更加深刻。學(xué)習(xí)就應(yīng)該采取理論與實(shí)踐結(jié)合的方式,理論的問題,也就是實(shí)踐性的課題。這種做法既有助于完成理論知識(shí)的鞏固,又有助于帶動(dòng)實(shí)踐,解決實(shí)際問題,加強(qiáng)我們的動(dòng)手能力和解決問題的能力。
參考文獻(xiàn)[1]單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo),李光飛,北京航天航空大學(xué)出版社,2004
[2]單片機(jī)原理及接口技術(shù)(第3版),李朝青,北京航空航天大學(xué)出版社,2002
[3]單片機(jī)C程序設(shè)計(jì)及應(yīng)用實(shí)例,胡偉,人民郵電出版社,2003
[4]單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)例指導(dǎo),馮育長,西安電子科技大學(xué)出版社,2007
[5]電子電路及電子器件, 郭培源, 高等教育出版社.,2003
[6]數(shù)字電子技術(shù). 楊志忠, 高等教育出版社,2002