大型搶答器設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁(yè)
大型搶答器設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁(yè)
大型搶答器設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁(yè)
大型搶答器設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁(yè)
大型搶答器設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、大型搶答器設(shè)計(jì)學(xué)生:XXX 指導(dǎo)教師:XXX內(nèi)容摘要:數(shù)字搶答器由主體電路與擴(kuò)展電路組成。優(yōu)先編碼電路、鎖存器、譯碼電路將參賽隊(duì)的輸入信號(hào)在顯示器上輸出;用控制電路和主持人開關(guān)啟動(dòng)報(bào)警電路,以上兩部分組成主體電路。通過(guò)定時(shí)電路和譯碼電路將秒脈沖產(chǎn)生的信號(hào)在顯示器上輸出實(shí)現(xiàn)計(jì)時(shí)功能,構(gòu)成擴(kuò)展電路。經(jīng)過(guò)布線、焊接、調(diào)試等工作后數(shù)字搶答器成形。單片機(jī)體積小價(jià)格低,應(yīng)用方便,穩(wěn)定可靠。單片機(jī)將很多任務(wù)交給了軟件編程去實(shí)現(xiàn),大大簡(jiǎn)化了外圍硬件電路,使外圍電路的實(shí)現(xiàn)簡(jiǎn)單方便。單片機(jī)系統(tǒng)的硬件結(jié)構(gòu)給予了搶答系統(tǒng)“身軀”,而單片機(jī)的應(yīng)用程序賦予了其新的“生命”,使其在傳統(tǒng)的搶答器面前具有電路簡(jiǎn)單、成本低、運(yùn)行

2、可靠等特色。對(duì)于搶答器我們大家都知道那是用于選手做搶答題時(shí)用的,選手進(jìn)行搶答,搶到題的選手來(lái)回答問(wèn)題。搶答器不僅考驗(yàn)選手的反應(yīng)速度同時(shí)也要求選手具備足夠的知識(shí)面和一定的勇氣。選手們都站在同一個(gè)起跑線上,體現(xiàn)了公平公正的原則。關(guān)鍵詞:搶答電路 定時(shí)電路 報(bào)警電路Design for large responder Abstract: Digital vies to implement by corpus circuit and expansion circuit composed. Priority coding circuit, latches, decoder circuit will be

3、 the team's input signal on the display output, With the control circuit and the host switches on the alarming circuit, the above two parts subject circuit. Through the timing circuit and decoder circuit will seconds pulse signal on the display output of timing function, constitute expansion cir

4、cuit. After wiring, welding, commissioning work digital vies to implement forming. In practical circuit design, need to go through the simulation software testing of circuit and programs compiled, check the periphery circuit design is reasonable, software compiler are proper and that the software an

5、d hardware circuit can normal work, can accurate realization design functions. If the test circuit emulation by, no problem can fully realize function words can actually do plate welding work. SCM small volume low prices, easy application, it is stable and reliable. Microcontroller will many mission

6、s gave software programming to realize, greatly simplifying the peripheral hardware circuit, make the periphery the circuitry is simple and convenient.Keywords: scare-answering circuit timing circuit alarm circuit.目 錄前言11 數(shù)字搶答器的概述及制作要求11.1 數(shù)字搶答器的概述11.2 設(shè)計(jì)任務(wù)與要求11.2.1 基本要求11.2.2 發(fā)揮部分22 單片機(jī)芯片的選擇及搶答器方案2

7、2.1 單片機(jī)芯片的選擇22.1.1 單片機(jī)管腳說(shuō)明22.2 模塊性能分析42.2.1 獨(dú)立式鍵盤42.2.2 LED數(shù)碼管顯示43 硬件電路設(shè)計(jì)53.1 總體設(shè)計(jì)53.2 外部振蕩電路63.3 復(fù)位電路的設(shè)計(jì)73.4 顯示電路的設(shè)計(jì)73.5 按鈕輸入電路的設(shè)計(jì)83.6 發(fā)聲84 系統(tǒng)軟件設(shè)計(jì)84.1 搶答器流程圖84.2 主程序114.3 中斷程序134.3.1 中斷的概念144.3.2 中斷所用到的寄存器144.3.3 為什么采用中斷控制方式155 結(jié)束語(yǔ)16附錄17參考文獻(xiàn)18 大型搶答器設(shè)計(jì)前言 二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。不過(guò),這種電腦,

