基于單片機的四路搶答器設計_第1頁
基于單片機的四路搶答器設計_第2頁
基于單片機的四路搶答器設計_第3頁
基于單片機的四路搶答器設計_第4頁
基于單片機的四路搶答器設計_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、課程設計(論文)題 目 名 稱 多路數字搶答器設計 課 程 名 稱 單片機原理及其應用 學 生 姓 名 學 號 系 、專 業 指 導 教 師 2013年 6月 24日摘 要近年來隨著科技的飛速發展單片機的應用正在不斷深入同時帶動傳統控制檢測日新月異。此次設計提出一種用AT89C51單片機作為核心控制元件與電阻、液晶顯示屏、蜂鳴器等構成硬件操作再利用C語言編程來控制搶答器的功能實現。本論文對搶答器的背景與現狀、硬件設計、軟件設計及其仿真都做了詳細的介紹使我們不僅對搶答器的原理及設計有了深入的了解也對單片機的設計研發過程有了更加深刻的體會。 本次設計的系統主要采用單片機控制、采用手動搶答的方式。有

2、人搶答后,系統自動封鎖其他選手的搶答按鈕,使其不再搶答,從而實現搶答功能。該系統還增加了搶答倒計時功能,可以調整。通過自主的設計、編程和調試出一個簡單的四路搶答并在液晶屏顯示搶答成功者號碼;熟悉C語言編程;了解單片機仿真系統的使用方法,達到提高綜合運用相關知識的能力;進一步熟悉和掌握Proteus7的使用方法;掌握單片機系統設計全部過程的目的。關鍵字: 搶答 單片機 液晶屏顯示目 錄第1章 前言1第2章 方案設計2第3章 硬件電路的工作原理33.1搶答器的電路圖33.2 液晶屏顯示電路33.3按鍵控制電路3第4章 軟件設計54.1軟件編程54.2系統調試和結果分析6總 結10參考文獻11附錄1

3、 源程序12第1章 前言電子技術和微型計算機的迅速發展,促進微型計算機測量和控制技術的迅速發展和廣泛應用,單片機(單片微型計算機)的應用已經滲透到國民經濟的各個部門和領域,它起到了越來越重要的作用。單片微型計算機就是將中央處理單元、存儲器、定時/計數器和多種接口都集成到一塊集成電路芯片上的微型計算機。因此一塊芯片就構成了一臺計算機。它已成為工業控制領域、智能儀器儀表、尖端武器、日常生活中最廣泛使用的計算機。搶答器一般是由很多電路組成的,線路復雜,可靠性不高,功能也比較簡單,特別是當搶答路數很多時,實現起來就更為困難。因此我們設計了以單片機為核心的新型智能的搶答器,在保留了原始搶答器的基本功能的

4、同時又增加一系列的實用功能。并簡化其電路結構。控制系統的三個模塊為:顯示模塊、存儲模塊、搶答開關模塊。該系統通過開關電路四個按鍵輸入搶答信號,利用1602液晶屏來完成顯示功能,用按鍵來讓選手進行搶答,在液晶屏上顯示搶答最快的號碼及時間,從而實現整個搶答過程。本文主要介紹了單片機搶答器設計及工作原理,以及它的實際用途。系統工作原理本系統采用AT89C52單片機作為核心。工作時,用按鍵通過開關電路輸入各路的搶答信號,經單片機的處理, 輸出控制信號,單片機控制的智能搶答器設計。第2章 方案設計搶答器的設計方案要實現以下功能:(1)搶答器同時供4名選手或4個代表隊比賽,分別用4個按鈕S0 S3表示。(

5、2)設置一個系統清除S1和搶答控制開關S2,該開關由主持人控制。(3)搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應的編號,并在1602液晶屏上顯示,同時蜂鳴器發出報警聲響提示。選手搶答實行優先鎖存,優先搶答選手的編號一直保持到主持人將系統清除為止。(4)搶答器具有定時搶答功能,且一次搶答的時間由主持人設定(如10秒)。當主持人啟動"開始"鍵后,定時器進行減計時 (5)如果定時時間已到,無人搶答,本次搶答無效,系統禁止搶答,定時顯示器上顯示01s。該設計采用AT89C52單片機作為控制系統核心。該系統可以完成信號識別,運算控制以及顯示功能。搶答器的工作原理是采用單片機最

