基于51單片機(jī)的多路數(shù)字定時(shí)搶答器設(shè)計(jì)(共28頁)_第1頁
基于51單片機(jī)的多路數(shù)字定時(shí)搶答器設(shè)計(jì)(共28頁)_第2頁
基于51單片機(jī)的多路數(shù)字定時(shí)搶答器設(shè)計(jì)(共28頁)_第3頁
基于51單片機(jī)的多路數(shù)字定時(shí)搶答器設(shè)計(jì)(共28頁)_第4頁
基于51單片機(jī)的多路數(shù)字定時(shí)搶答器設(shè)計(jì)(共28頁)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上學(xué) 號: 課 程 設(shè) 計(jì)題 目多路數(shù)字定時(shí)搶答器設(shè)計(jì)學(xué) 院專 業(yè)班 級姓 名指導(dǎo)教師年月日課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級: 指導(dǎo)教師: 工作單位: 題 目: 多路數(shù)字定時(shí)搶答器設(shè)計(jì)初始條件:已知條件 本課程設(shè)計(jì),要求用集成電路:74LSl48,74LS279,74LS48,74LSl92,NE555,74LS00,74LSl21和其它器件等,實(shí)現(xiàn)八路定時(shí)搶答功能。用蜂鳴器作聲電器件,工作電源Vcc為+5V。 要求完成的主要任務(wù): (1)設(shè)計(jì)任務(wù)根據(jù)已知條件,完成對多路數(shù)字定時(shí)搶答器的設(shè)計(jì)、裝配與調(diào)試。(2)設(shè)計(jì)要求 可同時(shí)供8名選手(或代表隊(duì))參賽,其編號分別是0

2、到7,各用一個(gè)搶答按鈕,按鈕的編號與選手的編號相對應(yīng)。給節(jié)目主持人設(shè)置一個(gè)控制開關(guān),用來控制系統(tǒng)的清零(編號顯示數(shù)碼管滅燈)和搶答的開始。 搶答器具有數(shù)據(jù)鎖存和顯示的功能。搶答開始后,若有選手按動(dòng)搶答按鈕,編號立即鎖存,并在LED數(shù)碼管上顯示出選手的編號,同時(shí)揚(yáng)聲器給出音響提示。此外,要封鎖輸入電路,禁止其它選手搶答。優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清零為止。 搶答器具有定時(shí)搶答的功能,且一次搶答的時(shí)間可以由主持人設(shè)定(如30秒)。當(dāng)節(jié)目主持人啟動(dòng)“開始”鍵后,要求定時(shí)器立即進(jìn)行減計(jì)時(shí),并用顯示器進(jìn)行顯示,同時(shí)揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)時(shí)間05秒左右。 參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶

3、答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號和搶答時(shí)刻的時(shí)間,并保持到主持人將系統(tǒng)清零為止。 如果定時(shí)搶答的時(shí)間已到,卻沒有選手搶答時(shí),本次搶答無效,系統(tǒng)進(jìn)行短暫的報(bào)警,并封鎖輸入電路,禁止選手超時(shí)后搶答,定時(shí)顯示器上顯示00。 畫出總體電路原理圖。(選做:用EWB軟件完成仿真)。按規(guī)定格式寫出課程設(shè)計(jì)報(bào)告書。時(shí)間安排:1、 年 月 日集中,作課設(shè)具體實(shí)施計(jì)劃與課程設(shè)計(jì)報(bào)告格式的要求說明。2、 年 月 日,查閱相關(guān)資料,學(xué)習(xí)電路的工作原理。2、 年 月 日 至 年 月 日,方案選擇和電路設(shè)計(jì)。2、 年 月 日 至 年 月 日,電路調(diào)試和設(shè)計(jì)說明書撰寫。3、 年 月 日上交課程設(shè)計(jì)成果及