8、通常是指?jìng)€(gè)人計(jì)算機(jī),簡(jiǎn)稱PC機(jī)。它由主機(jī)、鍵盤、顯示器等組成。還有一類計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(亦稱微控制器)。顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡(jiǎn)單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在整個(gè)裝置中,起著有如人類頭腦的作用,它出了毛病,整個(gè)裝置就癱瘓了。現(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級(jí)換代的功效,常在產(chǎn)品名稱前冠以形容詞“智能型”,如智能型洗衣機(jī)等。現(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來(lái)的

9、某些產(chǎn)品,不是電路太復(fù)雜,就是功能太簡(jiǎn)單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機(jī)或其它可編程邏輯器件上。在知識(shí)競(jìng)賽中,特別是做搶答題時(shí),在搶答過(guò)程中,為了更確切的知道哪一組或哪一位選手先搶答到題,必須要有一個(gè)系統(tǒng)來(lái)完成這個(gè)任務(wù)。若在搶答中,只靠人的視覺(jué)(或者是聽覺(jué))是很難判斷出哪一組(或哪一個(gè)選手)先搶答到題的。利用單片機(jī)編程來(lái)設(shè)計(jì)搶答器,可以使以上問(wèn)題得以解決,即使兩組的搶答時(shí)間相差幾微秒,也能輕松的分辨出哪一組(或哪個(gè)選手)先搶答到題的。本次設(shè)計(jì)主要介紹了搶答器的工作原理及設(shè)計(jì),以及它的實(shí)際用途。 1 數(shù)字搶答器的概述及制作要求1.1 數(shù)字搶答器的概述對(duì)于搶答器我們大家來(lái)說(shuō)都不陌

10、生,它是用于很多競(jìng)賽場(chǎng)合,真正實(shí)現(xiàn)先搶先答,讓最先搶到題的選手來(lái)回答問(wèn)題。搶答器不僅考驗(yàn)選手的反應(yīng)速度同時(shí)也要求選手具備足夠的知識(shí)面和一定的勇氣。選手們都站在同一個(gè)起跑線上,體現(xiàn)了公平公正的原則。1.2 設(shè)計(jì)任務(wù)與要求 基本要求 給主持人設(shè)置一個(gè)開關(guān),用來(lái)控制系統(tǒng)的清零(編號(hào)顯示數(shù)碼管滅燈)和搶答器的開始。搶答器具有數(shù)據(jù)鎖存和顯示的功能。搶答開始后,若有選手按動(dòng)搶答器按鈕,編號(hào)立即鎖存,并在LED數(shù)碼上顯示選手的編號(hào),同時(shí)揚(yáng)聲器給出音響提示。此外,要封鎖輸入電路,禁止其他選手搶答。 發(fā)揮部分 搶答器具有定時(shí)搶答的功能,且一次搶答的時(shí)間可以由主持人設(shè)定(如30秒)。當(dāng)節(jié)目主持人啟動(dòng)“開始”鍵后,

11、要求定時(shí)器立即減計(jì)時(shí),并用顯示器顯示,同時(shí)揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)時(shí)間0.5秒左右。 參加選手在設(shè)定的時(shí)間內(nèi)搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號(hào)和搶答時(shí)刻的時(shí)間,并保持到主持人將系統(tǒng)清零為止。 如果定時(shí)搶答的時(shí)間已到,卻沒(méi)有選手搶答時(shí),本次搶答無(wú)效,系統(tǒng)短暫報(bào)警,并封鎖輸入電路,禁止選手超時(shí)后搶答,時(shí)間顯示器上顯示00。 選手如果在主持人按開始鍵之前違規(guī)搶答,系統(tǒng)報(bào)警,LED顯示違規(guī)選手號(hào)碼和FF,直到主持人按下停止鍵。2 單片機(jī)芯片的選擇及搶答器方案2.1 單片機(jī)芯片的選擇單片機(jī)選用的是美國(guó)某公司推出的AT89S52,它是一種低功效、高性能CMOS8位微控制器,具有8

12、K在系統(tǒng)可編程Flash存儲(chǔ)器。使用該公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。在單芯片上擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash,使得AT89S52具有以下標(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í)鐘電路。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器串口、中斷繼續(xù)工作。掉電保護(hù)方式下RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。而且,它還具有一個(gè)看門狗(WDT)定時(shí)/計(jì)數(shù)器。如果程序

13、沒(méi)有正常工作,就會(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ī)管腳說(shuō)明 Vcc:供電電壓。 GND:接地。 P0口:P9口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠

14、用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在Flash編程時(shí),P0口作為原碼輸入口,當(dāng)Flash進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供的上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故,。在Flash編程和校驗(yàn)時(shí),P1作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2

15、口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在Flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89S52的一些特殊功能口,P3口同時(shí)為閃爍編

16、程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/RPOG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平由于鎖存地址的地位字節(jié)。在Flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6.因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳出一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0.此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令時(shí)ALE才起作用。另外該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位

17、無(wú)效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在Flash編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。2.2 模塊性能分析模塊部分主要分為AT89C52芯片、獨(dú)立式

18、鍵盤、LED數(shù)碼管顯示部分,下面對(duì)這后兩部分進(jìn)行介紹,其中對(duì)LED七段數(shù)碼管顯示器做詳細(xì)介紹,并根據(jù)實(shí)際工作情況采用合適的工作方式。 獨(dú)立式鍵盤利用8個(gè)常開按鈕開關(guān)S1S8和8只電阻R1R8組成搶答器的輸入電路。S1S8為自復(fù)式常開按鈕開關(guān),分別作為8位搶答按鈕,與它相連的8只電阻為下拉電阻,以保證按鈕未按下時(shí),鎖存器的輸入端為低電平。當(dāng)程序執(zhí)行時(shí),按下按鍵,七段數(shù)碼管顯示器上即顯示相應(yīng)的是哪個(gè)組按下?lián)尨稹?LED數(shù)碼管顯示 譯碼器的邏輯功能是將每一個(gè)輸入的二進(jìn)制代碼譯成對(duì)應(yīng)的輸出高、低電平信號(hào),是編碼器的反操作。數(shù)碼管可以用TTL或CMOS集成電路直接驅(qū)動(dòng),所以使用譯碼器將BCD編碼譯成數(shù)碼

