單片機課程設(shè)計(完整版六路搶答器)_第1頁
單片機課程設(shè)計(完整版六路搶答器)_第2頁
單片機課程設(shè)計(完整版六路搶答器)_第3頁
單片機課程設(shè)計(完整版六路搶答器)_第4頁
單片機課程設(shè)計(完整版六路搶答器)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理及應(yīng)用課程設(shè)計學(xué)號 2010單片機中級教程原理與應(yīng)用課 程 設(shè) 計(2010屆本科)題 目: 六路搶答器設(shè)計 學(xué) 院: 物理與機電工程學(xué)院專 業(yè): 電氣程及其自動化 作者姓名: 指導(dǎo)教師: 職稱:副教授 完成日期: 201年12月15 日 摘要本設(shè)計是六路智力搶答器。使用51系列單片機,編寫應(yīng)用程序來實現(xiàn)智力搶答功能。硬件設(shè)計使用的是51系列單片機中的89C51。硬件設(shè)計利用其中斷控制程序進行搶答部分的處理,通過非門的控制去申請單片機內(nèi)部的中斷,以達到顯示搶答的目的。軟件設(shè)計利用中斷系統(tǒng)的基本構(gòu)成原理編寫中斷服務(wù)程序,其信號由按鍵電路提供,由CPU響應(yīng)中斷,并輸出響應(yīng)。用到了查詢按鍵

2、模塊、定時器模塊、顯示時間模塊、顯示組號模塊、報警模塊等。關(guān)鍵詞:89C51 中斷 定時器 報警電路等 目錄第1章 緒論21.1 智能搶答器的發(fā)展現(xiàn)狀21.2 搶答器的背景和特點2第2章 搶答器的系統(tǒng)概述22.1 六路搶答器設(shè)計功能要求22.2 搶答器設(shè)計方案3第3章 系統(tǒng)硬件電路設(shè)計33.1 系統(tǒng)電路圖33.2 時鐘頻率電路的設(shè)計43.3 鍵盤掃描電路的設(shè)計43.4 顯示電路的設(shè)計5第4章 系統(tǒng)軟件設(shè)計64.1 程序流程圖64.2 系統(tǒng)程序6第5章 仿真調(diào)試及性能分析75.1 仿真調(diào)試7一、上電顯示7二、開始搶答倒計時顯示7三、正確搶答顯示8四、違規(guī)搶答顯示85.2 性能分析9第6章 設(shè)計出

3、現(xiàn)的問題及總結(jié)96.1 設(shè)計出現(xiàn)的問題96.2 總結(jié)9附錄12第1章 緒論1.1 智能搶答器的發(fā)展現(xiàn)狀 隨著電子技術(shù)的發(fā)展,現(xiàn)在的搶答器功能越來越強,可靠性和準(zhǔn)確性也越來越高。能夠?qū)崿F(xiàn)搶答器功能的方式有多種,可以采用前期的模擬電路、數(shù)字電路或模擬與數(shù)字電路相結(jié)合的方式,但這種方式制作過程復(fù)雜,而且準(zhǔn)確性與可靠性不高,成品面積大。對于目前搶答器的功能描述,如涵蓋搶答器、搶答限時、選手答題計時及犯規(guī)組號搶答器具有搶答自鎖,燈光指示、暫停復(fù)位、電子音樂報聲、自動定時等功能,還有工作模式的切換和時間設(shè)定,對于這些,隨著科學(xué)技術(shù)的發(fā)展,肯定還要得到進一步的改進。一般都要趨向于智能化。1.2 搶答器的背景

4、和特點在各類競賽中,特別是做搶答題時,在搶答過程中,為了知道哪一組或哪一名選手先答題,必須要有一個系統(tǒng)來完成這個任務(wù)。如果在搶答過程中,只靠人的視覺是很難判斷出哪組先答題。利用單片機來設(shè)計搶答器,使以上問題得以解決,即使有兩組的搶答時間相差幾微秒,也可分辨出哪組優(yōu)先答題。搶答器是一種應(yīng)用非常廣泛的設(shè)備,在各種競賽、搶答場合中,它能迅速、客觀地分辨出最先獲得發(fā)言權(quán)的選手。早期的搶大漆只由幾個三極管、可控硅、發(fā)光管等組成, 能通過發(fā)光管的指示辨認出選手號碼?,F(xiàn)在大多數(shù)搶答器均使用單片機(如MCS-51型)和數(shù)字集成電路,并增加了許多新功能,如選手號碼顯示、搶按前或搶按后的計時、選手得分顯示功能。像