4、報(bào)告,同時(shí)進(jìn)行答辯。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日摘要搶答器作為一種工具,已經(jīng)廣泛應(yīng)用于各種智力和知識競賽場合。本設(shè)計(jì)以八路智力競賽搶答器為基本概念,從實(shí)際應(yīng)用出發(fā),用STC89C52和74HC573設(shè)計(jì)具有擴(kuò)充功能的搶答器。八路搶答器由主體電路和擴(kuò)展電路組成。主體電路由搶答電路和驅(qū)動(dòng)電路以及控制電路組成:擴(kuò)展電路主要由報(bào)警電路和顯示電路組成。電路經(jīng)過布線、焊接、調(diào)試等工作后搶答器成形。單片機(jī)體積小,價(jià)格低,應(yīng)用方便,穩(wěn)定可靠。單片機(jī)將很多任務(wù)交給了軟件編程去實(shí)現(xiàn),大大簡化了外圍硬件電路,使外圍電路的實(shí)現(xiàn)簡單方便。使其在傳統(tǒng)的搶答器面前具有電路簡單、成本低、運(yùn)

5、行可靠等特色。關(guān)鍵字:搶答電路 定時(shí)電路 報(bào)警電路 AbstractResponder as a tool, has been widely used in various intelligence and knowledge contests occasion. The design quiz Responder eight basic concepts of practical application, with STC89C52 and 74HC573 designed with extensions Responder. Octal Responder by the main circ

6、uit and the expansion circuit. Responder circuit and main circuit from the latch circuit and a control circuit consists of: expansion circuit mainly by the alarm circuit and display circuit. After the circuit wiring, welding, commissioning work Responder shape. SCM small size, low price, convenient,

7、 stable and reliable. Many tasks will be handed over to the MCU software programming to realize, greatly simplifying the peripheral hardware circuit, the peripheral circuit implementation is simple and convenient. Responder it in the traditional front has a simple circuit, low cost, reliable operati

8、on and other characteristics.Keywords:Responder circuit timing circuit alarm circuit目錄1設(shè)計(jì)內(nèi)容與要求1.1設(shè)計(jì)內(nèi)容設(shè)計(jì)一個(gè)搶答器,可供8位選手搶答,主持人可通過開關(guān)控制, 具有搶答、計(jì)時(shí)、報(bào)警等功能。1.2設(shè)計(jì)要求1.2.1基本功能1) 設(shè)計(jì)一個(gè)搶答器,可以同時(shí)供8名選手或8個(gè)代表隊(duì)參加比賽,他們的編號分別是1、2、3、4、5、6、7、8,各用一個(gè)搶答按鈕,按鈕的編號與選手的編號相對應(yīng),也是1、2、3、4、5、6、7、8。2) 給節(jié)目主持人設(shè)置一個(gè)控制開關(guān)clear,用來控制系統(tǒng)的清零(編號顯示數(shù)碼管滅燈)

9、和搶答的開始。3) 搶答器具有數(shù)據(jù)鎖存和顯示功能。搶答開始,若有選手按動(dòng)搶答按鈕,編號立即鎖存,并在LED數(shù)碼管上顯示出選手的編號,同時(shí)揚(yáng)聲器給出音響提示。此外要封存輸入電路,禁止其他選手搶答。優(yōu)先搶答選手的編號一直保持到系統(tǒng)清零為止。1.2.2擴(kuò)展功能1) 搶答器具有定時(shí)搶答的功能,且一次搶答的時(shí)間可以由主持人設(shè)定,檔節(jié)目主持人按下“clear”按鈕后,要求定時(shí)器立即倒計(jì)時(shí),并在顯示器上顯示,同時(shí)揚(yáng)聲器發(fā)出短暫聲響,聲響持續(xù)0.5S左右。2)參賽選手在設(shè)定的時(shí)間內(nèi)搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號和搶答時(shí)刻的時(shí)間,并保持到主持人將系統(tǒng)清零為止。如果定時(shí)搶答時(shí)間已到,卻沒有