6、小系統,用查詢式鍵盤進行搶答。通過搶答按鍵模塊,連接按鍵進行搶答。此電路完成的功能如圖1所示,當主持人宣布搶答開始的時候,按下開始按鈕,此時電路進入搶答狀態,選手的輸入采用了掃描式的輸入,之后把相應的信息送往單片機,再由單片機輸出到顯示輸出電路中。此時有人第一按下相應的搶答按鈕,經過單片機的控制選擇,在液晶屏上顯示相應的號碼,并鎖存,同時禁止其他按鈕的輸入。系統是采用模塊化設計的智能搶答器,主控與參賽者設為終端分系統。主控分系統有:開始與結束控制按鈕、時限設定、各種相關顯示調控功能等。參賽者分系統設有:搶答按紐、計時顯示、提示功能等。圖1 搶答器原理圖第3章 硬件電路的工作原理3.1搶答器的電

7、路圖如圖(2)所示為電路圖,其工作原理為:接通電源后主持人將開關撥到“清零”狀態,搶答器處于禁止狀態,定時器設定時間,主持人將開關置“開始”,宣布搶答開始時,選手要在規定時間內完成搶答;定時器倒計時優先判斷,編號鎖存,揚聲器提示。 圖2 搶答器仿真電路圖3.2 液晶屏顯示電路使用液晶屏顯示搶答成功者號碼、時間。液晶顯示屏(LCD)具有輕薄短小、低耗電量、無輻射危險,平面直角顯示以及影像穩定不閃爍等優勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強的特點。3.3按鍵控制電路鍵盤是單片機不可缺少的輸入設備,是實現人機對話的紐帶。鍵盤按結構形式可以分為非編碼鍵盤和編碼鍵盤,前者用軟件方法產生鍵碼,

8、而后者則用硬件方法來產生鍵碼。在單片機中使用的都是非編碼鍵盤,因為非編碼鍵盤結構簡單,成本低廉,非編碼鍵盤的類型很多,常用的有獨立式鍵盤,行列式鍵盤等。獨立式鍵盤,鍵盤接口中使用多少根I/O線,鍵盤中就有幾個按鍵,鍵盤接口使用了8根I/O口線,該鍵盤就有8個按鍵,這種類型的鍵盤,其按鍵比較少,且鍵盤中各按鍵的工作互不干擾。因此可以根據實際需要對鍵盤中的按鍵靈活的編碼。如圖3所示。圖3 獨立式鍵盤原理圖最簡單的編碼方式就是根據I/O輸入口所直接反映的相應按鍵,按下的狀態進行編碼,稱按鍵直接狀態碼,對于這樣編碼的獨立式鍵盤,CPU可以通過直接讀取I/O口的狀態來獲取按鍵的直接狀態編碼值,根據這個值

9、直接進行按鍵識別,這樣形式的鍵盤結構簡單,按鍵識別容易。獨立式鍵盤的缺點是需要占用比較多的I/O口線,當單片機應用系統鍵盤中需要的按鍵比較少或I/O口線比較富余時,可以采用這樣類型的鍵盤。第4章 軟件設計4.1軟件編程 本設計的搶答器的程序采用的是C程序設計,C語言的顯著特點是用二進制來編寫程序,程序的各個部分除了必要的信息交流外彼此之間相互獨立。這種結構化方式可使程序層次清晰, 便于使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,并具有多種循環、條件語句控制程序流向,從而使程序完全結構化。雖然C語言也是強類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度。本