19、管所需要的驅(qū)動(dòng)信號(hào),以便使數(shù)碼管用十進(jìn)制數(shù)字顯示出BCD編碼表示的數(shù)值。 七段數(shù)碼管的段排列和內(nèi)部結(jié)構(gòu)如圖所示七段數(shù)碼管的段排列和內(nèi)部部結(jié)構(gòu)應(yīng)根據(jù)實(shí)際情況決定究竟采用共陽(yáng)還是共陰方式,其基本原則是:若單片機(jī)口線直接驅(qū)動(dòng)數(shù)碼管各段,最好采用共陽(yáng)極數(shù)碼管,因?yàn)?051系列單片機(jī)口線輸出高電平時(shí),輸出的電流很小,數(shù)碼管不會(huì)太亮。若數(shù)碼管通過(guò)驅(qū)動(dòng)芯片與單片機(jī)相連,就要看驅(qū)動(dòng)芯片對(duì)數(shù)碼管極性的要求了 點(diǎn)亮顯示器分為靜態(tài)和動(dòng)態(tài)顯示兩種方法。所謂靜態(tài)顯示,就是當(dāng)顯示器顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或是截止。例如,其段數(shù)碼管的a、b、c、d、e、f、導(dǎo)通,g截止,則顯示0.這對(duì)這種顯示方式每一位都

20、要有一個(gè)8位輸出口控制,所占硬件較多,一般用于顯示位數(shù)較少(很少)的場(chǎng)合。當(dāng)位數(shù)較多時(shí),用靜態(tài)顯示所需的I/O過(guò)多,一般采用動(dòng)態(tài)顯示方法。 所謂動(dòng)態(tài)顯示,就是逐位地輪流點(diǎn)亮各位顯示器(掃描),對(duì)于每一位顯示器而言,每個(gè)一段時(shí)間點(diǎn)亮一次。顯示器的點(diǎn)亮既與點(diǎn)亮?xí)r的導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間比例有關(guān)。調(diào)整電流和時(shí)間參數(shù),可是實(shí)現(xiàn)亮度較高、較為穩(wěn)定的顯示,同時(shí)可減少工作電流。 COM是選通位,對(duì)于共陽(yáng)極數(shù)碼管,當(dāng)a、b、c、d、e、f、g、h端接低電平時(shí),COM位高電平,數(shù)碼管各段全部點(diǎn)亮。例如,想讓數(shù)碼管顯示“1”,就必須使數(shù)碼管的b、c段點(diǎn)亮,其它段熄滅;所以使b、c段為低電平,其它各引