5、這類搶答器,制作過程簡單,準(zhǔn)確性與可靠性高,而且安裝維護簡單。對于搶答器的應(yīng)用,如早期的數(shù)字電路,隨著科技的逐步發(fā)展,進而到了單片機的控制來實現(xiàn)其功能,而且功能齊全,電路簡單,成本低,性能高,真正朝著有利的方向發(fā)展。第2章 搶答器的系統(tǒng)概述2.1 六路搶答器設(shè)計功能要求1、基本要求(1)搶答器同時供6名選手或6個代表隊比賽,分別用6個按鈕S0 S5表示。(2)設(shè)置一個系統(tǒng)清除和搶答控制開關(guān)S,該開關(guān)由主持人控制。(3) 搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應(yīng)的編號,并在LED數(shù)碼管上顯示,同時揚聲器發(fā)出報警聲響提示。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除

6、為止。(4)搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定(如30秒)。當(dāng)主持人啟動"開始"鍵后,定時器進行減計時,同時揚聲器發(fā)出短暫的聲響,聲響持續(xù)的時間0.5秒左右。(5)參賽選手在設(shè)定的時間內(nèi)進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統(tǒng)清除為止。(6)如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并禁止搶答,定時顯示器上顯示FF。2.2 搶答器設(shè)計方案在設(shè)計中采用的單片機是AT89C51,它主要負責(zé)控制各個部分協(xié)調(diào)工作。P1.0和P1.7由裁判控制,分別是搶答開始和停止鍵。P1.1P1.6是6組搶答的輸入口,按

7、下對應(yīng)按鈕即為搶答。P0口為數(shù)碼管的段選口,位選口用的是P2口的低4位。P3.6為蜂鳴器的控制口。外部還接有蜂鳴器用來發(fā)出報警音。采用7SEG-MPX4-CA-BLUE顯示,它是共陰極的由高電平點亮。系統(tǒng)仿真用到了Proteus7.10軟件,通過仿真可以顯示所設(shè)計系統(tǒng)的功能,對于程序的調(diào)試等有很大的幫助。第3章 系統(tǒng)硬件電路設(shè)計3.1 系統(tǒng)電路圖如圖3-1,P1.0為開始搶答,P1.7為停止,P1.1-P1.6為六路搶答輸入,數(shù)碼管段選P0口,位選P2口低3位,蜂鳴器輸出為P3.6口。圖3-1 系統(tǒng)電路原理圖3.2 時鐘頻率電路的設(shè)計單片機必須在時鐘的驅(qū)動下才能工作.在單片機內(nèi)部有一個時鐘振蕩

8、電路,只需要外接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機內(nèi)部的各個單元,決定單片機的工作速度。圖3-2晶振電路的設(shè)計3.3 鍵盤掃描電路的設(shè)計P1.0和P1.7由裁判控制,分別是搶答開始和停止鍵。P1.1-P1.6是6組搶答的輸入口,按下按鈕搶答。圖3-3 點鍵盤掃描電路3.4 顯示電路的設(shè)計采用7個電阻做為上拉電阻,數(shù)碼管7SEG-MPX4-CA-BLUE,它是共陰極的數(shù)碼管。采用74LS04單輸入非門。圖3-4 顯示電路的設(shè)計第4章 系統(tǒng)軟件設(shè)計軟件任務(wù)分析和硬件電路設(shè)計結(jié)合進行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計基本定型后,也就基本上決定下來了。4.1 程序流程圖圖

9、4-1 程序流程圖4.2 系統(tǒng)程序在本設(shè)計中包括了以下六個主要的程序:主程序、非法搶答程序、倒計時程序、正常搶答處理程序、犯規(guī)處理程序、顯示及發(fā)聲程序。P1.0為開始搶答,P1.7為停止,p1.1-p1.6為六路搶答輸入數(shù)碼管段選P0口,位選P2口,蜂鳴器輸出為P3.6口。注:源程序代碼見附頁第5章 仿真調(diào)試及性能分析5.1 仿真調(diào)試一、上電顯示圖5-1 上電顯示圖當(dāng)上電時,數(shù)碼顯示管顯示“FFF”,其中,左邊兩個數(shù)碼管顯示時間,最后一個顯示搶答選手的編號。二、開始搶答倒計時顯示圖5-3 開始搶答倒計時顯示當(dāng)主持人按下“開始”按鈕后,定時器開始48s倒計時,各選手要在48s中完成搶答,當(dāng)?shù)褂嫊r