10、次設計的主程序中包括時鐘設計程序,定時器中斷子程序,數碼管顯示程序以及按鍵控制子程序。搶答器主流程圖如圖4所示: 圖4 搶答器主程序流程圖搶答器定時中斷流程圖如圖5:圖5 搶答器定時器中斷流程圖4.2系統調試和結果分析系統調試包括硬件調試和軟件調試,而且兩者是密不可分的。我們設計好的硬件電路和軟件程序,只有經過聯合調試,才能驗證其正確性;軟硬件的配人情況以及是否達到設計任務的要求,也只有經過調試,才能發現問題并加以解決、完善,最終開發成實用產品。硬件調試分單元電路調試和聯機調試,單元電路試驗在硬件電路設計時已經進行,這里的調試只是將其制成印刷電路板后試驗電路是否正確,并排除一些加工工藝性錯誤(

11、如錯線、開路、短路等)。這種調試可單獨模擬進行,也可通過開發裝置由軟件配合進行。硬件聯機調試則必須在系統軟件的配合下進行。軟件調試一般包括分塊調試和聯機調試兩個階段。程序的分塊調試一般在單片機開發裝置上進行,可根據所調程序功能塊的入口參量初值編制一個特殊的程序段,并連同被調程序功能塊一起在開發裝置上運行;也可配合對應硬件電路單獨運行某程序功能塊,然后檢查是否正確,如果執行結果與預想的不一致,可以通過單步運行或設置斷點的方法,查出原因并加以改正,直到運行結果正確為止。這時該 程序功能塊已調試完畢,可去掉附加程序段。其它程序功能塊可按此法進行調試。程序聯機調試就是將已調試好的各程序功能塊按總體結構

12、聯成一個完整程序,在所研制的硬件電路上運行。從而試驗程序整體運行的完整性、正確性和與硬件電路的配合情況。在聯調中可能會有某些支路上的程序、功能塊因受條件制約而得不到相應的輸入參數,這時,調試人員應創造條件進行模擬調試。在聯調中如發現硬件問題也應及時修正,直到單片機系統的軟件、硬件全部調試成功為止。系統調試完成后,還要進行一段時間的試運行,從而檢驗系統的穩定性和抗干擾能力,驗證系統功能是否達到設計要求,是否達到預期的效果。具有清零裝置和搶答控制,可由主持人操縱。具有定時功能,在10S內無人搶答表示所有參賽選手對本題棄權。10S時仍無人搶答其報警電路工作表示搶答時間耗盡并禁止搶答。電路中的六個按鍵

13、從上到下分別是清零鍵、開始鍵和四組選手的按鍵。仿真現象及調試結果如圖6、圖7、圖8所示。1)圖6為主持人按下清零鍵后的截圖,此時液晶屏兩項均顯示0.1)運行設計,等待主持人開始。如圖6:圖62)主持人按下啟動鍵后的截圖,液晶屏顯示從10秒開始倒計時。如圖7: 圖73)選手按下時的截圖,顯示對應的選手編號,例如3號選手,如圖8所示: 圖8總 結這次課程設計是基于單片機設計多路數字搶答器,讓我對單片機學習也有了更深刻的認識,只有打下良好的基礎才會學以致用,才會發揮出作用。在本次課程設計過程中遇到了許多困難,PROTEUS做出的仿真效果不符合要求,用C語言編寫的程序也出現問題,令人頭疼不已,后來在經

14、過查找相關資料,在老師同學的幫助下,終于改正了錯誤。完成這次課程設計,讓我深刻的認識是單片機對于我們專業的重要性,我對單片機的學習還是不夠精通,有了這次課程設計的體會,我一定會利用課余時間更深的了解單片機知識 。認識來源于實踐,實踐是認識的動力和最終目的,實踐是檢驗真理的唯一標準,所以這個課程設計對我們的作用是非常大的。經過二個星期課程設計制作,過程曲折可謂一波三折,點點滴滴無不令我回味無窮。沒有經過實踐永遠都不會知道結果是怎樣的,當實踐的結果證實了你要得到的結論時那種心情真是不知如何表達。我也非常的堅信只要付出了一定會有收獲,并且這個過程是很美的享受!汗水預示著結果也見證著收獲。通過本次課程

