搶答器課程設計說明書_第1頁
已閱讀1頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  1 前言1</b></p><p><b>  2 正文1</b></p><p>  2.1 搶答器的概述及制作要求1</p><p>  2.1.1 搶答器的概述1</p>&

2、lt;p>  2.1.2 設計任務和要求1</p><p>  2.1.3 涉及知識點1</p><p>  2.2 單片機芯片的選擇及模塊性能分析1</p><p>  2.2.1 單片機芯片的選擇1</p><p>  2.2.2 模塊性能分析2</p><p>  2.3 電路設計2</p

3、><p>  2.3.1 電路原理圖2</p><p>  2.3.2 顯示電路的設計3</p><p>  2.3.3 選手按鍵電路的設計3</p><p>  2.3.4 主持人按鍵電路的設計3</p><p>  2.3.5 時鐘電路的設計3</p><p>  2.3.6 復位電路

4、的設計4</p><p>  2.3.7 發(fā)音電路的設計4</p><p>  2.4 系統(tǒng)程序設計4</p><p>  2.4.1 搶答器流程圖4</p><p>  2.4.2 中斷程序4</p><p>  2.4.3 主程序設計5</p><p>  2.5 實物連接6&

5、lt;/p><p><b>  3 致謝7</b></p><p><b>  4 參考文獻7</b></p><p><b>  1前言</b></p><p>  在知識競賽中,特別是在做搶答題時,在搶答的過程中,為了更加確切的知道哪一組選手或哪一位選手先搶答到題,必須要有

6、一個系統(tǒng)來完成這個任務。如果在實際的搶答中直接靠人的視覺或者聽覺是很難判斷出哪一組或哪一位選手先搶到題的。利用單片機編程來設計搶答器,可以使以上問題變得簡單,容易解決,即使兩組選手的搶答時間值相差幾微妙,也能輕松的分辨出哪一組或哪一個選手先搶答到題的。本文主要介紹搶答器的工作原理和設計,以及他的實際用途。本系統(tǒng)采用89C51單片機作為整個控制核心??刂葡到y(tǒng)的三個模塊為:顯示模塊、存儲模塊、搶答開關模塊。該系統(tǒng)通過開關電路四個按鍵輸入搶答

7、信號;利用一個數碼管來完成顯示的功能;用按鍵來讓選手進行搶答,經過單片機的處理后,在數碼管上顯示出是哪一組先搶答到題的,從而實現整個搶答過程。</p><p><b>  2正文</b></p><p>  2.1 搶答器的概述及制作要求</p><p>  2.1.1 搶答器的概述</p><p>  隨著我國經濟和文

8、化的高速發(fā)展,在很多公開競爭場合要求有公正的競爭裁判,比如科技競賽、拍賣交易等,因此出現了搶答器這一高科技工具。搶答器一般是由很多電路組成的,線路復雜,可靠性不高,功能也比較單一,特別是當搶答的路數太多時,實現起來很困難。</p><p>  在目前的市場上,普通搶答器要幾百塊錢,價格比較昂貴。因此我們設計了以單片機為核心的智能搶答器,不僅保留了原始搶答器的基本功能,同時又增加一些實用的功能,并簡化了其電路結構。

9、這樣制作出來的搶答器電路簡單、成本較低、操作方便、靈敏可靠、具有較高的實用推廣價值。</p><p>  2.1.2 設計任務和要求</p><p>  基于AT89C51單片機設計制作一個搶答器,具體要求如下:</p><p>  設計一個智力競賽搶答器,可以同時供8名選手參加比賽,編號為1—8,各用一個按鈕。</p><p>  給主持人

10、設置一個控制開關,來控制系統(tǒng)的清零和搶答的開始。</p><p>  搶答器具有數據鎖存功能、顯示功能。搶答開始后,如果有選手按動搶答按鈕,立即鎖存編號,并在靜態(tài)LED數碼管上顯示選手的編號。此外,還要封鎖輸入電路,禁止其他選手搶答,最先搶答的選手的編號一直保持到主持人將系統(tǒng)清零為止。</p><p>  2.1.3 涉及知識點</p><p>  本項目需要掌握和

11、了解如下知識點:</p><p><b>  +5V電源原理</b></p><p>  單片機復位電路工作原理</p><p><b>  按鍵電路的設計</b></p><p><b>  數碼管特性及使用</b></p><p>  AT89C51

