![基于單片機(jī)的八路搶答器_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/85010106-c790-4c99-9018-bfc39b42741b/85010106-c790-4c99-9018-bfc39b42741b1.gif)
![基于單片機(jī)的八路搶答器_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/85010106-c790-4c99-9018-bfc39b42741b/85010106-c790-4c99-9018-bfc39b42741b2.gif)
![基于單片機(jī)的八路搶答器_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/85010106-c790-4c99-9018-bfc39b42741b/85010106-c790-4c99-9018-bfc39b42741b3.gif)
![基于單片機(jī)的八路搶答器_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/85010106-c790-4c99-9018-bfc39b42741b/85010106-c790-4c99-9018-bfc39b42741b4.gif)
![基于單片機(jī)的八路搶答器_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/85010106-c790-4c99-9018-bfc39b42741b/85010106-c790-4c99-9018-bfc39b42741b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、設(shè)計(jì)總說明錯(cuò)誤!未定義書簽。INTRODUCTION錯(cuò)誤!未定義書簽。第1章緒論21.1課題研究現(xiàn)狀21.2目的與意義21.3 課題研究的內(nèi)容3第2章 系統(tǒng)總體方案設(shè)計(jì)32.1設(shè)計(jì)要求32. 2方案選擇4第3章系統(tǒng)硬件設(shè)計(jì)53.1八路搶答器整體方案設(shè)計(jì)53. 1. 1系統(tǒng)概述53. 1.2系統(tǒng)框圖53.2最小系統(tǒng)模塊53. 2. 1 STC89C52簡介53. 2.2最小系統(tǒng)電路83.3鍵盤掃描電路93.4蜂鳴器報(bào)警電路103.5數(shù)碼管顯示模塊11第4章 系統(tǒng)軟件設(shè)計(jì)124.1總體程序設(shè)計(jì)124.2搶答/答題時(shí)間設(shè)置144.3數(shù)碼管動態(tài)掃描程序14第5章總結(jié)14參考文獻(xiàn)15附錄一:原理圖15附
2、錄二:元件清單16附錄三:C語言程序16基于單片機(jī)的八路搶答器第1章緒論1.1課題研究現(xiàn)狀隨著我國搶答器市場的迅猛發(fā)展,與之相關(guān)的核心生產(chǎn)技術(shù)應(yīng)用與研發(fā)必將成為業(yè) 內(nèi)企業(yè)關(guān)注的焦點(diǎn)。技術(shù)工藝,是衡量一個(gè)企業(yè)是否具有先進(jìn)性,是否具備市場競爭力, 是否能不斷領(lǐng)先于競爭者的重要指標(biāo)依據(jù)。了解國內(nèi)外搶答器生產(chǎn)核心技術(shù)的研發(fā)動 向、工藝設(shè)備、技術(shù)應(yīng)用及趨勢對于企業(yè)提升產(chǎn)品技術(shù)規(guī)格,提高市場競爭力十分關(guān)鍵。目前市場上搶答器種類繁多,功能各異,價(jià)格差異也很大。那么選擇一款真正適合 的搶答器就非常重要。搶答器一般分為電子搶答器和電腦搶答器。目前電子搶答器的中心構(gòu)造一般都是由 數(shù)字電子集成電路組成,其搭配的配件
3、不同乂分為,非語音非記分搶答器和語音記分搶 答器。非語音記分搶答器構(gòu)造很簡單,就是一個(gè)搶答器的主機(jī)和一個(gè)搶答按鈕組成,在 搶答過程中選手是沒有記分的顯示屏。語音記分搶答器是由一個(gè)搶答器的主機(jī)、主機(jī)的 顯示屏以及選手的記分顯示屏等構(gòu)成,具有記分等功能。電子搶答器多適用于學(xué)校和企 事業(yè)單位舉行的簡單的搶答活動。電腦搶答器乂分為無線電腦搶答器和有線電腦搶答 器。無線電腦搶答器是由主機(jī)和搶答器專用的軟件和無線按鈕構(gòu)成。無線電腦搶答器利 用電腦和投影儀,可以把搶答氣氛活躍起來,一般多使用于電臺等大型的活動。有線電 腦搶答器也是由主機(jī)和電腦配合起來,電腦再和投影儀配合起來,利用專門研發(fā)的配套 八路智能搶答
4、器的設(shè)計(jì)的搶答器軟件,可以十分完美的表現(xiàn)搶答的氣氛。搶答器作為一種電子產(chǎn)品,早己廣泛應(yīng)用于各種智力和知識競賽場合,但目前所使 用的搶答器有很多的缺點(diǎn),有的電路較復(fù)雜不便于制作,可靠性低,實(shí)現(xiàn)起來很困難; 有的則用一些專用的集成塊,而專用集成塊的購買乂很困難。而我所設(shè)計(jì)的八路智能搶 答器,具有元件普通,易于購買等優(yōu)點(diǎn),很好地解決了制作困難和難于購買的問題。在 國內(nèi)外己經(jīng)開始普遍應(yīng)用。1.2目的與意義在知識比賽中,特別是做搶答題目的時(shí)候,在搶答過程中,為了知道哪一組或哪一 位選手先答題,必須要設(shè)計(jì)一個(gè)系統(tǒng)來完成這個(gè)任務(wù)。如果在搶答中,靠視覺是很難判 斷出哪組先答題。怎樣來設(shè)計(jì)搶答器,能使以上問題得
5、以解決?即使兩組的搶答時(shí)間相 差幾微秒,也可分辨出哪組優(yōu)先答題?通過研究并在設(shè)計(jì)驗(yàn)證后發(fā)現(xiàn),采用單片機(jī)技術(shù) 設(shè)計(jì)的搶答器與傳統(tǒng)的搶答器相比,首先,電路連接簡單,因?yàn)榇蠖鄶?shù)功能單元都通過 程序設(shè)計(jì)在單片機(jī)內(nèi)部。第二,工作性能可靠,抗干擾能力優(yōu)于傳統(tǒng)搶答器,并能夠解 決以上提出的問題。所以本研究是一個(gè)實(shí)用的工程設(shè)計(jì),具有創(chuàng)新性。通過這次設(shè)計(jì),掌握51單片機(jī)的原理,了解簡單多功能搶答器組成原理,初步掌 握多功能搶答器的調(diào)整及測試方法,提高動手能力和排除故障的能力。同時(shí)通過本課題 設(shè)計(jì)與裝配、調(diào)試,提高自己的動手能力,鞏固已學(xué)的理論知識,建立單片機(jī)理論和實(shí) 踐的結(jié)合,了解多功能搶答器各單元電路之間的關(guān)
6、系及相互影響,從而能正確設(shè)計(jì)、計(jì) 算定時(shí)計(jì)數(shù)的各個(gè)單元電路。初步掌握多功能搶答器的調(diào)整及測試方法。提高動手能力 和排除故障的能力。1.3課題研究的內(nèi)容本系統(tǒng)采用模塊化設(shè)計(jì)智能搶答器,在搶答比賽中廣泛應(yīng)用,各組分別有一個(gè)搶答 按鈕。主持人有開始搶答鍵、復(fù)位鍵。并可根據(jù)具體情況,修改搶答時(shí)間和答題時(shí)間, 原始狀態(tài)下?lián)尨饡r(shí)間為30s,回答問題時(shí)間為15so通過加鍵和減鍵修改上述時(shí)間,改 完后斷電后重新上電即可。新時(shí)間開始有效,主持人按鍵開始后,選手開始搶答為有效, 數(shù)碼顯示屏顯示搶答時(shí)間倒計(jì)時(shí)和選手號,在最后五秒揚(yáng)聲器發(fā)生提示。如果主持人沒 有按下開始鍵而選手就搶答視為犯規(guī),數(shù)碼顯示屏顯示犯規(guī)者的代
7、號,揚(yáng)聲器持續(xù)發(fā)生。 主持人可按復(fù)位鍵,新一輪搶答開始。通過研究并在設(shè)計(jì)驗(yàn)證后發(fā)現(xiàn),采用單片機(jī)技術(shù)設(shè)計(jì)的搶答器與目前常用的搶答器 相比,首先,電路連接簡單,因?yàn)榇蠖鄶?shù)功能單元都通過程序設(shè)計(jì)在單片機(jī)內(nèi)部,第二, 工作性能可靠,抗干擾能力優(yōu)于目前搶答器。所以本研究是一個(gè)實(shí)用的工程設(shè)計(jì),具有 創(chuàng)新性。第2章系統(tǒng)總體方案設(shè)計(jì)2.1設(shè)計(jì)要求設(shè)計(jì)并制作一個(gè)功能穩(wěn)定,外觀簡潔的實(shí)用八路搶答器,基本的要求有:1)可同時(shí)提供最多包括8個(gè)人(組)的搶答數(shù)量。2)需由主持人按下開始搶答按鍵后才視為搶答時(shí)間,在這個(gè)時(shí)間前搶答的,視為違 規(guī)搶答,要求能顯示出違規(guī)搶答的選手編號。3)要求當(dāng)主持人按下開始搶答的按鍵后,數(shù)碼
8、管進(jìn)行搶答時(shí)間的倒計(jì)時(shí),在這個(gè)倒 計(jì)時(shí)結(jié)束后,若無人搶答,蜂鳴器報(bào)警,提示本輪搶答結(jié)束,且這個(gè)搶答時(shí)間可設(shè)置。4)要求具有搶答鎖定功能,即某一選手搶到后,其它選手的搶答功能被鎖定,無法 進(jìn)行搶答,直至下一輪搶答開始。5)對于搶到題目的選手,要求能顯示出該選手的編號,并將其答題時(shí)間進(jìn)行倒計(jì)時(shí) 顯示,在倒計(jì)時(shí)結(jié)束后,蜂鳴器報(bào)警,提示本次答題時(shí)間到,且這個(gè)搶答時(shí)間可設(shè)置。2.2方案選擇根據(jù)目前市場上搶答器的種類,搶答器的種類可以大體分為三種,以下我們對這三 種進(jìn)行詳細(xì)比較。方案一:搶答器系統(tǒng)的各部分均采用中小規(guī)模集成數(shù)字電路,利用硬件電子元器件 實(shí)現(xiàn),用機(jī)械開關(guān)按鈕作為控制開關(guān),完成搶答輸入信號的觸
9、發(fā)。如釆用74LS148優(yōu)先 編碼器來實(shí)現(xiàn)搶答功能等。該方案的特點(diǎn)是中小規(guī)模集成電路應(yīng)用技術(shù)成熟,性能可靠, 能方便地完成選手搶答的基本功能,沒有軟件的設(shè)計(jì)部分,不需要編程,但是電路結(jié)構(gòu) 復(fù)雜,調(diào)試?yán)щy,涉及到的外圍元器件很多,造成搶答器的成本較高,并且制作過程工 序比較煩瑣,不便于安裝與調(diào)試,給實(shí)際操作帶來很大的麻煩。方案二:系統(tǒng)設(shè)計(jì)主要基于可編程的PLC設(shè)計(jì),系統(tǒng)包括硬件和軟件兩大部分,依 據(jù)控制系統(tǒng)的工作原理和技術(shù)性能,將硬件和軟件分開設(shè)計(jì)。硬件設(shè)計(jì)部分包括電路原 理圖、合理選擇元器件、繪制線路圖,然后對硬件進(jìn)行調(diào)試、測試,以達(dá)到設(shè)計(jì)要求。 軟件設(shè)計(jì)部分,首先在總體設(shè)計(jì)中完成系統(tǒng)總框圖和
10、各模塊的功能設(shè)計(jì),選擇合適的編 程語言和工具,進(jìn)行代碼設(shè)計(jì)等;最后是對軟件進(jìn)行調(diào)試、測試,達(dá)到所需功能要求。方案三:系統(tǒng)采用STC89C52單片機(jī)作為控制核心,其片內(nèi)帶有SKflashROM, 128 的RAM,以及32根I/O 口線能滿足設(shè)計(jì)要求。該系統(tǒng)可以完成運(yùn)算控制、信號識別以及 顯示功能的實(shí)現(xiàn)。利用單片機(jī)程序判斷選手按鍵是否有效,但是選手違規(guī)搶答,利用簡 答程序顯示,啟動蜂鳴器報(bào)警,告訴主持人有人違規(guī)操作,搶答無效。給出相應(yīng)的延時(shí), 選手按正常的操作搶答,軟件倒計(jì)時(shí),利用數(shù)碼管的動態(tài)掃描,實(shí)現(xiàn)倒計(jì)時(shí)顯示時(shí)間, 到5秒相應(yīng)時(shí)間提醒選手時(shí)間快到了,要及時(shí)作答,并啟動蜂鳴器。由于用了單片機(jī),
11、 使其技術(shù)比較成熟,應(yīng)用起來方便、簡單并且單片機(jī)周圍的輔助電路也比較少,便于控 制和實(shí)現(xiàn)。整個(gè)系統(tǒng)具有極其靈活的可編程性,能方便地對系統(tǒng)進(jìn)行功能的擴(kuò)張和更改 性。方案比較分析:從第一個(gè)方案我們可以看出,這個(gè)搶答器是由搶答電路,定時(shí)電路, 報(bào)警電路,時(shí)序控制電路四個(gè)關(guān)鍵電路部分組成。擴(kuò)展電路是由秒鐘脈沖信號產(chǎn)生電路, 譯碼電路,顯示電路等,它的功能很齊全,設(shè)計(jì)的電路也很穩(wěn)定。但是它的造價(jià)卻很高, 僅僅是集成電路他就用了八個(gè),這個(gè)跟我們當(dāng)初的設(shè)計(jì)理念是相沖突的。我們要的是功 能齊全,但是造價(jià)比較低的設(shè)計(jì)。所以我們放棄這個(gè)方案。而方案二釆用可編程PLC設(shè) 計(jì)實(shí)現(xiàn)的搶答器,但該系統(tǒng)的投入成本過于高昂,
12、軟件編程過于繁瑣,對編程的語言學(xué) 握程度要求很高,而且其PLC在該領(lǐng)域的應(yīng)用很少,普通人對PLC的理解及堂握都不是 很深入,鑒于通用性和節(jié)省的原則,我們依然不釆用該方案。方案三釆用單片機(jī)為核心 器件,外圍電路釆用集成芯片,其可靠性好,結(jié)構(gòu)簡單,不但從性能上優(yōu)于方案一和方 案二,而且在使用上及其功能的實(shí)現(xiàn)上都較其他方案簡潔,并且由于單片機(jī)具有優(yōu)越的 高集成電路性,使其工作速度更快、效率更高。另外單片機(jī)釆用12MHz的晶振,提高了 信號的測量精度,并且使該系統(tǒng)可以通過軟件改進(jìn)來擴(kuò)張功能。該模式充分體現(xiàn)了原有 系統(tǒng)性能的改進(jìn),功能的擴(kuò)展及其他同類系統(tǒng)的不同之處,它包括硬件邏輯圖與軟件流 程圖,比較經(jīng)
13、濟(jì)實(shí)用,所以我們選用單片機(jī)的方案。第3章系統(tǒng)硬件設(shè)計(jì)3.1八路搶答器整體方案設(shè)計(jì)3.1.1系統(tǒng)概述整個(gè)系統(tǒng)以STC89C52單片機(jī)為核心器件,其它個(gè)模塊圍繞著單片機(jī)展開。輸入部 分包括2個(gè)內(nèi)容,一個(gè)是選手的搶答輸入,另一個(gè)是主持人的控制輸入,由于這兩個(gè)內(nèi) 容都是通過按鍵控制的,所以這里統(tǒng)一使用普通的輕觸開關(guān)作為本設(shè)計(jì)的輸入模塊,一 共包括8個(gè)選手輸入按鍵和2個(gè)主持人輸入按鍵。輸出部分則釆用蜂鳴器加四位共陽數(shù) 碼管進(jìn)行聲光的輸出,蜂鳴器主要起到報(bào)警的作用,這里主要有兒個(gè)需蜂鳴器發(fā)出報(bào)警 的地方,如最后5秒仍無人搶答、答題剩余最后5秒、搶答時(shí)間結(jié)束以及答題時(shí)間結(jié)束 等。而數(shù)碼管則主要用于信息的輸出
14、,包括當(dāng)主持人按下開始搶答按鍵后,顯示30秒 (默認(rèn))的倒計(jì)時(shí),當(dāng)有選手違規(guī)搶答時(shí),顯示違規(guī)選手的編號,有人搶到題目時(shí),顯 示選手編號以及該選手剩余的答題時(shí)間。3. 1.2系統(tǒng)框圖選手搶答輸入nSTC89C52 最小系統(tǒng)蜂鳴器報(bào)警模塊主持人控制輸入0|=數(shù)碼管顯示模塊3. 1對講機(jī)系統(tǒng)框圖3. 2最小系統(tǒng)模塊3. 2. 1 STC89C52 簡介(1)概述STC89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫 的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL 公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS
15、-51指令系統(tǒng),片內(nèi)置通用8位 中央處理器和Flash存儲單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng) 控制應(yīng)用場合。STC89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中 斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線。STC89C52 有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。(2)主要功能特性兼容MCS51指令系統(tǒng);8k可反復(fù)擦寫(1000次)Flash ROM;32個(gè)雙向I/O 口;256x8bit 內(nèi)部 RAM ;3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷;時(shí)鐘頻率0-24MHz;2個(gè)串行
16、中斷;可編程UART串行通道;2個(gè)外部中斷源;共8個(gè)中斷源;2個(gè)讀寫中斷口線;3級加密位;低功耗空閑和掉電模式;軟件設(shè)置睡眠和喚醒功能;(3)8051單片機(jī)的引腳功能MCS-51系列單片機(jī)一般釆用40個(gè)引腳,雙列直插式封裝,用HMOS工藝制造,其外 部引腳排列如圖3. 2所示。其中,各引腳的功能為:圖 3.2 STC89C52(1)主電源引腳Vcc (40腳),接+ 5V電源正端;Vss (20腳),接+5V電源地端;一般Vcc和Vss間應(yīng)接高頻去耦電容和低頻濾波電容。(2)外接晶體或外部振蕩器引腳XTAL1 (19腳),接外部晶振的一個(gè)引腳。在單片機(jī)內(nèi)部,它是一個(gè)反相放大器的 輸入端,這個(gè)放
17、大器構(gòu)成了片內(nèi)振蕩器OSC。當(dāng)釆用外部振蕩器時(shí),此引腳應(yīng)接地。XTAL2 (18腳),接外部晶振的另一個(gè)引腳。在片內(nèi)接至反相放大器的輸出端和內(nèi) 部時(shí)鐘電路的輸入端。當(dāng)采用外部振蕩器時(shí),此腳接外部振蕩器的輸出端。(3)控制信號線RST/VPD (9腳),復(fù)位信號輸入端,復(fù)位/掉電時(shí)內(nèi)部RAM的備用電源輸入端。ALE/ (30腳),地址鎖存允許/編程脈沖輸入,用ALE鎖存從P0 口輸出的低8位地 址;在對片內(nèi)EPROM編程時(shí),編程脈沖由此輸入。PSEN/ (29腳),外部程序存儲器讀選通信號,低電平有效。EAC31腳),訪問外部存儲器允許/編程電壓輸入。EA為高電平時(shí),訪問內(nèi)部存儲器; 低電平時(shí),
18、訪問外部存儲器。(4)多功能I/O 口引腳8051單片機(jī)設(shè)有4個(gè)雙向I/O 口(P0、Pl、P2、P3),每一組I/O 口線都可以獨(dú)立 地用作輸入或輸出口,其中:P0 口(3239腳)雙向口(三態(tài)),可作為輸入/輸出口,可驅(qū)動8個(gè)LSTTL 門電路。實(shí)際應(yīng)用中常作為分時(shí)使用的地址/數(shù)據(jù)總線口,對外部程序或數(shù)據(jù)存儲器尋 址時(shí)低8位地址與數(shù)據(jù)總線分時(shí)使用P0 口:先送低8位地址信號到P0 口,由地址鎖存 信號ALE的下降沿將地址信號鎖存到地址鎖存器后,再作為數(shù)據(jù)總線的口線對數(shù)據(jù)進(jìn)行 輸入或輸出。P1 口(18腳)準(zhǔn)雙向口(三態(tài)),可驅(qū)動4個(gè)LSTTL |1電路。用作輸入線時(shí), 口鎖存器必須由單片機(jī)
19、先寫入“1”,每一位都可編程為輸入或輸出線。P2 口(2128) 準(zhǔn)雙向口(三態(tài)),可驅(qū)動4個(gè)LSTTL門電路??勺鳛檩斎? 輸出口,實(shí)際應(yīng)用中一般作為地址總線的高8位,與P0 口一起組成16位地址總線,用 于對外部存儲器的接口電路進(jìn)行尋址。P3 口(1017腳)準(zhǔn)雙向口(三態(tài)),可驅(qū)動4個(gè)LSTTL門電路。雙功能口, 作為第一功能使用時(shí),與P1 口一樣;作為第二功能使用時(shí),每一位都有特定用途,其 特殊用途如表3.1所示:表3.1 P3 口第二用途端口引腳第二功能注釋P3. 0RXD串行口數(shù)據(jù)接收端P3. 1TXD串行口數(shù)據(jù)發(fā)送端P3. 2/INTO外中斷請求0P3. 3/INTI外中斷請求1
20、P3. 4TO定時(shí)/計(jì)數(shù)器0外部計(jì)數(shù)信號輸入P3. 5T1定時(shí)/計(jì)數(shù)器1外部計(jì)數(shù)信號輸入P3. 6/WR外部RAM寫選通信號輸出P3. 7/RD外部RAM讀選通信號輸出3.2.2最小系統(tǒng)電路STC89C52的最小系統(tǒng)如圖3. 3所示,整個(gè)最小系統(tǒng)由4個(gè)部分組成,晶振電路部分、 復(fù)位電路部分、P0 口上拉電路部分以及程序下載口部分。30pF的電容C4和C5,以及12M的晶振XI構(gòu)成了單片機(jī)的晶振電路,2個(gè)小電容的 作用是幫助XI起振。復(fù)位電路由10uF的極性電容C1和10K的電阻R2構(gòu)成,本復(fù)位電路包括上電自復(fù) 位和按鍵復(fù)位2個(gè)功能。由于STC89C52的P0 口是漏極開路輸出,而本設(shè)計(jì)是將P0
21、 口用作數(shù)碼管的數(shù)據(jù)口, 因此在P0 口接了一個(gè)10K的排阻,使得P0 口可以作為普通的I/O 口使用,最后,為了方便調(diào)試和下載,還把P30、P31、GND和VCC這4個(gè)引腳通過排針引出 來作為程序的下載口。圖33單片機(jī)最小系統(tǒng)3.3鍵盤掃描電路鍵盤是人與單片機(jī)打交道的主要設(shè)備。站在系統(tǒng)監(jiān)控軟件設(shè)計(jì)的立場上來看,僅僅 完成鍵盤掃描,讀取當(dāng)前時(shí)刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則, 人們在操作鍵盤就容易引起誤操作和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤用得最多的形 式是獨(dú)立鍵盤及矩陣鍵盤。它們各有自己的特點(diǎn),其中獨(dú)立鍵盤硬件電路簡單,而且在 程序設(shè)計(jì)上也不復(fù)雜,一般用在對硬件電路要求不
22、高的簡單電路中;矩陣鍵盤與獨(dú)立鍵 盤有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤復(fù)雜得多,而且在程序算法上比它要 煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除 在按鍵過程中產(chǎn)生的“毛刺”現(xiàn)象。這里采用最常用的方法,即延時(shí)重復(fù)掃描法,延時(shí) 法的原理為:因?yàn)椤懊獭泵}沖一般持續(xù)時(shí)間短,約為兒ms,而我們按鍵的時(shí)間一般遠(yuǎn) 遠(yuǎn)大于這個(gè)時(shí)間,所以當(dāng)單片機(jī)檢測到有按鍵動靜后再延時(shí)一段時(shí)間后再判斷此電平是 否保持原狀態(tài),如果是則為有效按鍵,否則無效。本設(shè)計(jì)中釆用了獨(dú)立鍵盤的方式,本設(shè)計(jì)中有8個(gè)搶答按鍵輸入,一個(gè)復(fù)位按鍵以 及一個(gè)主持人使用的開始搶答按鍵,同時(shí)為了簡化電路設(shè)計(jì),節(jié)
23、約單片機(jī)的10 口資源, 將設(shè)置搶答時(shí)間和答題時(shí)間等這些功能按鍵復(fù)合到了 8個(gè)選手的搶答按鍵中。按鍵的連接圖3. 4所示:圖3.4按鍵電路3.4蜂鳴器報(bào)警電路由于蜂鳴器工作時(shí),需要的電流比較大,單片機(jī)的IO 口輸出的電流乂比較小,所 以這里利用三極管的開關(guān)管功能來控制蜂鳴器發(fā)音,本設(shè)計(jì)選用的三極管型號是PNP 三極管S8550,而且本設(shè)計(jì)選用的蜂鳴器屬于有源蜂鳴器,即在蜂鳴器內(nèi)部已經(jīng)內(nèi)置了 震蕩電路,單片機(jī)無需連續(xù)發(fā)出高低電平來驅(qū)動它,而只要輸出高(或低)電平即可, 這大大簡化了單片機(jī)程序的設(shè)計(jì),由于選用的是PNP型而單片機(jī)上電10 口默認(rèn)是高電 平的,所以上電時(shí)蜂鳴器是不會發(fā)出鳴叫的。蜂鳴器
24、電路如圖3.5所示。圖3. 5蜂鳴器電路3. 5數(shù)碼管顯示模塊顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供 盡可能豐富的信息,全靠軟件來解決。在這里我們使用的是七段數(shù)碼管顯示,通常在顯 示上我們釆用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動態(tài)顯示。其中靜態(tài)顯示 的特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫簡單,但占用端口資源多;動態(tài)顯示的特點(diǎn)是顯示 穩(wěn)定性沒靜態(tài)好,程序編寫復(fù)雜,但是相對靜態(tài)顯示而言占用端口資源少。在本設(shè)計(jì)中 根據(jù)實(shí)際情況釆用的是動態(tài)顯示方法。數(shù)碼管還分共陽型和共陰型,本設(shè)計(jì)采用的是4位共陽數(shù)碼管。通過查表法,將其 在數(shù)碼管上顯示出來,其中P0 口為字型碼輸入
25、端,P2 口低4位為字選段輸入端。在這 里我們通過查表將字型碼送給7段數(shù)碼管顯示的數(shù)字,4位七段數(shù)碼管顯示電路如圖3. 6 所示。其中A、B、C、D、E、F、G、DP段分別接到單片機(jī)的P0 口,由單片機(jī)輸出的P0 口數(shù)據(jù)來決定段碼值,位選碼Wl、W2、W3、W4分別接到單片機(jī)的P2P、P2J、P22以 及P23上,由單片機(jī)來決定當(dāng)前該顯示的是哪一位。由于單片機(jī)的10 口驅(qū)動電流不夠,這里還使用了 4個(gè)NPN的三極管S8050作為開 關(guān)管,來驅(qū)動數(shù)碼管的位選。El. El. El B.圖3. 6數(shù)碼管顯示電路第4章系統(tǒng)軟件設(shè)計(jì)4. 1總體程序設(shè)計(jì)八路搶答器的整體程序流程圖如圖4.1所示,程序從定
26、時(shí)器的初始化開始,這里 用到了單片機(jī)的2個(gè)定時(shí)器,1個(gè)用于數(shù)碼管的動態(tài)掃描,另一個(gè)用于答題時(shí)間的計(jì)時(shí)。 接著程序開始判斷是否進(jìn)入搶答時(shí)間設(shè)置,如果有則進(jìn)入搶答時(shí)間設(shè)置模式,沒有則繼 續(xù)判斷是否進(jìn)入答題時(shí)間設(shè)置,如果有則進(jìn)入答題時(shí)間設(shè)置模式,沒有則跳出,進(jìn)入主 程序的大循環(huán)。進(jìn)入大循環(huán)之后,就掃描是否有按鍵按下,有的話就判斷是哪個(gè)按鍵,如果是主持 人按下了開始搶答按鍵,則進(jìn)入搶答模式,如果是選手按下了搶答減,則蜂鳴器報(bào)警, 此時(shí)有選手違規(guī)搶答(即在主持人按下開始搶答按鍵前就搶答了),同時(shí)將違規(guī)選手的 編號顯示在數(shù)碼管上,直至主持人按下復(fù)位鍵,則清除報(bào)警狀態(tài)。如果一直沒檢測到按 鍵按下,則一直在大
27、循環(huán)里面掃描按鍵。進(jìn)入搶答模式后,數(shù)碼管開始將搶答時(shí)間倒計(jì)時(shí)并顯示在數(shù)碼管上,如果在搶答時(shí) 間內(nèi)無人搶答,則在最后5秒發(fā)出滴滴上的報(bào)警,并且5秒結(jié)束后,蜂鳴器一直鳴叫, 表示此輪搶答結(jié)束,并且數(shù)碼管顯示“一一”,直至主持人按下復(fù)位鍵退出報(bào)警。如果 在搶答時(shí)間內(nèi)有選手搶答題目時(shí),則在數(shù)碼管將選手的編號顯示出來,并顯示答題時(shí)間 的倒計(jì)時(shí),同搶答時(shí)間一樣,在最后5秒會發(fā)出滴滴的報(bào)警聲,答題時(shí)間結(jié)束后,蜂鳴 器也會一直鳴叫,表示此輪搶答結(jié)束,直至主持人按下復(fù)位鍵退出報(bào)警。發(fā)出警報(bào)圖4.1八路搶答器程序流程圖4.2搶答/答題時(shí)間設(shè)置為了簡化搶答器的硬件電路,所以將搶答時(shí)間和答題時(shí)間的設(shè)置按鍵和搶答鍵合并
28、 到了一起。如需設(shè)置搶答時(shí)間時(shí),操作是這樣的,先斷開搶答器的電源,然后按下按鍵 一(選手一的搶答鍵),然后上電,系統(tǒng)上電檢測到按鍵一被按下了,那么就進(jìn)入到搶 答時(shí)間的設(shè)置,通過按鍵七(減)和按鍵八(加)來設(shè)置答題時(shí)間的大小。答題時(shí)間的 設(shè)置也基本類似,只不過是在上電前按下按鍵二而己。4. 3數(shù)碼管動態(tài)掃描程序?yàn)榱撕喕绦?,合理利用單片機(jī)的內(nèi)部資源,所以將數(shù)碼管的動態(tài)掃描程序通過定 時(shí)器來實(shí)現(xiàn)。本設(shè)計(jì)設(shè)置的定時(shí)器發(fā)生中斷的時(shí)間為2毫秒,每次顯示四位中的一位, 因此,完成四位數(shù)碼管的掃描需要8毫秒的時(shí)間,即發(fā)生四次定時(shí)器中斷。第5章總結(jié)本文研究設(shè)計(jì)的八路搶答器釆用了通用的電子元器件,利用STC89
29、C52單片機(jī)及外 圍接口實(shí)現(xiàn)強(qiáng)大系統(tǒng),利用單片機(jī)的定時(shí)器、計(jì)數(shù)器定時(shí)和計(jì)數(shù)的原理,將軟硬件有機(jī) 的結(jié)合起來。理論聯(lián)系實(shí)踐,體現(xiàn)出大學(xué)生的動手能力。通過查資料和收集有關(guān)的文獻(xiàn), 培養(yǎng)了自學(xué)能力和動手能力。并且有原先的被動接受只是轉(zhuǎn)換為主動尋求知識,這可以 說是學(xué)習(xí)方法上的一個(gè)很大突破。在以往的傳統(tǒng)學(xué)習(xí)模式下,我們可能會記住很多書本 知識,但是通過畢業(yè)設(shè)計(jì),我們學(xué)會了如何將學(xué)到的知識化為自己的東西,學(xué)會了怎么 更好的處理知識和實(shí)踐相結(jié)合的問題,把握重點(diǎn),攻克難關(guān),學(xué)到用到活學(xué)活用。在設(shè) 計(jì)過程中由于時(shí)間倉促有很多地方難免存在不足之處,但在以后的工作中,我們會嚴(yán)格 要求自己最求完美。在這次畢業(yè)設(shè)計(jì)中
30、,我最想感謝的就是我的指導(dǎo)老師。從我確定課題之后,老師就 開始悉心指導(dǎo)我。整個(gè)過程多次詢問我的進(jìn)度和遇到的問題,積極引導(dǎo)我如何解決問題, 幫我開拓思路。老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)?shù)那髮?shí)態(tài)度,不進(jìn)只是傳授我知識那么簡單, 更加讓我懂得了做人的道理。所以在完成畢業(yè)設(shè)計(jì)之余,不得不感謝我的指導(dǎo)老師。參考文獻(xiàn)LI蘇平.單片機(jī)的原理與接口技術(shù)M.北京:電子工業(yè)出版社,2006.2王忠民.微型計(jì)算機(jī)原理M.西安:西安科技大學(xué)出版,20033紀(jì)宗南.單片機(jī)外圍器件使用手冊M.北京:北京航空航天大學(xué)出版社.4余永權(quán).單片機(jī)在控制系統(tǒng)中的應(yīng)用M.北京:電子工業(yè)出版社5周潤景.張麗娜.基于PROTEUS的電路及單片
31、機(jī)系統(tǒng)設(shè)計(jì)與仿真M. 北京:航空航天大學(xué)出版社6唐俊翟.單片機(jī)原理與應(yīng)用M.北京:冶金工業(yè)出版社.252-2677康華光.電子技術(shù)基礎(chǔ).數(shù)字部分(第四版)M.高等教育出版社.2003附錄一:原理圖7:力4遼7T.X3 XT心 XT心GOVCU益寰SSA蠱二蕓七::edJJ附圖1對講機(jī)原理圖附錄二:元件清單STC89C521片12M晶振1個(gè)30pF獨(dú)石電容2個(gè)電解電容10uF1個(gè)電阻IK1個(gè)電阻1OK1個(gè)排阻1OK1片紅色led1個(gè)輕觸按鍵10個(gè)4位共陽數(shù)碼管1個(gè)電源開關(guān)1個(gè)DC5.5電源座/電池盒1個(gè)排針(用于下載程序)4針有源蜂鳴器1個(gè)PNP三極管85501個(gè)NPN三極管80504個(gè)40腳I
32、C座1個(gè)洞洞板(萬用板)1張電源線(若用電池盒供電則沒 有)1根附錄三:C語言程序ttinclude ttinclude ttdefine uchar unsigned char ftdefine uint unsigned intsfr ISP_DATA 二0xe2;sfr ISP_ADDRH 二 0xe3;sfrISP.ADDRL 二0xe4;sfrISP_CMD =0xe5;sfrISP._TRIG =0xe6;sfrISP._CONTR =0xe7;sbitwl=P23;sbitw2=P22/ sbitw3=P21sbitw4=P2”0;sbitkl=pro;sbitk2 =pri;s
33、bitk4=P3;sbitk5=P14sbitk7=P6;sbitk8=P17sbitk9 =P37;sbitbp=P26/UcharcodeShowDig = OxcO, 0xf9, 0xa4, OxbO, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0x8& 0x83, Oxc 6, Oxal, 0x86, 0x8e, Oxbf, Oxff;uchar dig4;char gWaitTime, gAnswerTime; void ISP_Disable ()char gCount,gSecond;ISP_C0NTR 二 0ISP_ADDRH = 0ISP_ADD
34、RL = 0 unsigned char Byte_Read(unsigned int add)ISP_DATAISP_C0NTR ISP_CMDISP_ADDRHISP_ADDRLISP_TRIG0x000x830x01;(unsigned char)(add8); (unsigned char)(add&0xff); 0x46;ISP.TRIG 二 0xB9;_nop_();ISP.DisableO ;return (ISP_DATA);void Byte_Program(unsigned int add, unsigned char ch)ISP_CONTR0x83;ISP_CMD0x0
35、2;ISP_ADDRH(unsigned char)(add8);ISP_ADDRL(unsigned char)(add&0xff);ISP_DATAch;ISP_TRIG0x46;ISP_TRIG0xB9;_nop_ ();ISP.DisableO ;void Sector_Erase(unsigned int add) /ISP_CONTR ISP_CMD ISP_ADDRH ISP_ADDRL ISP_TRIG ISP_TRIG _nop_ ();0x83;0x03;(unsigned char)(add8);(unsigned char)(add&0xff); 0x46;0xB9;I
36、SP_Disable();THO 二(65536-1000)/256;TLO(65536-1000)%256;TH1 二(65536-50000)/256;TL1(65536-50000)%256;TRO 二 1;ETl = 1;void WaitTimeSet(void) if(kl=O)dig0=ShowDig14;dig 1 =ShowDig 14; dig2=ShowDig14; dig3=ShowDig14; while (!kl);ETO = 1;EA 二 1;DelayMs(500);digl=ShowDig17; dig2=ShowDiggWaitTime/10;while (
37、kl)if(k8=0)DelayMs(250);dig3=ShowDiggWaitT ime%10;gWaitTime+;if(gWaitTime=100)/當(dāng)自加到100時(shí),自動清零gWaitTime=0;Sector_Erase(0x2000);必須先擦除)一Byte_Program(0x2000, gWaitTime); 到內(nèi)部EEPROM的0x2000這個(gè)地址Byte_Program(0x2001, gAnswerTime);EEPROM的0x2001這個(gè)地址dig2 =ShowDiggWaitTime/10;位)/擦除內(nèi)部EEPROMC寫入之前/將新設(shè)置的等待時(shí)間寫入/將答題時(shí)間寫入
38、到內(nèi)部/更新數(shù)碼管的秒數(shù)顯式(十dig3=ShowDiggWaitTime%10;/更新數(shù)碼管的秒數(shù)顯式(個(gè)void DelayMs(uint n)uint x, y;for (x=n;x0;x-)for (y=110;y0;y); void TimerInit()位)TMOD 二 Oxll;if (k7=0)/判斷“減”按鍵是否被按下DelayMs(250) ;/利用延時(shí)去抖gWaitTime-;/當(dāng)前要設(shè)置的秒數(shù)自減199if(gWaitTime=-l)/當(dāng)自減到-1時(shí),自動變成gWaitTime=99;Sector_Erase(0x2000);/擦除內(nèi)部EEPR0M(寫入之前必須先擦除)
39、Byte_Program(0x2000, gWaitTime);/將新設(shè)置的等待時(shí)間寫入到內(nèi)部EEPROM的0x2000這個(gè)地址Byte_Program(0x2001, gAnswerTime);/將答題時(shí)間寫入到內(nèi)部EEPR0M的0x2001這個(gè)地址dig2=ShowDiggWaitTime/10;/更新數(shù)碼管的秒數(shù)顯式(十位)dig3=ShowDiggWaitTime%10;/更新數(shù)碼管的秒數(shù)顯式(個(gè)位)while (!kl);DelayMs(500);void AnswerTimeSet(void)if(k2=0)/數(shù)碼管顯示“FFFF”dig0=ShowDig15;digl=ShowD
40、ig15;dig2=ShowDig15;dig3=ShowDig15;DelayMs(500);gAnswerTime+;while (!k2);/利用延時(shí)去抖 digl=ShowDig17;dig2=ShowDiggAnswerTime/10; dig3=ShowDiggAnswerTime%10; while (k2) if(k8=0)DelayMs(250);if(gAnswerT ime=100)gAnswerTime=0;/擦除內(nèi)部EEPROMC寫入之前/將等待時(shí)間寫入到內(nèi)部/將新設(shè)置的答題時(shí)間寫入/更新數(shù)碼管的秒數(shù)顯式(十/更新數(shù)碼管的秒數(shù)顯式(個(gè)Sector_Erase(0x20
41、00);必須先擦除)一Byte_Program(0x2000, gWaitTime);EEPROM的0x2000這個(gè)地址Byte_Program(0x2001, gAnswerTime);到內(nèi)部EEPROM的0x2001這個(gè)地址dig2=ShowDiggAnswerTime/10;位)dig3=ShowDig rgAnswerTime%10;位) if(k7=0)/判斷“減”按鍵是否被按下DelayMs(250); gAnswerTime一-; if (gAnswerTime 二二 T)/擦除內(nèi)部EEPROMC寫入之前/將等待時(shí)間寫入到內(nèi)部/將新設(shè)置的答題時(shí)間寫入/更新數(shù)碼管的秒數(shù)顯式(十/更
42、新數(shù)碼管的秒數(shù)顯式(個(gè)DelayMs(500);/利用延時(shí)去抖/當(dāng)前要設(shè)置的秒數(shù)自減1 /當(dāng)自減到-1時(shí),自動變成99gAnswerTime二99;Sector_Erase(0x2000);必須先擦除)一Byte_Program(0x2000, gWaitTime);EEPROM的0x2000這個(gè)地址Byte_Program(0x2001, gAnswerTime);到內(nèi)部EEPROM的0x2001這個(gè)地址dig2=ShowDiggAnswerTime/10;位)dig3=ShowDiggAnswerTime%10;位)while (!k2);uchar KeyScanf(void)if(kl=O)return1if(k2=0)return 2:if(k3=O)return3if(k4=0)return4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代醫(yī)療用品的冷鏈物流管理策略
- 現(xiàn)代農(nóng)業(yè)技術(shù)推廣與農(nóng)業(yè)可持續(xù)發(fā)展
- 媽媽班活動方案國慶節(jié)
- 2023八年級物理上冊 第二章 物質(zhì)世界的尺度、質(zhì)量和密度第二節(jié) 物體的質(zhì)量及其測量說課稿 (新版)北師大版
- 4《同學(xué)相伴》第一課時(shí) 說課稿-2023-2024學(xué)年道德與法治三年級下冊統(tǒng)編版
- 《6~9的加減法-用減法解決問題》說課稿-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版001
- 1少讓父母為我擔(dān)心(說課稿)-統(tǒng)編版(五四制)道德與法治四年級上冊
- 2024-2025學(xué)年高中物理 第四章 勻速圓周運(yùn)動 第3節(jié) 向心力的實(shí)例分析說課稿 魯科版必修2
- Unit3《It's a colourful world!》(說課稿)-2024-2025學(xué)年外研版(三起)(2024)英語三年級上冊(2課時(shí))
- Unit 4 I have a pen pal Part B Let's learn(說課稿)-2023-2024學(xué)年人教PEP版英語六年級上冊
- (二模)遵義市2025屆高三年級第二次適應(yīng)性考試試卷 地理試卷(含答案)
- 二零二五隱名股東合作協(xié)議書及公司股權(quán)代持及回購協(xié)議
- 浙江省湖州是吳興區(qū)2024年中考語文二模試卷附參考答案
- 風(fēng)電設(shè)備安裝施工專項(xiàng)安全措施
- IQC培訓(xùn)課件教學(xué)課件
- 2025年計(jì)算機(jī)二級WPS考試題目
- 高管績效考核全案
- 2024年上海市中考英語試題和答案
- 教育部《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》知識培訓(xùn)
- 長沙醫(yī)學(xué)院《無機(jī)化學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- eras婦科腫瘤圍手術(shù)期管理指南解讀
評論
0/150
提交評論