10、選手搶答,則本次搶答無效,系統(tǒng)短暫報(bào)警,并封存輸入電路,禁止選手 超時(shí)后搶答,時(shí)間顯示器上顯示00。2方案設(shè)計(jì)與選擇2.1第一種方案圖2.1.1 第一種方案搶答按鈕連接控制電路,搶答開始,有選手按下?lián)尨鸢粹o后,控制電路是鎖存器鎖存各個(gè)搶答路的電平高低,從而鎖存了第一位搶答者的搶答信號,同時(shí)切斷其他搶答者的搶答信號,阻止其他選手的搶答。編碼器將搶答結(jié)果譯成二進(jìn)制數(shù)送給下一級譯碼顯示電路,譯碼顯示電路顯示搶答成功者的號碼。聲響電路可以發(fā)出提醒聲響,定時(shí)電路有定時(shí)搶答功能,并能顯示倒計(jì)時(shí)的時(shí)間。該方案滿足設(shè)計(jì)的功能要求,但是用鎖存器鎖存搶答結(jié)果這一思路有缺陷,就是可能有兩個(gè)選手搶答時(shí)間間隔很小,兩路

11、的搶答信號同時(shí)鎖存了起來,導(dǎo)致編碼器編碼出錯(cuò),下一級譯碼顯示電路不能顯示搶答結(jié)果。2.2第二種方案第二種方案流程圖如下圖2所示:圖1.2.1 第二種方案第二種方案的原理和第一種方案基本一樣,只是在第一種方案上做了改進(jìn),在鎖存器和搶答按鈕之間增加了優(yōu)先編碼器,避免了多路的搶答信號同時(shí)被鎖存,編碼器編碼出錯(cuò),下一級譯碼顯示電路不能顯示搶答結(jié)果的情況。但是,電路過于復(fù)雜繁瑣,不太方便。2.3第三種方案該方案以STC89C52單片機(jī)為核心設(shè)計(jì)的八路搶答器,該搶答器能根據(jù)不同的八個(gè)不同按鍵輸入搶答信號,經(jīng)過單片機(jī)的控制處理并產(chǎn)生與按鍵相對應(yīng)路數(shù)的輸出信號,最后通過4位LED數(shù)碼管顯示相應(yīng)的路數(shù)和答題時(shí)間

12、等圖2.3.1第三種方案該方案簡單容易實(shí)現(xiàn),而且單片機(jī)體積小,價(jià)格低,應(yīng)用方便,穩(wěn)定可靠。因此,選用方案三。3硬件電路設(shè)計(jì)3.1.時(shí)鐘電路設(shè)計(jì)CPU的操作需要精確的定時(shí),可用一個(gè)晶體振蕩器產(chǎn)生穩(wěn)定的時(shí)鐘脈沖來控制STC89C52單片機(jī)上的XTAL1和XTAL2分別為振蕩電路的輸入和輸出,晶振頻率選擇11.0592MHZ。圖3.1.1 晶振電路3.2八路搶答按鍵輸入電路設(shè)計(jì)該電路有八個(gè)按鈕分別接于P2.0P2.7可實(shí)現(xiàn):一是分辨出選手按鍵的先后并鎖存有搶答者的編號,同時(shí)在LED上顯示相應(yīng)選手編號;二是當(dāng)有選手搶答成功時(shí)其他選手按鍵無效,具有鎖存功能。(鎖存功能由軟件實(shí)現(xiàn))圖3.2.1搶答電路3.

13、3復(fù)位按鍵輸入電路設(shè)計(jì)復(fù)位是計(jì)算機(jī)的一個(gè)重要工作狀態(tài)。開始按鈕和復(fù)位按鈕分別接在P3.7和RST口,在單片機(jī)工作時(shí),接電之前要復(fù)位,斷電后也要復(fù)位。在搶答器中復(fù)位則為定時(shí)做鋪墊,在搶答之前要復(fù)位,搶答完畢后也要復(fù)位。圖3.3.1復(fù)位電路3.4設(shè)定時(shí)間、加減時(shí)間和開始電路設(shè)計(jì)該電路主要是對答題和搶答時(shí)間調(diào)整而設(shè)計(jì)的。開始按鈕用clear表示,作用是將系統(tǒng)狀態(tài)在調(diào)整狀態(tài)和應(yīng)答狀態(tài)相互轉(zhuǎn)換,在調(diào)整狀態(tài)時(shí),裁判可以用“+”、“-”按鈕調(diào)整搶答時(shí)間,搶答時(shí)間的初始值設(shè)置為15秒;應(yīng)答狀態(tài)時(shí),系統(tǒng)可以響應(yīng)選手的搶答,并給出相關(guān)反應(yīng)?!癱lear”按鈕接P3.7,“+”按鈕接P3.6,“”按鈕接P3.5。圖