15、設計,我真正感受到了那種快樂和喜悅!并且懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在此我非常要感謝的是我的指導老師劉偉春老師,感謝老師的細心認真的輔導,教給我許多原來不知道的知識。這次課程設計能夠順利的完成,當然有我個人的努力,但同時也離不開指導老師的答疑解惑和同學的幫助。參考文獻 1 李泉溪. 單片機原理與應用實例仿真.北京航天航空大學出版社 2009年2 江世明. 基于Proteus的單片機應用技術. 電子工業出版社 2008年3 喻宗泉. 單片機原理與

16、應用技術.西安電子科技大學出版社 2005年4 萬光毅. 單片機實驗與實踐教程. 北京航天航空大學出版社 2003年附錄1 源程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar num;/定義中斷變量,num計滿20表示1秒時間到uchar num1;/十秒倒計時顯示初始值uchar flag1,flag2;/清零鍵及開始鍵按下標志位uchar flag3,flag4=0;/定義鍵盤按下標志位#define LCDPORT P0sbit LCD1602_RS = P20;sbit

17、LCD1602_EN = P21;sbit sp=P22;/定義蜂鳴器端口sbit clear=P10;/定義清零鍵sbit start=P11;/開始鍵sbit key1=P12;sbit key2=P13;sbit key3=P14;sbit key4=P15;/key1到key4為選手按鍵void delay(uint z)/延時函數uint i,j;for(i=z;i>0;i-)for(j=110;j>0;j-);void WriteCmd_1602(unsigned char cmd)LCD1602_RS = 0;LCDPORT = cmd;delay(1);LCD160

18、2_EN = 1;delay(1);LCD1602_EN = 0;void WriteByte_1602(unsigned char date)LCD1602_RS = 1;LCDPORT = date;delay(1);LCD1602_EN = 1;delay(1);LCD1602_EN = 0;void Init_1602()LCD1602_EN = 0;WriteCmd_1602(0x38);WriteCmd_1602(0x0c); /光標不顯示地址 WriteCmd_1602(0x06);WriteCmd_1602(0x01);void beep()/定義蜂鳴器函數sp=0;delay

19、(500);sp=1;/delay(500);void dis(uchar * p)while(*p != '0')WriteByte_1602(*p+);void display_init()WriteCmd_1602(0x80);dis("Serial Number:");WriteCmd_1602(0x80 + 0x40);dis("Surplus Time:");WriteCmd_1602(0x80 + 0x40 + 13);dis("00s");void display_num(uchar a) /選手編號顯

20、示函數 WriteCmd_1602(0x80 + 15);WriteByte_1602(a);void clr()/清零函數(主持人按下清零鍵后數碼管顯示0) WriteCmd_1602(0x80 + 15);WriteByte_1602('0');void dis10s()/十秒倒計時顯示函數uchar shi,ge;shi=num1/10;ge=num1%10;WriteCmd_1602(0x80 + 0x40 + 13);WriteByte_1602(shi + 0x30);WriteCmd_1602(0x80 + 0x40 + 14);WriteByte_1602(ge

21、 + 0x30); void player()/選手按鍵檢測函數if(key1=0&&flag4=0)delay(10);if(key1=0&&flag4=0)display_num('1');TR0=0;flag1=flag2=0;flag4=1;beep();while(!key1);if(key2=0&&flag4=0)delay(10);if(key2=0&&flag4=0)display_num('2');TR0=0;flag1=flag2=0;flag4=1;beep();while(!key2);if(key3=0&&flag4=0)delay(10);if(key3=0&&flag4=0)display_num('3');TR0=0;flag1=flag2=0;flag4=1;beep();while(!key3);if(key4=0&&flag4=0)delay(10);if(key4=0&&flag4=0)display_num('4');TR0=0;flag1=flag2=0;flag4

溫馨提示

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

評論

0/150

提交評論