12、單片機功能及引腳排布</p><p>  單片機匯編語言級程序設計</p><p>  2.2 單片機芯片的選擇及模塊性能分析</p><p>  2.2.1 單片機芯片的選擇</p><p>  本次課設使用的是Atmel公司推出的AT89C51芯片,它是一種低功效、高性能的CMOS8位微控制器,具有8K可編程Flash存儲器【1】。有40

13、個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中端口,2個16位可編程定時計數器,2個全雙工串行通信口,片上Flash允許程序存儲器在系統(tǒng)可編程,亦適用于常規(guī)編程器【2】。其將通用的.微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本【3】。</p><p>  2.2.2 模塊性能分析</p><p>  模塊主要分為AT89C5

14、1芯片、電源電路、主持人按鍵、選手按鍵和數碼管顯示等部分,下面對這幾部分進行介紹:</p><p><b>  主持人按鍵</b></p><p>  使用一個常用按鈕和一個電阻組成主持人按鍵的輸入電路。按鈕為自復式常開按鈕開關,一般情況下輸入端為高電平,當主持人按下按鍵時,輸入低電平,系統(tǒng)將清零,搶答將重新開始。</p><p><b&

15、gt;  選手按鍵</b></p><p>  利用8個常開按鈕開關和8個電阻組成搶答器的輸入電路。按鈕為自復式常開按鈕開關,分別作為8位搶答按鈕,一般情況下鎖存器的輸入端為高電平,當有選手按下按鍵時,輸入低電平,數碼管顯示器上立即顯示相應的選手編號。</p><p><b>  數碼管顯示</b></p><p>  靜態(tài)LED數

16、碼管只有8個引腳,要想顯示數字編號,必須先對接收到的信號進行處理。我們將通過編程直接使用靜態(tài)LED數碼管顯示,以達到簡化電路,節(jié)省成本的目的。</p><p><b>  2.3 電路設計</b></p><p>  2.3.1 電路原理圖</p><p>  根據以上的分析,我們設計出基于AT89C51單片機的搶答器電路原理圖,工作原理為:電

17、源電路為單片機提供標準+5V電源;單片機作為主控制器,根據輸入信號對系統(tǒng)進行響應的控制;選手按下響應的按鍵后,提交輸入信號給系統(tǒng);數碼管顯示最先按下按鍵的選手的編號,直到主持人清零;主持人按下清零按鍵,數碼管清零,系統(tǒng)重新開始進行搶答。</p><p>  根據搶答器的基本功能,可以設計出如下的單片機外圍電路:</p><p>  圖2-3-1.1 總體設計框圖</p>&l

18、t;p>  圖2-3-1.2 總體設計</p><p>  2.3.2 顯示電路的設計</p><p>  顯示電路用了一個七段LED數碼管,它是共陽極的,由高電平點亮??梢灾苯咏邮誂T89C51單片機傳送的信號。我們要使其顯示數字,就必須對其接收的信號進行處理。選手按下按鍵后,先由程序選擇數碼管將要顯示的內容,再將處理后的信號提交給數碼管,以完成顯示特定信息的功能。</p&g

19、t;<p>  圖2-3-2 顯示電路</p><p>  2.3.3 選手按鍵電路的設計</p><p>  選手按鍵只要向系統(tǒng)提交一個按下的信息就夠了,由程序自行判斷是哪位選手按下的按鍵,設計并不復雜,硬件電路簡單。搶答器的選手按鍵輸入電路如下:</p><p>  圖2-3-3 選手按鍵電路</p><p>  2.3.4

20、 主持人按鍵電路的設計</p><p>  主持人按鍵只要向系統(tǒng)提交一個按下的信息就夠了,設計并不復雜,硬件電路簡單。搶答器的主持人按鍵輸入電路如下:</p><p>  圖2-3-4 主持人按鍵電路</p><p>  2.3.5 時鐘電路的設計</p><p>  在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)或陶瓷諧振器,就構成

21、了內部振蕩方式。由于單片機內部有一個高增益反相放大器,當外接晶振后,就構成了自激振蕩器,并產生振蕩時鐘脈沖。晶振通常選用6MHz、12MHz或24MHz。內部振蕩方式如圖1所示。圖中電容器C1,C2起穩(wěn)定振蕩頻率、快速起振的作用。電容值一般為5~30pF。內部振蕩方式所得的時鐘信號比較穩(wěn)定,實用電路中使用較多。</p><p>  圖2-3-5 時鐘電路</p><p>  2.3.6 復