14、3.4.1時(shí)間設(shè)定電路3.5 LED數(shù)碼管顯示電路設(shè)計(jì)本設(shè)計(jì)所用的顯示器為7段共陽極接法4位LED顯示器,當(dāng)某一發(fā)光二極管的陰極輸入低電平時(shí),則該段發(fā)光。段選通過一片74HC573與P0口相連,位選com1,com2,com3,com4通過74HC573分別與P1.3,P1.2,P1.1,P1.0口相連。 此處芯片74HC573不起鎖存數(shù)據(jù)的功能,做為驅(qū)動(dòng)增加數(shù)碼管的電流。圖3.5.1顯示電路3.6聲音電路用P3.6口和蜂鳴器相連,在搶答開始和搶答過程中有人搶答,則會給選手答題警示聲。若定時(shí)時(shí)間已到,無人搶答則本次搶答無效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上最終顯示為0 00。圖3.6.1報(bào)警電

15、路4 PCB制作在Altium Designer中畫出電路圖后,制作PCB。圖4.1設(shè)計(jì)流程圖電子線路設(shè)計(jì)流程三個(gè)步驟:1.繪制電路原理圖,電路原理圖就是使用電子元器件的符號以及繪制電路原理圖所需的導(dǎo)線、總線等示意性繪圖工具來描述電路系統(tǒng)中各元器件之間的電氣連接關(guān)系的一種符號化、圖形化的語言。2. 生成網(wǎng)絡(luò)表,網(wǎng)絡(luò)表文件是文本文件,它記錄了原理圖中元件類型、序號、封裝形式以及各元器件之間的連接關(guān)系等信息。因此,借助網(wǎng)絡(luò)表文件描述的元件連接關(guān)系即可驗(yàn)證原理圖編輯過程中連線的正確性。3. 生成PCB文件,PCB 設(shè)計(jì)是電子產(chǎn)品設(shè)計(jì)過程中的關(guān)鍵環(huán)節(jié),電子產(chǎn)品的功能有原理圖決定,但電子產(chǎn)品的許多性能指

16、標(biāo),如穩(wěn)定性、可靠性、抗震強(qiáng)度等不僅與原理圖設(shè)計(jì)、元器件質(zhì)量、生產(chǎn)工藝有關(guān),而且很大程度上取決于印制電路板的布局、布線是否合理。圖4.2 PCB5軟件設(shè)計(jì)5.1軟件設(shè)計(jì)思想本搶答器的軟件系統(tǒng)主要包括以下幾個(gè)部分: 主程序: 主程序的功能主要是完成內(nèi)部各寄存單元的初始化, 對STC89C52單片機(jī)接口電路的初始化, 內(nèi)部定時(shí)器的初始化, 中斷的初始化及調(diào)用顯示程序?qū)Τ跏紶顟B(tài)的顯示以及對外部信號的等待處理, 也就是說完成前期的準(zhǔn)備工作等待隨時(shí)對外部信號進(jìn)行響應(yīng)。 對開始搶答信號的處理: 當(dāng)主持人按下開始搶答鍵后開始搶答, 程序部分采用中斷方式進(jìn)行處理。在中斷處理程序中完成相應(yīng)操作, 修改計(jì)時(shí)單元的

17、數(shù)據(jù)并發(fā)出計(jì)時(shí)提示聲。鍵值處理子程序: 此子程序根據(jù)鍵盤掃描所取得的鍵值作出相應(yīng)處理。顯示子程序:采用動(dòng)態(tài)掃描顯示,可以顯示選手號和搶答、倒計(jì)時(shí)間等5.2軟件邏輯結(jié)構(gòu)圖圖5.2.1程序流程圖6總結(jié)與體會上述以單片機(jī)為核心控制部件設(shè)計(jì)的八路搶答器仿真系統(tǒng),該仿真電路允許8人同時(shí)參賽。本搶答器控制系統(tǒng)具有可靠性高、操作方便等特點(diǎn),具有一定的運(yùn)用價(jià)值。在本次單片機(jī)課程設(shè)計(jì)中,我完成了八路搶答器的設(shè)計(jì)要求及功能。在設(shè)計(jì)開始前我對各個(gè)模塊進(jìn)行了詳細(xì)的分析和設(shè)計(jì)準(zhǔn)備工作,設(shè)計(jì)過程中,我對Keil 軟件有了更深的了解。積極參與完成各個(gè)技術(shù)實(shí)現(xiàn)的難點(diǎn),從而進(jìn)一步地熟悉了STC89C52芯片的結(jié)構(gòu)及掌握了各芯片