10、剩余5s時,若還無人搶答,蜂鳴器就會發(fā)出聲響進行提示。若無人搶答,此輪搶答結(jié)束,顯示器顯示“FFF”。三、正確搶答顯示圖5-3 正確搶答顯示如圖,當(dāng)主持人按下“開始”按鈕后,五號選手搶答成功,并開始答題倒計時,要求選手在限定時間內(nèi)作答。當(dāng)?shù)褂嫊r剩余5s時,蜂鳴器開始發(fā)出聲響,當(dāng)?shù)褂嫊r完成時,顯示器顯示“FFF”。四、違規(guī)搶答顯示圖5-4 違規(guī)搶答顯示當(dāng)主持人還未按下“開始”按鈕,選手就按下了搶答鍵,就會出現(xiàn)如上圖所示情況,并且蜂鳴器會一直發(fā)出警報,直到按下結(jié)束“按鈕”。5.2 性能分析(1)具有清零裝置和搶答控制,可由主持人操縱避免有人在主持人說“開始”前提前搶答違反規(guī)則。(2)具有定時功能,

11、在48秒內(nèi)無人搶答表示所有參賽選手獲參賽隊對本題棄權(quán)。(3)48秒時仍無人搶答其報警電路工作表示搶答時間耗盡并禁止搶答。 (5)主持人按"搶答開始"鍵,會有提示音,并立刻進入搶答倒計時(預(yù)設(shè)48s搶答時間),如有選手搶答,會有提示音,并會顯示其號數(shù)并立刻進入回答倒計時(預(yù)設(shè)69s搶答時間),不進行搶答查詢,所以只有第一個按搶答的選手有效。倒數(shù)時間到小于5s會每秒響一下提示音。 (6)如倒計時期間,主持人想停止倒計時可以隨時按"停止"按鍵,系統(tǒng)會自動進入準(zhǔn)備狀態(tài),等待主持人按"搶答開始"進入下次搶答計時。 (7)如果主持人未按"

12、;搶答開始"鍵,而有人按了搶答按鍵,犯規(guī)搶答,LED上不斷閃爍FF和犯規(guī)號數(shù)并響個不停,直到按下"停止" 鍵為止。第6章 設(shè)計出現(xiàn)的問題及總結(jié)6.1 設(shè)計出現(xiàn)的問題在本次課程設(shè)計過程中,出現(xiàn)了許許多多的問題,主要包括在程序的編寫及調(diào)試、仿真及調(diào)試和設(shè)計本身的不足,如查詢模塊、延時模塊的程序編寫。此次所設(shè)計的搶答器可實現(xiàn)基本的操作功能,可是還存在許多不足之處,如當(dāng)搶答時,如果前一位選手搶答錯誤而繼續(xù)搶答時,前一個選手的號碼不能自動被清除;還有就是不能調(diào)整搶答計時時間等等。6.2 總結(jié)通過此次單片機設(shè)計實習(xí),把自己在學(xué)校學(xué)到的知識轉(zhuǎn)化為實驗成果,積累了一定的經(jīng)驗,提高

13、了分析問題和解決問題的實際能力。我體會到課程設(shè)計的各個環(huán)節(jié),不是孤立的,每個環(huán)節(jié)都是必不可少的。在該課程設(shè)計的過程中,我深刻體會到了計算機研究工作的艱辛。自己覺得理論上可行的方法,在實驗的過程中卻不一定行得通。經(jīng)過了一次又一次地修改程序和檢查電路,終于完成了自己的課程設(shè)計。雖然它有許多的不完善,可我卻有一種無法言表的喜悅與成就感。我明白了課程設(shè)計的過程,就是不斷地改進與完善的過程。 在開發(fā)設(shè)計過程中,由于知識有限,經(jīng)驗不足,課程設(shè)計時間短,難免有很多的不足,敬請老師指教,以待日后加以改進。參考文獻1單片機中級教程原理及應(yīng)用(第2版),張俊謨,北京航空航天大學(xué)出版社,20062Proteus在M

14、CS-51系統(tǒng)中的應(yīng)用百例,周潤景、袁偉亭、景曉松,電子工業(yè)出版社,2006 3單片機系統(tǒng)設(shè)計與實例指導(dǎo),馮育長,西安電子科技大學(xué)出版社,2007附錄:源程序代碼OK EQU 20H; 搶答開始標(biāo)志位 RING EQU 22H; 響鈴標(biāo)志位 ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 001BH AJMP T1INT ORG 0040HMAIN: MOV R1,#30H; 初設(shè)搶答時間 MOV R2,#45H; 初設(shè)答題時間 MOV TMOD,#11H; 設(shè)置未定時器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH; 越高發(fā)聲頻率越

15、高,越尖 MOV TH1,#3CH MOV TL1,#0B0H; 50ms為一次溢出中斷 SETB EA SETB ET0 SETB ET1 CLR OK CLR RING SETB TR1 SETB TR0; 一開始就運行定時器,以開始顯示FFF. START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY; 未開始搶答時候顯示FFF JB P1.0,NEXT ACALL DELAY JB P1.0,NEXT; 去抖動,如果"開始鍵"按下就向下執(zhí)行,否者跳到非法搶答查詢 ACALL BARK; 按鍵發(fā)聲 MOV A,R