22、位電路的設計</p><p>  復位操作完成單片機片內電路的初始化,使單片機從一種確定的狀態(tài)開始運行。</p><p>  圖2-3-6 復位電路</p><p>  2.3.7 發(fā)音電路的設計</p><p>  采用普通5V成品小蜂鳴器。</p><p>  圖2-3-6 發(fā)音電路</p><

23、p>  2.4 系統(tǒng)程序設計</p><p>  2.4.1 搶答器流程圖</p><p>  流程圖是使用圖形表示算法思路的一種極好的表示方法,不論采用何種程序設計方法,程序總體結構確定后,一般以程序流程圖的形式對其進行描述??傮w框圖中的各個子模塊或各個子任務也應該結合具體的數學模型和算法畫出較詳細的程序流程圖,供后面編寫具體程序和閱讀程序使用【4】。流程圖如下:</p>

24、;<p>  圖2-4-1 搶答器主程序流程圖</p><p>  2.4.2 中斷程序</p><p>  中斷是指由于某種事件的發(fā)生,計算機暫?,F行的程序,轉去執(zhí)行另一個程序,處理發(fā)生的事件,處理完畢后自動返回原來的程序繼續(xù)運行【5】。</p><p>  在搶答中,程序要等待選手或主持人按下按鍵才能繼續(xù)運行,要完成這個功能有兩種方法:1、查詢方式

25、;2、中斷方式。使用單片機的中斷系統(tǒng)需要編寫代碼對單片機進行設置,并且使用固定的接口,非常不方便。使用查詢的方式不需要對單片機進行設置,只要在需要的地方編寫程序代碼就行,簡單方便,對接口沒有限制,可以使用單片機上任意的借口完成。這里我們使用查詢的方式完成等待的過程,即設定查詢某些固定接口,直到某個接口發(fā)生變化,系統(tǒng)繼續(xù)執(zhí)行下去,否則就一直查詢下去。</p><p>  2.4.3 主程序設計</p>

26、<p>  我們設計的搶答器的程序采用的是匯編語言和C語言兩種設計。</p><p>  首先我們用匯編語言進行設計,本次設計的主程序中包括LED顯示程序以及按鍵控制子程序,在完成目標的前提下,我們再加入發(fā)音與密碼鎖的功能。程序的主要設計如下,源程序詳見附錄A。</p><p>  TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,8

27、0H ;共陽極數碼管顯示代碼表:012345678</p><p>  MAIN:MOV P2,#0FFH ;P2口設置為高電平,準備接收信號</p><p>  MOV R4,#0 ;R4的位標志清零</p><p>  MOV A,R4 ;R4位標志值送A寄存</p><p>  AGAIN:MOV DPT

28、R,#TABLE ;設定共陽極數碼管代碼表的首地址</p><p>  MOVC A,@A+DPTR;取出顯示0的代碼送寄存器A</p><p>  MOV P3,A ;將A的內容送P3口顯示</p><p>  LOOP1:MOV A,P0;接收P0口的搶答信號</p><p>  CPL A ;搶答

29、信號求反</p><p>  JZ LOOP1 ;如果沒有搶答信號則再返回LOOP1,繼續(xù)接收信號</p><p>  LOOP2:RRC A;有搶答信號則逐次移動判斷是哪一位搶答</p><p>  INC R4;每移動一位,R4標志位加1</p><p>  JNC LOOP2;沒有遇到搶答信號則返

30、回LOOP2繼續(xù)移位</p><p>  MOV A,R4 ;遇到搶答信號,把R4標志位的值送A</p><p>  MOVC A,@A+DPTR;將相應的數碼管顯示代碼送A</p><p>  MOV P3,A;將A的值送P3口顯示</p><p>  LOOP3:JNB P2.0,MAIN;查詢主持人是否按下

31、按鍵,按下則返回主程序,重新開始</p><p>  SJMP LOOP3 ;主持人沒有按下按鍵,返回繼續(xù)查詢,直到主持人按下為止</p><p>  匯編語言編程完成以后,再進行C語言程序設計,完成的功能和匯編語言程序一樣。在此基礎上添加了額外的功能,按鍵被按下后能發(fā)出聲音。主要程序設計如下,源程序詳見附錄B。</p><p>  unsigned cha

32、r code SEG_TAB[ ] ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80}; //定義顯示用的數組0-8</p><p>  void main(void) //主程序</p><p>  { while(1) //持續(xù)循環(huán)</p><p>  { P2=0x0ff