18、的工作原理和具體的使用方法。通過本次課程設(shè)計(jì),讓我深刻體會到知識要轉(zhuǎn)化成能力才是力量,與此同時(shí),我對有關(guān)單片機(jī)的領(lǐng)域有進(jìn)一步的了解思路也更加開闊。總之,受益匪淺。這也為自己今后進(jìn)一步深化學(xué)習(xí),積累了一定寶貴經(jīng)驗(yàn)。在本次設(shè)計(jì)中,我明白了,再困難的問題,只要把它分開來實(shí)現(xiàn),再將這些組合起來,問題就可得到解決。這對于我們以后做題和工作都很重要,我相信這種分化的理念會對我有很大幫助。在本次設(shè)計(jì)中,讓我更加熟練的掌握了Altium Designer,在以后的設(shè)計(jì)中,用到這個(gè)軟件的機(jī)會很多,這是我的第二個(gè)大的收獲。通過制作PCB來簡化電路焊接我學(xué)到了很多。在設(shè)計(jì)過程中,我也遇到了很多困難,有時(shí)也很灰心,想

19、放棄,但堅(jiān)持下來發(fā)現(xiàn)收獲巨大。在焊接過程中,太多的連線,面對這么好大的工程量,我只好咬牙堅(jiān)持下來。這次設(shè)計(jì)極大鍛煉了我的動(dòng)手操作能力,以前在課本上學(xué)到的只是理論知識,現(xiàn)在終于在現(xiàn)實(shí)中能夠驗(yàn)證,也進(jìn)一步鍛煉了自己的焊接能力。參考文獻(xiàn)1康華光、陳大欽、張林.電子技術(shù)基礎(chǔ).華中科技大學(xué)出版社.20022韓克、柳秀山.電子技能與EDA技術(shù).暨南大學(xué)出版社.20043陸坤、奚大順.電子設(shè)計(jì)技術(shù).電子科技大學(xué)出版社.19974謝自美.電子線路設(shè)計(jì)實(shí)驗(yàn)測試(第三版).華中科技大學(xué)出版社.20065閻石.數(shù)字電子計(jì)數(shù)基礎(chǔ).高等教育出版社.19986孫梅生.電子技術(shù)基礎(chǔ)課程設(shè)計(jì).高等教育出版社.19897邱關(guān)源

20、編. 電路. 北京:高等教育出版社,19888李永平編. 電路設(shè)計(jì)實(shí)用教程. 北京:國防工業(yè)出版社,20049劉嵐編. 電路分析基礎(chǔ). 北京:高等教育出版社,2009附錄1完整電路圖附錄2元件清單搶答器元件清單序號名稱型號規(guī)格數(shù)量備注151芯片STC89C52RC12芯片底座40引腳13復(fù)位按鍵4腳直插134蜂鳴器有源5V15四位共陽數(shù)碼管LG5641BH16鎖存器74HC573(直插)27芯片底座20引腳28三極管8050(NPN)19瓷片電容30pF(直插)510晶振11.0592M111電解電容10uF/25V112排阻10K*8113排針2.45(常用)1排14電阻100(直插)101

21、5電阻10K(直插)10附錄3完整程序/Responder.c#includereg51.h#define LED_DATA_PORT P0 /0亮,共陽數(shù)碼管#define ADJUST 0/搶答器處于調(diào)整狀態(tài)#define ANSWER1/搶答狀態(tài)/單片機(jī)IO口位聲明,51單片機(jī)可以對IO的每一位或Px八位單獨(dú)進(jìn)行讀寫操作sbit com1=P13; /1亮sbit com2=P12;sbit com3=P11;sbit com4=P10;sbit key1=P21;sbit key2=P23;sbit key3=P25;sbit key4=P27;sbit key5=P20;sbit k

