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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

2、可靠等特色。對于搶答器我們大家都知道那是用于選手做搶答題時用的,選手進行搶答,搶到題的選手來回答問題。搶答器不僅考驗選手的反應速度同時也要求選手具備足夠的知識面和一定的勇氣。選手們都站在同一個起跑線上,體現(xiàn)了公平公正的原則。關鍵詞:搶答電路 定時電路 報警電路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 設計任務與要求11.2.1 基本要求11.2.2 發(fā)揮部分22 單片機芯片的選擇及搶答器方案2

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

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

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

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

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

12、K在系統(tǒng)可編程Flash存儲器。使用該公司高密度非易失性存儲器技術制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。在單芯片上擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash,使得AT89S52具有以下標準功能:8K字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內(nèi)晶振及時鐘電路??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器串口、中斷繼續(xù)工作。掉電保護方式下RAM內(nèi)容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。而且,它還具有一個看門狗(WDT)定時/計數(shù)器。如果程序

13、沒有正常工作,就會強制整個系統(tǒng)復位,還可以在程序陷入死循環(huán)的時候,讓單片機復位而不用整個系統(tǒng)斷電,從而保護你的硬件電路。T89S52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中端口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本。 單片機管腳說明 Vcc:供電電壓。 GND:接地。 P0口:P9口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠

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

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

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

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

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

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

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

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

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

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

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

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

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

27、供后面編寫具體程序和閱讀程序使用。流程圖是由一些圖框和流程線組成的,其中圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后次序。流程圖的基本結構為順序結構,分支結構(又稱選擇結構),循環(huán)結構。為便于識別,繪制流程圖的習慣做法是:方框表示:要執(zhí)行的處理(Process)平行四邊型表示:代表資料輸入(Input) 不規(guī)則圖形代表資料輸出(Output)或報表輸出(Print) 菱形表示:決策或判斷(例如:If.Then.Else) 初始化部分Kz= =0啟動中斷,數(shù)碼管開始計時若有選手搶答中斷停止,數(shù)碼管顯示選手的標號及所用的時間結束開始NYYN圖4.1-1 搶答器主程

28、序流程圖 定時器0中斷1秒時間到?中斷返回N秒加1數(shù)碼管顯示秒值Y圖4.1-2 搶答器定時器中斷流程圖外部中斷0中斷K0鍵按下K1鍵按下K3鍵按下K2鍵按下中斷返回與K0鍵對應的發(fā)光二極管亮及數(shù)碼管顯示與K1鍵對應的發(fā)光二極管亮及數(shù)碼管顯示與K3鍵對應的發(fā)光二極管亮及數(shù)碼管顯示與K2鍵對應的發(fā)光二極管亮及數(shù)碼管顯示YYYYNNNN圖4.1-3 外部中斷程序圖4.2 主程序我所設計的搶答器的程序采用的是C程序設計,C語言的顯著特點是用二進制來編寫程序,程序的各個部分除了必要的信息交流外彼此之間相互獨立。這種結構化方式可使程序層次清晰, 便于使用、維護以及調試。C語言是以函數(shù)形式提供給用戶的,這些

29、函數(shù)可方便的調用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結構化。雖然C語言也是強類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度。本次設計的主程序中包括時鐘設計程序,定時器中斷子程序,LED顯示程序以及按鍵控制子程序,程序設計如下: #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; /*采用方式一,即十六位計數(shù)器*/TH0=(65536-50000)/256; /*設置初始值*/TL0=(6553

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

32、下*/ d1=0;qiangdanum=2;B0=1; /* 2號選手搶答成功,數(shù)碼管顯示2,蜂鳴器響,第2個二極管亮*/if(k2=0) /*開關2按下*/ d2=0;qiangdanum=3;B0=1; /* 3號選手搶答成功,數(shù)碼管顯示3,蜂鳴器響,第3個二極管亮*/if(k3=0) /*開關3按下*/ d3=0;qiangdanum=4;B0=1; /* 4號選手搶答成功,數(shù)碼管顯示4,蜂鳴器響,第4個二極管亮*/void time0() interrupt 1num+;TH0=(65536-50000)/256;TL0=(65536-50000)%256; /*1秒定時函數(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ù):來顯示0-60的計數(shù)*/4.3 中斷程序 中斷的概念中斷是指由于某種隨機事件的發(fā)生,計算機暫?,F(xiàn)行的程序的運行,轉去執(zhí)行另一個程序,以

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

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

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

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

溫馨提示

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

評論

0/150

提交評論