33、; //設定初值,定義P2口為1111 1111H</p><p>  P3 = SEG_TAB[ 0 ]; //設定初值,P3口顯示數組中的第一個數據</p><p>  for(P0=0x0ff;P0!=0x0ff;P0=P0) //外層循環(huán),設定初值,定義P0口為 1111 1111H,等待P0口接收按鍵動作</p><p>  

34、{ switch(P0) //如果P0口接收到信號,則判斷是哪一位選手按下的按鍵</p><p>  { case 0xfe: P3 = SEG_TAB[ 1 ]; break; //判斷為1號選手,P3口顯示數組第二個數據</p><p>  case 0xfd: P3 = SEG_TAB[ 2 ]; break; //判斷為2號選手,P3口顯示數組第三個數據</p&

35、gt;<p>  case 0xfb: P3 = SEG_TAB[ 3 ]; break; //判斷為3號選手,P3口顯示數組第四個數據</p><p>  case 0xf7: P3 = SEG_TAB[ 4 ]; break; //判斷為4號選手,P3口顯示數組第五個數據</p><p>  case 0xef: P3 = SEG_TAB[ 5 ]; break;

36、//判斷為5號選手,P3口顯示數組第六個數據</p><p>  case 0xdf: P3 = SEG_TAB[ 6 ]; break; //判斷為6號選手,P3口顯示數組第七個數據</p><p>  case 0xbf: P3 = SEG_TAB[ 7 ]; break; //判斷為7號選手,P3口顯示數組第八個數據</p><p>  case 0x7f

37、: P3 = SEG_TAB[ 8 ]; break; //判斷為8號選手,P3口顯示數組第九個數據</p><p>  default: break; //判斷為其他信號</p><p><b>  } </b></p><p>  for(P2=0x0ff;P2!=0x0ff;P2=P2) //內層循環(huán),等待接收P2

38、口的按鍵動作</p><p>  {P0=0x0ff; //設定初值,定義P0口為1111 1111H使得外層循環(huán)能繼續(xù)進行</p><p>  P2=0x0ff;//設定初值,定義P2口為1111 1111H使得內層循環(huán)能繼續(xù)進行</p><p>  P3 = SEG_TAB[ 0 ];//設定初值,P3口顯示數組中的第一個數據</p>&l

39、t;p><b>  }}}}</b></p><p><b>  2.5 實物連接</b></p><p>  電路設計與程序設計都已經完成,接下來需要先進行仿真,調試無誤后才能連接實物。我們需要先使用Keil軟件進行編程,產生HEX文件,之后使用Proteus 7 Professional來導入HEX文件,然后運行系統(tǒng)。運行無誤后,再連接

40、開發(fā)板,寫入程序。</p><p>  按照電路圖連接開發(fā)板</p><p>  圖2-5.1 實物連接</p><p><b>  燒錄程序</b></p><p>  使用PZISP自動下載軟件進行程序的燒錄,需要選擇芯片類型、波特率與hex文件。</p><p><b>  運行操

41、作</b></p><p>  圖2-5.2 運行開發(fā)板</p><p><b>  3致謝</b></p><p>  我在這一次搶答器的設計中受益匪淺。通過對這一年所學知識的回顧,并充分發(fā)揮對所學知識的理解和對本次課程設計論文的思考及書面表達能力,最終完成了。這為自己今后進一步深化學習,積累了一定的寶貴的經驗。撰寫論文的過程也是

42、對專業(yè)知識的學習過程,它使我運用已有的專業(yè)基礎知識,對其進行設計,分析和解決一個理論問題或實際問題,把專業(yè)知識轉化為能力的實際訓練。培養(yǎng)了我運用所學知識解決實際問題的能力。</p><p>  通過這次課設我發(fā)現,只有理論水平提高了,才能將課本上的知識與實踐相結合,理論知識服務于實踐教學,以增強自己的動手能力。這個實驗十分有意義,我獲得了很深刻的經驗。通過這次課程設計,我知道了理論和實際的距離,也知道了理論和實際

43、相結合的重要性,也從中得到了很多書本上無法得知的知識。</p><p>  我們的學習不但要立足與書本,以解決理論和實際教學中的實際問題為目的,還要與實踐相結合,通過自己動手來解決問題比只用腦子想更加深刻。學習就應該采取理論與實踐結合的方式,理論的問題,也就是實踐性的課題。這種做法既有助于完成理論知識的鞏固,又有助于帶動實踐,解決實際問題,加強我們的動手能力和解決問題的能力。</p><p&g