16、1 MOV R6,A; 送R1-R6,因為R1中保存了搶答時間 SETB OK; 搶答標(biāo)志位,用于COUNT只程序中判斷是否查詢搶答 MOV R3,0AH; 搶答只顯示計時,滅號數(shù) AJMP COUNT; 進入倒計時程序,"查詢有效搶答的程序"在COUNT里面NEXT: JNB P1.1,FALSE1 JNB P1.2,FALSE2 JNB P1.3,FALSE3 JNB P1.4,FALSE4 JNB P1.5,FALSE5 JNB P1.6,FALSE6 AJMP STARTFALSE1: ACALL BARK; 按鍵發(fā)聲 MOV R3,#01H AJMP ERRORF

17、ALSE2: ACALL BARK MOV R3,#02H AJMP ERRORFALSE3: ACALL BARK MOV R3,#03H AJMP ERRORFALSE4: ACALL BARK MOV R3,#04H AJMP ERRORFALSE5: ACALL BARK MOV R3,#05H AJMP ERRORFALSE6: ACALL BARK MOV R3,#06H AJMP ERRORCOUNT: MOV R0,#00H; 重置定時器中斷次數(shù) MOV TH1,#3CH MOV TL1,#0B0H; 重置定時器RECOUNT: MOV A,R6; R6保存了倒計時的時間,之前

18、先將搶答時間或回答時間給R6 MOV B,#0AH DIV AB; 除十分出個位/十位 MOV 30H,A; 十位存于(30H) MOV 31H,B; 個位存于(31H) MOV R5,30H; 取十位 MOV R4,31H; 取個位 MOV A,R6 SUBB A,#07H JNC LARGER MOV A,R0 CJNE A,#0AH,FULL; 1s中0.5s向下運行 CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK; 下面系1s的情況,響并顯示號數(shù)并清R0,重新計時 SETB RING MOV A,R6 JZ QUIT; 計時完畢 MOV R0,#0

19、0H DEC R6; 一秒標(biāo)志減1 AJMP CHECKLARGER: MOV A,R0 CJNE A,#14H,CHECK; 如果1s向下運行,否者跳到查"停/顯示" DEC R6; 計時一秒R6自動減1 MOV R0,#00HCHECK: JNB P1.7,QUIT; 如按下停止鍵退出 ACALL DISPLAY JB OK,ACCOUT; 如果是搶答倒計時,如是則查詢搶答,否者跳過查詢繼續(xù)倒數(shù) AJMP RECOUNTACCOUT: JNB P1.1,TRUE1 JNB P1.2,TRUE2 JNB P1.3,TRUE3 JNB P1.4,TRUE4 JNB P1.5

20、,TRUE5 JNB P1.6,TRUE6 AJMP RECOUNTQUIT: CLR OK; 如果按下了"停止鍵"執(zhí)行的程序 CLR RING AJMP STARTTRUE1: ACALL BARK; 按鍵發(fā)聲 MOV A,R2 MOV R6,A; 搶答時間R2送R6 MOV R3,#01H CLR OK; 因為答題的計時不再查詢搶答,所以就鎖了搶答 AJMP COUNTTRUE2:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#02H CLR OK AJMP COUNTTRUE3:ACALL BARK; MOV A,R2 MOV R6,A M

21、OV R3,#03H CLR OK AJMP COUNTTRUE4:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#04H CLR OK AJMP COUNTTRUE5: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#05H CLR OK AJMP COUNTTRUE6: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#06H CLR OK AJMP COUNTERROR: MOV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H MOV 34H,R3; 犯規(guī)號數(shù)暫存與(34H)HERE:

22、 MOV A,R0 CJNE A,#0AH,FLASH; 0.5s向下運行->滅并停響 CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH; 三燈全滅 AJMP CHECK1FLASH: CJNE A,#14H,CHECK1; 下面系1s的情況,響并顯示號數(shù)并清R0,重新計 SETB RING MOV R0,#00H MOV R3,34H; 取回號數(shù) MOV R5,#0BH MOV R4,#0BH; 顯示FF和號數(shù) AJMP CHECK1CHECK1: JNB P1.7,QUIT1 ACALL DISPLAY AJMP HEREQUIT1: CLR

23、RING CLR OK AJMP STARTDISPLAY:MOV DPTR,#DAT1; 查表顯示程序,利用P0口做段選碼口輸出/P2低三位做位選碼輸出 MOV A,R5 MOVC A,A+DPTR MOV P2,#01H MOV P0,A ACALL DELAY MOV DPTR,#DAT2 MOV A,R4 MOVC A,A+DPTR MOV P2,#02H MOV P0,A ACALL DELAY MOV A,R3 MOVC A,A+DPTR MOV P2,#04H MOV P0,A ACALL DELAY RETDAT1: DB 00H,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論