21、腳均為高電平。在設(shè)計(jì)電路時(shí),可將這幾位分別接到單片機(jī)的引腳上,還要加上限流電阻,這樣就可由程序控制數(shù)碼管的工作情況了。但是如果用一個(gè)端口驅(qū)動(dòng)一個(gè)數(shù)碼管,四位數(shù)碼管就需要四個(gè)空閑端口,而在許多系統(tǒng)中并無(wú)四個(gè)端口可用。此外,使用四個(gè)端口往往使得每一個(gè)數(shù)字都需要獨(dú)立驅(qū)動(dòng)(緩沖)電路和排阻,這將大大增加系統(tǒng)的成本。 最常見的解決方案是采用多路復(fù)用顯示。這是指對(duì)于每一個(gè)顯示只驅(qū)動(dòng)1/4時(shí)間。只要在20Hz-50Hz之間循環(huán)所有顯示,由于人眼存在視覺(jué)殘留,在這樣的顯示方式下,數(shù)碼管看起來(lái)時(shí)同時(shí)點(diǎn)亮的。在這次課程設(shè)計(jì)中根據(jù)實(shí)際需要采用了七段數(shù)碼管共陽(yáng)極和靜態(tài)顯示方式。 搶答器的實(shí)現(xiàn)方式有種多樣,通過(guò)純電子器

22、件搭建電路實(shí)現(xiàn),如優(yōu)先編碼器,鎖存器,555定時(shí)器譯碼器等,純電子器件實(shí)現(xiàn)沒(méi)有軟件參與,調(diào)試簡(jiǎn)單,但是它不易于擴(kuò)展和修改,而且電路結(jié)構(gòu)復(fù)雜,調(diào)試?yán)щy電子,電子器件管腳很多,實(shí)際搭建起來(lái)費(fèi)時(shí)費(fèi)力,焊接很容易出錯(cuò)。于是,我想到了用單片機(jī)實(shí)現(xiàn)。單片機(jī)體積小價(jià)格低,應(yīng)用方便,穩(wěn)定可靠。單片機(jī)將很多任務(wù)交給了軟件編程去實(shí)現(xiàn),大大簡(jiǎn)化了外圍硬件電路,使外圍電路的實(shí)現(xiàn)簡(jiǎn)單方便。由于單片機(jī)本身不具有軟件編譯測(cè)試的功能,我們需要借助其他軟件編譯,將編譯好的程序“燒”入單片機(jī)內(nèi)。 在實(shí)際電路設(shè)計(jì)中,需要先通過(guò)仿真軟件測(cè)試電路以及編譯的程序,檢查外圍電路設(shè)計(jì)是否合理,軟件編譯是否正確,以及軟件和硬件電路能否正常配合

23、工作,能否準(zhǔn)確的實(shí)現(xiàn)所設(shè)計(jì)的功能。如果測(cè)試通過(guò),電路仿真沒(méi)有問(wèn)題能完全實(shí)現(xiàn)功能的話就可以實(shí)際的做板子的焊接工作了。在老師的指導(dǎo)下我選擇了常用的單片機(jī)仿真軟件proteus6.9以及keil進(jìn)行仿真。3 硬件電路設(shè)計(jì)3.1 總體設(shè)計(jì)根據(jù)搶答器的基本功能,可以設(shè)計(jì)出如下的單片機(jī)外圍電路:圖3.1-1 總體設(shè)計(jì)如圖3.1-1,P3.0為開始搶答,P3.2為停止,P1.0-P1.7為八路搶答輸入,數(shù)碼管段選P0口,位選P2口低3位,蜂鳴器(用綠燈代替)輸出為P3.6口。P3.2為時(shí)間加1調(diào)整,P3.3為時(shí)間減1調(diào)整。3.2 外部振蕩電路圖3.2-1 外部振蕩電路一般選用石英晶體振蕩器。此電路在加電大約

24、延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容 C1,C2的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。C1,C2的典型值為30PF。3.3 復(fù)位電路的設(shè)計(jì)單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖3.3-1所示:圖3.3-1 復(fù)位電路在方案中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù)位可使寄存器及存儲(chǔ)器的值都恢復(fù)到初始值,而前面的功能提到了倒計(jì)時(shí)間需要有記憶功能,該功能實(shí)現(xiàn)的前提條件就是不能對(duì)單片