44、t;<b>  4參考文獻</b></p><p>  [1] 李明喜.新型電子密碼鎖的設計[J].機電產品開發(fā)與創(chuàng)新,2004,(03);</p><p>  [2] 祖龍起,劉仁杰.一種新型可編程密碼鎖[J].大連輕工業(yè)學院學報,2002,(01);</p><p>  [3] 葉啟明.單片機制作的新型安全密碼鎖[J].家庭電子,2005,

45、(10);</p><p>  [4] 董繼成.一種新型安全的單片機密碼鎖[J].電子技術,2004,(03);</p><p>  [5] 樊睿.關于單片機控制系統(tǒng)的研究[J].經營管理者.2011年.第12期</p><p>  [6] 趙柏林.譚寒英. 單片機控制系統(tǒng)的開發(fā)與應用[J]. 民營科技.2010年.第08期</p><p>

46、  [7] 楊茂濤.一種電子密碼鎖的實現[J].福建電腦,2004,(08);</p><p>  [8] 瞿貴榮.實用電子密碼鎖[J].家庭電子,2000,(07);</p><p>  [9] 孫建軍.關于單片機技術應用的幾點思考[J].科技致富向導.2011年.第03期</p><p>  [10] 陳陽海.單片機的基本結構與工作原理(一)——單片機的典型結構

47、及AT89S5x系列單片機[J].電子制作.2006年.第01期</p><p>  [11] 郭海英.基于單片機的電子安全密碼鎖的設計[J].現代電子技術,2005,(13);</p><p>  [12] 陳陽海.單片機的基本結構與工作原理(二)——AT89S52單片機引腳功能、時鐘系統(tǒng)、時序及復位[J].電子制作.2006年.第02期</p><p>  [1

48、3] 王建仲.基于單片機的照明控制系統(tǒng)設計[J].電腦編程技巧與維護.2010年.第14期</p><p>  [14] 祖龍起,劉仁杰,孫乃凌.一種新穎的電子密碼鎖[J].電子世界,2001,(10);</p><p>  [15] 周興華.手把手教你學單片機的C語言程序設計(二) 單片機的基本知識及第一個C51程序[J]. 電子制作.2005年.第09期 </p>&l

49、t;p>  [16] 劉伏文.王春華.MCS-51單片機存儲器結構詳解[J].電子制作.2007年.第10期</p><p>  [17] 陳瑩.代震.Proteus軟件在單片機教學中的應用[J].牡丹江師范學院學報(自然科學版). 2010年.第03期</p><p>  [18] 黃亮.讀一篇文章,作一個單片機電路(四)——初識MCS-51單片機的內部存儲器結構和指令系統(tǒng)[J].

50、電子制作.2006年.第04期</p><p>  [19] 周靈彬.張靖武PROTEUS的單片機教學與應用仿真[J].單片機與嵌入式系統(tǒng)應用.2008年.第01期</p><p>  [20] 袁小平.朱明紅.馬桂軍.AT89C××系列單片機編程器的研制[J].能源技術與管理.2005年.第03期 </p><p>  [21] 張海黎.李俊

51、德單片機C語言與C高級程序設計語言的異同[J].湖南廣播電視大學學報.2002年 第04期</p><p>  [22] 陳京培.AT89S52單片機實驗系統(tǒng)的開發(fā)與應用[J].江南大學.發(fā)表時間:2007-12-01</p><p>  [23] 陳陽海.51系列單片機的基礎知識[J].電子制作.2005年.第12期</p><p>  [24] 左偉平.蔣麗英.

52、肖姑冬.基于AT89S52單片機廣告燈控制電路設計的教學[J].中國西部科技.2011年.第26期</p><p>  [25] 高立新.基于Proteus軟件的單片機仿真實驗[J].常州信息職業(yè)技術學院學報.2011年.第03期</p><p>  [26] 鄭麗群.談8051單片機開發(fā)系統(tǒng)及開發(fā)過程[J].中國新技術新產品.2009年.第04期</p><p>

53、  [27] 章克明.8051單片機開發(fā)系統(tǒng)和開發(fā)過程[J].科技咨詢導報.2006年.第08期</p><p>  [28] 王春生.宋鳳娟.王秀英.MCS-51單片機輸出電路選擇及應用[J].煤礦機械.2011年.第04期</p><p>  [29] 王志剛.89C51單片機的硬件結構及發(fā)展探究[J].黑龍江科技信息.2010年.第03期</p><p>  

溫馨提示

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

評論

0/150

提交評論