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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

29、函數可方便的調用,并具有多種循環、條件語句控制程序流向,從而使程序完全結構化。雖然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(); /*顯示函數*/void delay(unsigned int);main()TMOD=0X01; /*采用方式一,即十六位計數器*/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號選手搶答成功,數碼管顯示1,蜂鳴器響,第1個二極管亮*/if(k1=0) /*開關1按

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

33、d delay(unsigned int z)unsigned int x,y; for(x=z;x>0;x-) for(y=110;y>0;y-); /*延遲函數*/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); /*顯示函數:來顯示0-60的計數*/4.3 中斷程序 中斷的概念中斷是指由于某種隨機事件的發生,計算機暫停現行的程序的運行,轉去執行另一個程序,以

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

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

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

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

溫馨提示

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

評論

0/150

提交評論