25、機(jī)進(jìn)行硬件復(fù)位,所以設(shè)定了軟復(fù)位功能。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過(guò)一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。3.4 顯示電路的設(shè)計(jì)顯示電路使用了七段數(shù)碼管7SEG-MPX4-CC,它是共陰極的,由高電平點(diǎn)亮。圖3.4-1 陰極七段數(shù)碼管3.5 按鈕輸入電路的設(shè)計(jì) 搶答器的輸入按鈕使用常開開關(guān),圖3.5-1 搶答按鍵這些常開開關(guān)組成了搶答按鍵,硬件電路簡(jiǎn)單,在程序設(shè)計(jì)上也不復(fù)雜,只要在程序中消除在按鍵過(guò)程中產(chǎn)生的“毛刺” 現(xiàn)象就可以了。這里采用最常用的方法即延時(shí)法,其的原理為:因?yàn)椤懊獭泵}沖一般持續(xù)時(shí)間短,約為幾ms,而按鍵的時(shí)間一般遠(yuǎn)遠(yuǎn)大于這個(gè)時(shí)間,所以當(dāng)單片機(jī)檢測(cè)到有

26、按鍵動(dòng)靜后再延時(shí)一段時(shí)間(這里取10ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵,否則無(wú)效。3.6 發(fā)聲這里能利用程序來(lái)控制單片機(jī)P3.6口線反復(fù)輸出高電平或低電平,即在該口線上產(chǎn)生一定頻率的矩形波,接上揚(yáng)聲器就能發(fā)出一定頻率的聲音,再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使揚(yáng)聲器發(fā)出不同的聲音。4 系統(tǒng)軟件設(shè)計(jì)4.1 搶答器流程圖流程圖是使用圖形表示算法的思路是一種極好的方法,不論采用何種程序設(shè)計(jì)方法,程序總體結(jié)構(gòu)確定后,一般以程序流程圖的形式對(duì)其進(jìn)行描述。總體框圖中的各個(gè)子模塊或各個(gè)子任務(wù)也應(yīng)該結(jié)合具體的教學(xué)模型和算法畫出較詳細(xì)的程序流程圖,

27、供后面編寫具體程序和閱讀程序使用。流程圖是由一些圖框和流程線組成的,其中圖框表示各種操作的類型,圖框中的文字和符號(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) 初始化部分Kz= =0啟動(dòng)中斷,數(shù)碼管開始計(jì)時(shí)若有選手搶答中斷停止,數(shù)碼管顯示選手的標(biāo)號(hào)及所用的時(shí)間結(jié)束開始NYYN圖4.1-1 搶答器主程

28、序流程圖 定時(shí)器0中斷1秒時(shí)間到?中斷返回N秒加1數(shù)碼管顯示秒值Y圖4.1-2 搶答器定時(shí)器中斷流程圖外部中斷0中斷K0鍵按下K1鍵按下K3鍵按下K2鍵按下中斷返回與K0鍵對(duì)應(yīng)的發(fā)光二極管亮及數(shù)碼管顯示與K1鍵對(duì)應(yīng)的發(fā)光二極管亮及數(shù)碼管顯示與K3鍵對(duì)應(yīng)的發(fā)光二極管亮及數(shù)碼管顯示與K2鍵對(duì)應(yīng)的發(fā)光二極管亮及數(shù)碼管顯示YYYYNNNN圖4.1-3 外部中斷程序圖4.2 主程序我所設(shè)計(jì)的搶答器的程序采用的是C程序設(shè)計(jì),C語(yǔ)言的顯著特點(diǎn)是用二進(jìn)制來(lái)編寫程序,程序的各個(gè)部分除了必要的信息交流外彼此之間相互獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦? 便于使用、維護(hù)以及調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶的,這些

29、函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。雖然C語(yǔ)言也是強(qiáng)類型語(yǔ)言,但它的語(yǔ)法比較靈活,允許程序編寫者有較大的自由度。本次設(shè)計(jì)的主程序中包括時(shí)鐘設(shè)計(jì)程序,定時(shí)器中斷子程序,LED顯示程序以及按鍵控制子程序,程序設(shè)計(jì)如下: #include<reg52.h>sbit k0=P10;sbit k1=P11;sbit k2=P12;sbit k3=P13;sbit d0=P14;sbit d1=P15;sbit d2=P16;sbit d3=P17;sbit B0=P37;sbit l0=P20;sbit l1=P22;sbit l2=P23;sbit

30、 l3=P24;sbit kz=P30;unsigned char qiangdanum=0x3f;unsigned char code table=0x3f,0xxx,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char ge=0,shi=0;unsigned int num=0,time=0;void display(); /*顯示函數(shù)*/void delay(unsigned int);main()TMOD=0X01; /*采用方式一,即十六位計(jì)數(shù)器*/TH0=(65536-50000)/256; /*設(shè)置初始值*/TL0=(6553

31、6-50000)%256;IT0=0;EA=1;ET0=1; /*開啟總中斷源*/EX0=1; /*啟動(dòng)外部中斷0*/while(1)display(); if(kz=0) TR0=1; /*開啟定時(shí)器0中斷*/ if(num=20) num=0; time+; if(time=60) /*60秒的計(jì)時(shí)*/ time=0; void exter0() interrupt 0 /*外部中斷程序*/EA=0;l0=0; if(k0=0) /*開關(guān)0按下*/d0=0;qiangdanum=1;B0=1; /* 1號(hào)選手搶答成功,數(shù)碼管顯示1,蜂鳴器響,第1個(gè)二極管亮*/if(k1=0) /*開關(guān)1按

32、下*/ d1=0;qiangdanum=2;B0=1; /* 2號(hào)選手搶答成功,數(shù)碼管顯示2,蜂鳴器響,第2個(gè)二極管亮*/if(k2=0) /*開關(guān)2按下*/ d2=0;qiangdanum=3;B0=1; /* 3號(hào)選手搶答成功,數(shù)碼管顯示3,蜂鳴器響,第3個(gè)二極管亮*/if(k3=0) /*開關(guān)3按下*/ d3=0;qiangdanum=4;B0=1; /* 4號(hào)選手搶答成功,數(shù)碼管顯示4,蜂鳴器響,第4個(gè)二極管亮*/void time0() interrupt 1num+;TH0=(65536-50000)/256;TL0=(65536-50000)%256; /*1秒定時(shí)函數(shù)*/voi

33、d delay(unsigned int z)unsigned int x,y; for(x=z;x>0;x-) for(y=110;y>0;y-); /*延遲函數(shù)*/void display(void) shi=time/10;ge=time%10;P2=0xef;P0=tablege;delay(5);P2=0xf7;P0=tableshi;delay(5);P2=0xFE;P0=tableqiangdanum;delay(5); /*顯示函數(shù):來(lái)顯示0-60的計(jì)數(shù)*/4.3 中斷程序 中斷的概念中斷是指由于某種隨機(jī)事件的發(fā)生,計(jì)算機(jī)暫?,F(xiàn)行的程序的運(yùn)行,轉(zhuǎn)去執(zhí)行另一個(gè)程序,以

34、處理發(fā)生的事件,處理完畢后又自動(dòng)返回原來(lái)的程序繼續(xù)運(yùn)行。有五種中斷源:外部中斷0、外部中斷1、定時(shí)器中斷0、定時(shí)器中斷1、串行中斷。它們的描述如表-1所示:表-1 五種中斷源的表示中斷源符號(hào)名稱終端引起的原因中斷矢量地址INT0外部中斷0由P3.2低電平或下降沿信號(hào)0003HT0定時(shí)器中斷0定時(shí)/計(jì)數(shù)器0回零溢出P3.40013HINT1外部中斷1由P3.3低電平或下降沿信號(hào)000BHT1定時(shí)器中斷1定時(shí)/計(jì)數(shù)器1回零溢出P3.5001BHTI/RI串行中斷串行口接收或發(fā)送完幀數(shù)據(jù)引起的中斷0023H 中斷所用到的寄存器介紹定時(shí)器/計(jì)數(shù)器中所介紹的寄存器:定時(shí)器/計(jì)數(shù)器控制寄存器TCONTCO

35、N的作用是控制定時(shí)器的啟動(dòng)停止,標(biāo)志定時(shí)器的溢出和中斷情況;中斷允許控制寄存器IE對(duì)中斷源的開放或屏蔽是由中斷寄存器IE控制的,地址為0A8H,即可以按字節(jié)尋址,也可以按位尋址。當(dāng)單片機(jī)復(fù)位時(shí),IE被清零。串行控制寄存器SCON定時(shí)/計(jì)數(shù)器的控制方法:在啟動(dòng)定時(shí)/計(jì)數(shù)器工作之前CPU必須將一些命令(稱為控制字)寫入定時(shí)/計(jì)數(shù)器中,這個(gè)過(guò)程稱為定時(shí)/計(jì)數(shù)的初始化。(定時(shí)/計(jì)數(shù)器的初始化通過(guò)定時(shí)/計(jì)數(shù)器的方式寄存器TMOD和控制寄存器TCON來(lái)完成。A.定時(shí)/計(jì)數(shù)器方式寄存器TMOD 表-1 選擇定時(shí)方式表M1M0工作方式功能說(shuō)明00方式013位計(jì)數(shù)器01方式116位計(jì)數(shù)器10方式2自動(dòng)再裝入8位

36、計(jì)數(shù)器11方式3定時(shí)器0:分成兩個(gè)8位計(jì)數(shù)器;定時(shí)器1:停止計(jì)數(shù)B.中斷程序的編寫的步驟: 根據(jù)要求設(shè)置IE(中斷允許寄存器)的對(duì)應(yīng)位EA(EA總中斷允許位 EA=1開放所有的中斷;EA=0禁止所有的中斷),某個(gè)中斷源還有相應(yīng)的中斷允許位 當(dāng)=1時(shí):允許相應(yīng)中斷源的中斷; 當(dāng)=0時(shí):禁止相應(yīng)中斷源的中斷; INT0、INT1設(shè)定觸發(fā)方式IT0(外部中斷觸發(fā)方式控制位)當(dāng)為0時(shí):低電平觸發(fā);當(dāng)為1時(shí):下降沿觸發(fā); 返回值是Void中斷函數(shù)名() interrupt() 為什么采用中斷控制方式CPU與外部設(shè)備的數(shù)據(jù)傳送方式: 無(wú)條件傳送方式 CPU總認(rèn)為外設(shè)處于準(zhǔn)備好的狀態(tài),外設(shè)比較簡(jiǎn)單 程序查詢

37、傳送方式 外設(shè)有一個(gè)狀態(tài)(狀態(tài)存儲(chǔ)在寄存器內(nèi))缺點(diǎn):CPU工作效率低,處于等待狀態(tài),為解決此缺點(diǎn)便出現(xiàn)了第三種傳送方式 中斷傳送方式中斷是指由于某種隨機(jī)事件的發(fā)生,計(jì)算機(jī)暫?,F(xiàn)行的程序,轉(zhuǎn)去執(zhí)行另一程序以處理發(fā)生的 事件,處理完畢后又自動(dòng)返回原來(lái)的程序繼續(xù)運(yùn)行。優(yōu)點(diǎn): 實(shí)現(xiàn)分時(shí)操作CPU分為多個(gè)I/O設(shè)備服務(wù),提高計(jì)算機(jī)的利用率(提前安排好的函數(shù)而中斷不同); 實(shí)時(shí)響應(yīng)CPU能夠及時(shí)處理應(yīng)用系統(tǒng)的隨機(jī)事件,系統(tǒng)的實(shí)時(shí)性大大增強(qiáng); 可靠性高 CPU具有處理設(shè)備故障及掉電等突發(fā)性事件的能力,從而使系統(tǒng)的可靠性提高。定時(shí)器的初始化:確定工作方式-對(duì)TMOD賦值;設(shè)置初始值-直接將初值寫入THO,TLO;開啟定時(shí)器的中斷-ETO=1 EA=1;啟動(dòng)定時(shí)器-將TR0或TRI置“1”。5 結(jié)束語(yǔ)我在這一次搶答器的設(shè)計(jì)過(guò)程中,很是受益匪淺。充分發(fā)揮對(duì)所學(xué)知識(shí)的理解和對(duì)畢業(yè)設(shè)計(jì)的思考及書面表達(dá)能力,最終完成了。這為自己今后進(jìn)一步深化學(xué)習(xí),積累了一定寶貴的經(jīng)驗(yàn)。撰寫課程設(shè)計(jì)的過(guò)程也是專業(yè)知識(shí)的學(xué)習(xí)過(guò)程,它使我運(yùn)用已有的專業(yè)基礎(chǔ)知識(shí),對(duì)其進(jìn)行設(shè)計(jì),分析和解

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論