22、ey6=P22;sbit key7=P24;sbit key8=P26;sbit key9=P35;/倒計(jì)時(shí)減sbit key10=P36;/倒計(jì)時(shí)加sbit key11=P37;/清零端,控制端sbit beep=P17;/1響unsigned char num1=0,time=15;/num1是用來輔助定時(shí)器計(jì)數(shù),累計(jì)時(shí)間到一秒,time為倒計(jì)時(shí)unsigned char shi=0,ge=0;/倒計(jì)時(shí)time的十位和個(gè)位unsigned char result=0;/搶答結(jié)果unsigned char state=ADJUST;/搶答器狀態(tài),初始為調(diào)整狀態(tài)unsigned char fl

23、ag=0;/結(jié)束標(biāo)識,狀態(tài)標(biāo)識,0復(fù)位,沒有有效信號;1有人搶答,結(jié)束搶答過程;2時(shí)間到,無人搶答,結(jié)束搶答過程const unsigned char ledNum = / 0 1 2 3 4 5 6 7 8 9 A B C D E F 不顯示 - o(18)H(19)h(20)C(21)0(22)n(23)0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8e,0xFF,0xbf,0xa3,0x89,0x8b,0xc6,0xc0,0xab; /*- 延時(shí)函數(shù),含有輸入?yún)?shù) unsigned

24、 int t,無返回值 unsigned int 是定義無符號整形變量,其值的范圍是 065535-*/void Delay(unsigned int t) while(-t);/延時(shí)函數(shù),n毫秒void Delay_ms(unsigned int n)unsigned int i,j;for(i=n;i0;i-)for(j=110;j0;j-);/開始聲音void SoundStart(void)/開始聲音beep=1;Delay_ms(200);beep=0;/報(bào)警聲音void SoundWarning(void)unsigned char i;for(i=0;i20;i+)/報(bào)警聲音be

25、ep=1;Delay_ms(i);beep=0;Delay_ms(20-i);/結(jié)束聲音void SoundOver(void)unsigned char i;for(i=0;i80;i+)/結(jié)束聲音beep=1;Delay(100);beep=0;Delay(100);/按鍵掃描函數(shù),只掃描K1到K8/需要尋求一種方式對重復(fù)的代碼進(jìn)行優(yōu)化unsigned char KeyScan_8(void)unsigned char num=0;if(key1=0)Delay_ms(10);if(key1=0)num=1;/Delay_ms(20);/while(!key1);return num;if

26、(key2=0)Delay_ms(10);if(key2=0)num=2;/Delay_ms(20);/while(!key2);return num;if(key3=0)Delay_ms(10);if(key3=0)num=3;/Delay_ms(20);/while(!key3);return num;if(key4=0)Delay_ms(10);if(key4=0)num=4;/Delay_ms(20);/while(!key4);return num;if(key5=0)Delay_ms(10);if(key5=0)num=5;/Delay_ms(20);/while(!key5);r

27、eturn num;if(key6=0)Delay_ms(10);if(key6=0)num=6;/Delay_ms(20);/while(!key6);return num;if(key7=0)Delay_ms(10);if(key7=0)num=7;/Delay_ms(20);/while(!key7);return num;if(key8=0)Delay_ms(10);if(key8=0)num=8;/Delay_ms(20);/while(!key8);return num;return num;/按鍵掃描函數(shù),只掃描S11,S10,S9,分別為控制端,倒計(jì)時(shí)加,倒計(jì)時(shí)減unsigne

28、d char KeyScan_3(void)unsigned char num=0;if(key9=0)Delay_ms(10);if(key9=0)num=9;while(!key9);return num;if(key10=0)Delay_ms(10);if(key10=0)num=10;while(!key10);return num;if(key11=0)Delay_ms(10);if(key11=0)num=11;while(!key11);return num;return num;/按鍵掃描函數(shù),只掃描控制端,清零端S11,P3.7unsigned char KeyScan_1(

29、void)unsigned char num=0;if(key11=0)Delay_ms(10);if(key11=0)num=11;while(!key11);return num;return num;/*/定時(shí)器初始化void InitInter(void)TMOD=0X11;/設(shè)置定時(shí)器工作方式為1TH0=(65535-45872)/256;/裝初值,11.0592M晶振,50毫秒TL0=(65535-45872)%256;EA=1;/開總中斷ET0=1;/開定時(shí)器0中斷TR0=1;/啟動(dòng)定時(shí)器0*/關(guān)閉中斷void CloseInter(void)TR0=0;/停止定時(shí)器0ET0=0

30、;/關(guān)定時(shí)器0中斷EA=0;/關(guān)總中斷/重新打開中斷void OpenInter(void)num1=0;/計(jì)數(shù)初始化TH0=(65535-45872)/256;/裝初值,11.0592M晶振,50毫秒TL0=(65535-45872)%256;EA=1;/開總中斷ET0=1;/開定時(shí)器0中斷TR0=1;/啟動(dòng)定時(shí)器0/關(guān)數(shù)碼管顯示void DisplayClose(void)com1=0;com2=0;com3=0;com4=0;LED_DATA_PORT=0X00;/考慮到要保護(hù)硬件,不能長時(shí)間讓數(shù)碼管承受反向電壓,/但再次使用數(shù)碼管時(shí),要先送段選,再打開位選。/倒計(jì)時(shí)顯示,調(diào)用該函數(shù)之前

31、要先關(guān)閉顯示,/因?yàn)槭莿?dòng)態(tài)掃描,所以要在循環(huán)里面一直重復(fù)執(zhí)行void DisplayTime(void)/DisplayClose();LED_DATA_PORT=ledNumshi;com3=1;Delay(200);com3=0;LED_DATA_PORT=ledNumge;com4=1;Delay(200);com4=0;/顯示結(jié)果,將搶答結(jié)果,即搶答者序號,倒計(jì)時(shí)所剩時(shí)間顯示出來,/該函數(shù)之前要先關(guān)閉顯示,因?yàn)槭莿?dòng)態(tài)掃描,所以要在循環(huán)里面一直重復(fù)執(zhí)行void DisplayResult(void)/DisplayClose();LED_DATA_PORT=ledNumresult;co

32、m1=1;Delay(200);com1=0;LED_DATA_PORT=ledNumshi;com3=1;Delay(200);com3=0;LED_DATA_PORT=ledNumge;com4=1;Delay(200);com4=0;/按鍵釋放void KeyFree(void)if(KeyScan_8()Delay_ms(10);if(KeyScan_8()state=ADJUST;/SoundWarning();/LED_DATA_PORT=0x00;/com1=com2=com3=com4=1;while(KeyScan_8();/com1=com2=com3=com4=0;/定時(shí)

33、器調(diào)整進(jìn)程void ProcessAdjust(void)time=15;shi=time/10;ge=time%10;while(!state)switch(KeyScan_3()case 9:/倒計(jì)時(shí)減time-;if(time30)time=1;shi=time/10;ge=time%10;break;case 11:/狀態(tài)轉(zhuǎn)換state=ANSWER;break;default: ;DisplayTime();/實(shí)時(shí)刷新倒計(jì)時(shí),/存在的問題:Keyscan()函數(shù)可能會占用一定時(shí)間,對數(shù)碼管動(dòng)態(tài)掃描顯示有影響/解決方案:可以把Keyscan函數(shù)分開,只檢測key9,key10,key1

34、1三個(gè)按鍵,減少掃描時(shí)間KeyFree();/定時(shí)器搶答進(jìn)程void ProcessAnswer(void)/KeyFree();/按鍵釋放,在搶答開始之前,確保所有按鍵都以釋放,否則,發(fā)出報(bào)警聲flag=0;/結(jié)束標(biāo)識復(fù)位OpenInter();SoundStart();while(flag=0)DisplayTime();switch(KeyScan_8()/swith()缺點(diǎn):語句太多,程序長,但執(zhí)行時(shí)間短case 1:result=1;flag=1;break;case 2:result=2;flag=1;break;case 3:result=3;flag=1;break;case 4:result=4;flag=1;break;case 5:result=5;flag=1;break;case 6:result=6;flag=1;break;case 7:result=7;flag=

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論