安志超聲光顯示智力競賽搶答器設計說明_第1頁
安志超聲光顯示智力競賽搶答器設計說明_第2頁
安志超聲光顯示智力競賽搶答器設計說明_第3頁
安志超聲光顯示智力競賽搶答器設計說明_第4頁
安志超聲光顯示智力競賽搶答器設計說明_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 畢業(yè)設計報告(論文)報告(論文)題目: 聲光顯示智力競賽搶答器設計作者所在系部: 機械工程系 作者所在專業(yè): 測控技術與儀器 作者所在班級: B08122 作 者 姓 名 : 安志超 作 者 學 號 :指導教師: 寶華 完 成 時 間 : 2012年6月 北華航天工業(yè)學院教務處制30 / 34摘 要隨著電子技術的飛速發(fā)展,在電子領域尤其是自動化智能控制領域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構成的控制系統(tǒng),正以前所未有的速度被單片機智能化控制所取代。單片機具有體積小、功能強、成本低、應用面廣等優(yōu)點,可以說智能化控制與自動控制的核心就是單片機?;趩纹瑱C的控制系統(tǒng)已廣泛應用于各行業(yè)。此次設計提出了以

2、AT89C51單片機為核心控制元件,設計一個簡易的八路搶答器,AT89C51單片機為主控核心,與晶振、數(shù)碼管、蜂鳴器等構成八路搶答器,利用了單片機的延時電路、按鍵復位電路、時鐘電路、定時器/計數(shù)器等設計的八路搶答器不僅具有實時顯示搶答選手的和搶答時間的功能,同時還利用匯編語言編程,使其實現(xiàn)復位、定時和報警的功能。本次設計的系統(tǒng)實用性強、判斷精確、操作簡單、擴展功能強。關鍵詞: 八路 報警 AT89C51 搶答器 定時AbstractWiththerapiddevelopment of electronictechnology, intelligentcontrol in theelectron

3、icsfieldespeciallyautomation, traditionaldiscretecomponents or controlsystem of digitallogiccircuits, are at an unprecedentedratesheetsreplaced by chipcomputerintelligentcontrol. MCUhassmallsize, functionsandadvantages of lowcost, wideapplication, it can be said of intelligentcontrolandautomation of

4、 core is a singlechip. Based on singlechipmicrocomputercontrolsystemhasbeenwidelyused in variousindustries. Thisdesignmadehas to AT89C51 singletabletsmachineforcorecontrolcomponents , design a simple of eight - waypreemptiveanswerdevice , AT89C51 singletabletsmachinemainlycontrolledcore , andCrystal

5、vibration , anddigitaltube , andbeeMingdevice , constituteeight - waypreemptiveanswerdevice , usinghassingletabletsmachine of delaycircuit , andpressresetcircuit , andclockcircuit , andtimercounter , design of eight - waypreemptiveanswerdevicenotonlyhasreal-timedisplaypreemptiveanswerplayers of numb

6、erandpreemptiveanswertime of function , whilealsousingassemblylanguageprogramming , makesitsimplementationreset , andscheduledandalarm of function . Thedesignsystem of practical, accurate, simpleoperationandextendedfunctions of judgment.Key words:eight wayalarmAT89C51preemptive answertime目 錄摘要.IAbst

7、ract.II第1章 緒 論11.1 選題背景、意義11.2 八路搶答器的功能簡介1第2章 系統(tǒng)硬件設計22.1 芯片的選擇22.1.1 控制器的選擇22.1.2 顯示模塊的選擇22.1.3 鍵盤的選擇32.2.4 芯片最終選擇方案32.2 AT89C51單片機簡單概述42.2.1 51系列單片機的功能特性42.3 硬件的構成與功能62.3.1 搶答器的硬件圖72.3.2 時鐘頻率控制電路72.3.3 復位電路的設計82.3.4 報警電路的設計92.3.5 顯示電路的設計92.3.6 鍵盤掃描電路的設計10第3章 系統(tǒng)軟件設計.123.1 系統(tǒng)主程序設計.123.2 鍵盤掃描程序設計.133.

8、3 顯示程序設計.14第4章 系統(tǒng)調(diào)試與軟件仿真.154.1 Keil uVision2軟件調(diào)試.154.2 Proteus仿真.15第5章 總 結.19致 .20參 考 文 獻.22附 錄.23附錄一 主程序清單.23附錄二 單片機八路智能搶答器原理圖.33第1章 緒 論1.1 選題背景、意義當今時代是一個新技術層出不窮的時代,在電子領域尤其是自動化智能控制領域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構成的控制系統(tǒng),正以前所未有的速度被單片機智能化控制所取代。單片機具有體積小、功能強、成本低、應用面廣等優(yōu)點,可以說智能化控制與自動控制的核心就是單片機。目前,搶答器已經(jīng)作為一種必不可少的工具廣泛應用于各

9、種智力和知識競賽場合,但一般的搶答器可靠性低,使用壽命短,介于這些不方便因素,此次設計提出了用AT89C51單片機為核心控制元件,設計一個簡易的八路搶答器。本方案以AT89C51單片機作為主控核心,與晶振、數(shù)碼管、蜂鳴器等通過外圍接口實現(xiàn)的八路搶答器,利用了單片機的延時電路、按鍵復位電路、時鐘電路、定時器/計數(shù)器等,設計的八路搶答器不僅具有實時顯示搶答選手的和搶答時間的功能,同時還利用匯編語言編程,使其實現(xiàn)復位、定時和報警的功能。本次設計的系統(tǒng)實用性強、判斷精確、操作簡單、擴展功能強。1.2 八路搶答器的功能簡介此次設計的搶答器具有同步顯示的功能,并且有蜂鳴器的輔助,使得整個設計更加完整。在每

10、次競賽開始前,主持人讀完比賽規(guī)則,可以對搶答器進行的時間進行預設。時間設定按鍵組共有4個按鍵,其中一個鍵為搶答時間修改鍵,一個為回答時間按鍵,剩下的兩個按鍵為加一和減一按鍵。比賽開始,主持人讀完題之后按下“開始鍵”,即搶答開始,蜂鳴器提示一次,此時數(shù)碼管開始顯示30s的倒計時;直到有一個選手按下?lián)尨疰I,對應的會在數(shù)碼管上顯示出該選手的編號和回答剩余的時間,同時蜂鳴器也會發(fā)出一次提示音,以示有人搶答本題;如果在規(guī)定的30s時間沒有人做出搶答,則此題作廢,開始新一輪的搶答。在搶答和回答時間的最后5s,蜂鳴器都會給予報警提示。在倒計時過程中,主持人可以隨時按“停止鍵”結束本次回答或者搶答。在主持未按

11、下開始鍵,若果有人按下?lián)尨疰I,則屬于犯規(guī)搶答,此時,數(shù)碼管上會顯示違規(guī)選手的編號,同時蜂鳴器會以1s一次的頻率發(fā)出警告。在每次搶答前后,主持人都可以按下復位鍵讓系統(tǒng)清零,此時數(shù)碼管上會顯示“FFF”。第2章 系統(tǒng)硬件設計硬件電路部分是一個完整電路的關鍵部分,硬件性能的好壞關系到整個系統(tǒng)的性能。本章節(jié)主要介紹了八路搶答器的硬件的選擇與電路的設計。2.1 芯片的選擇芯片選擇的原則是經(jīng)濟、壽命長、設計簡單。對此我們作了詳細的論證。2.1.1 控制器的選擇控制器主要用于對顯示、搶答、音樂、計分等模塊進行控制。采用AT89C51作為系統(tǒng)控制器的CPU方案。單片機算術運算功能強、軟件編程靈活、自由度大,可

12、以用軟件編程實現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術成熟和成本低等優(yōu)點,使其在各個領域應用廣泛。2.1.2 顯示模塊的選擇顯示模塊主要是顯示時間和編號??紤]有以下兩種顯示方案。方案一:使用液晶屏顯示時間。液晶顯示屏(LCD)具有輕薄短小、低耗電量、無輻射危險,平面直角顯示以與影像穩(wěn)定不閃爍等優(yōu)勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強的特點。但由于只需要顯示時間和轉向、相數(shù)這樣的數(shù)字,信息量比較少,且液晶屏是以點陣的模式顯示各種符號,需要利用控制芯片創(chuàng)建字符庫,編程工作量大,控制器的資源占用較多,其成本也偏高。在使用時,不能有靜電干擾,否則易燒壞液晶顯示芯片,不易維護。方

13、案二:使用傳統(tǒng)的數(shù)碼管顯示。數(shù)碼管具有低能耗、低損耗、低壓、壽命長、耐老化、防曬、防潮、防火、防高(低)溫,對外界環(huán)境要求低,易于維護的優(yōu)點,同時其精度高,稱量快,精確可靠,操作簡單。數(shù)碼顯示是采用BCD編碼顯示數(shù)字,程序編譯容易,資源占用較少。根據(jù)以上的論述,我采用方案二。2.1.3 鍵盤的選擇鍵盤是單片機不可缺少的輸入設備,是實現(xiàn)人機對話的紐帶。鍵盤按結構形式可以分為非編碼鍵盤和編碼鍵盤,前者用軟件方法產(chǎn)生鍵碼,而后者則用硬件方法來產(chǎn)生鍵碼。在單片機中使用的都是非編碼鍵盤,因為非編碼鍵盤結構簡單,成本低廉,非編碼鍵盤的類型很多,常用的有獨立式鍵盤,行列式鍵盤等。方案一:獨立式鍵盤獨立式鍵盤

14、接口中使用幾根I/O線,就有幾個按鍵,這種類型的鍵盤,其按鍵比較少,且鍵盤中各按鍵的工作互不干擾。因此可以根據(jù)實際需要對鍵盤中的按鍵靈活編碼。獨立式鍵盤的缺點是需要占用比較多的I/O口線,當單片機應用系統(tǒng)鍵盤中需要的按鍵比較少或I/O口線比較富余時,可以采用這樣類型的鍵盤。方案二:行列式鍵盤行列式鍵盤是用N條I/O線作為行線,M條I/O線作為列線組成的鍵盤,按鍵在行線和列線的每個交叉點上。這種形式的鍵盤結構,能夠有效地提高單片機系統(tǒng)中I/O的利用率。CPU對鍵盤的掃描可以采用取程序控制的隨機方式,即只有在CPU空閑是時才去掃描鍵盤,響應操作人員的鍵盤輸入,即利用單片機部定時器每隔一定時間對鍵盤

15、掃描一次,這樣控制方式,不管鍵盤上有無鍵閉合,CPU總是定時的關心鍵盤狀態(tài)。在大多數(shù)情況下,CPU對鍵盤可能進行空掃描。為了提高CPU的效率而又能與時響應鍵盤輸入,可以采用中斷方式,即CPU平時不必掃描鍵盤,只要當鍵盤上有鍵盤閉合時就產(chǎn)生中斷請求,向CPU申請中斷后,立即對鍵盤上有鍵盤進性掃描,識別閉合鍵,并做相應的處理。根據(jù)以上的論述,我采用方案一。2.2.4 芯片最終選擇方案根據(jù)上幾節(jié)的論證,通過綜合考慮,我們的芯片選擇如表2-1。表2-1 器件選擇方案詳單器件名稱規(guī)格型號數(shù)量微處理器AT89C511電阻220歐姆88K11K1瓷片電容30pF2電解電容10uF1晶振12MHZ1按鈕CD4

16、01315器件名稱規(guī)格型號數(shù)量七段數(shù)碼管7SEG-MPX-CC4蜂鳴器12.2 AT89C51單片機簡單概述AT89C51單片機屬于51系列單片機,本次設計所用的核心元件即為AT89C51,本節(jié)主要介紹了AT89C51的管腳功能。2.2.1 51系列單片機的功能特性MSC-51單片機是美國英特爾公司于1980年起推出的第二代產(chǎn)品。與8084相比,8051的硬件結構和指令系統(tǒng)均有很大改進,可支持更大存儲空間擴充了更多的I/O功能,速度提高了2-5倍。主要特性:適于控制應用的8位CPU。擴展的邏輯處理能力。4KB片程序存儲空間。其片外可尋址的圍為64KB,主要用于存放已編程的程序,也可存放一些原始

17、數(shù)據(jù)和表格。128B的片數(shù)據(jù)RAM。其片外數(shù)據(jù)存儲器的尋址圍為64KB用于存放可讀寫的數(shù)據(jù),如運算的中間結果和最終結果。32根雙向可單獨尋址的輸入輸出線。2個16位定時/計數(shù)器,片時鐘發(fā)生器。它可以設置為計數(shù)方式,對外部事件進行計數(shù),也可以設置為定時方式進行定時。全雙工異步發(fā)送/接收器。程序指令AT89C51單片機的時序單位有四個,分別是節(jié)拍、狀態(tài)、機器周期和指令周期。節(jié)拍與狀態(tài):我們把振蕩脈沖的周期定義為節(jié)拍(P),振蕩脈沖經(jīng)過兩個分頻后即得到整個單片機工作系統(tǒng)的時鐘信號,把時鐘信號的周期定義為狀態(tài)(S),這樣一個狀態(tài)就有兩個節(jié)拍,前半個周期相應的節(jié)拍我們定義為P1,后半周期對應的節(jié)拍定義為

18、P2。機器周期:AT89C51有固定的機器周期,規(guī)定一個機器周期有6個狀態(tài),分別表示為S1-S6,而一個狀態(tài)包含兩個節(jié)拍,那么一個機器周期就有12個節(jié)拍,即一個機器周期包含12個振蕩脈沖,即機器周期就是振蕩脈沖的12分頻,如果使用12MHZ的時鐘頻率,一個機器周期就是1us。2.2.2 AT89C51單片機結構說明AT89C51單片機的管腳圖如圖2-1所示:圖2-1 AT89S51單片機管腳圖u VCC:電源端。u GND:接地端。u P0口:P0口是一組8位漏極開路雙向I/O口,在訪問外部存儲器時用作8位低地址線和數(shù)據(jù)總線。u P1口: P1口是一個帶部上拉電阻的8位雙向I/O口,向P1口寫

19、入“1”時,P1口被部電路上拉為高電平,可用作輸入口。當作為輸出口時,被外部拉低的P1口會因為部上拉電阻的存在而輸出電流。u P2口:P2口為一個部上拉電阻的8位雙向I/O口,當P2口被寫“1”時,其管腳被部電路上拉為高電平,可作輸入口。當作為輸出口時,被外部拉低的P2口會因為部上拉電阻的存在而輸出電流。在訪問外部程序存儲器和外部數(shù)據(jù)存儲器時,P2口可作為地址總線的高八位地址線。P3口:P3口管腳是8個帶部上拉電阻的雙向I/O口,當P3口寫入“1”后,它們被部電路上拉為高電平,并用作輸入口。當作為輸出口時,被外部拉低的P3口會因為部上拉電阻的存在而輸出電流。  P3口也可作

20、為AT89C51的一些特殊功能口,如下表所示:  P3.0 RXD(串行輸入口)  P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)  P3.3 /INT1(外部中斷1)  P3.4 T0(記時器0外部輸入)  P3.5 T1(記時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)u RST:復位信號輸入端。當振蕩器工作時,RET引腳出現(xiàn)兩個機器周期以上的高電平將使單片機復位。u ALE/PROG:ALE是地址鎖存允許信號。它的作用是把

21、CPU從P0口分時輸出的低8位地址鎖存在鎖存器中。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6,可用作外部時鐘或定時。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。如果CPU在外部執(zhí)行狀態(tài)ALE禁止,置位無效。u /PSEN:讀片外程序存儲器選通信號輸出端。當執(zhí)行外部程序存儲器數(shù)據(jù)時,/PSEN將產(chǎn)生負脈沖作為外部程序存儲器的讀選通信號。在訪問外部數(shù)據(jù)存儲器和部程序存儲器時,/PSEN無效。u /EA/VPP:讀片與片外程序存儲器的選擇端。當/EA為高電平時,低4KB的地址為片程序存儲器單元,高于4K

22、B以上的地址為片外程序存儲器單元;當/EA為低電平時,則只能讀片外程序存儲器。u XTAL1:片振蕩電路反向放大器的輸入端,采用外部時鐘時該引腳接地。XTAL2:片振蕩電路反向放大器的輸出端,采用外部時鐘時該引腳為振蕩信號的輸入端。2.3 硬件的構成與功能本節(jié)主要介紹了搶答器的硬件部分的設計,硬件部分的設計是比不可少的,也是此次設計的核心。2.3.1 搶答器的硬件圖根據(jù)所要實現(xiàn)的功能,我們先大概將搶答器的硬件分為這幾部分:CPU、聲音電路、顯示電路、定時電路、開始結束鍵輸入和搶答按鍵輸入。圖如圖2-2所示。圖2-2 搶答器硬件圖2.3.2 時鐘頻率控制電路單片機必須在時鐘的驅動下才能工作。AT

23、89C51中有一個用于構成部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。只需要外接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機部的各個單元,決定單片機的工作速度。時鐘頻率控制電路如圖2-3所示。圖2-3 外部振蕩電路部時鐘振蕩器一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容C1、C2選用30PF大小,其作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調(diào)。單片機在工作時,由部振蕩器產(chǎn)生或由外部直接輸入的送至部控制邏輯單元的時鐘信號

24、的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù)。時鐘頻率選為12MHz。2.3.3 復位電路的設計在搶答器中復位是為定時做鋪墊的,在搶答之前要復位,搶答完畢要復位,按了復位鍵之后LED顯示F。單片機的復位引腳RST出現(xiàn)2個機器周期以上的高電平時即可實現(xiàn)復位,復位后單片機的各狀態(tài)都恢復到初始化狀態(tài),其電路圖如圖2-4所示。圖2-4 復位電路圖中復位電路由按鍵和電解電容C3、電阻R1構成的按鍵與上電復位電路。由于單片機是高電平復位,所以當按鍵按下時,單片機的9腳RESET管腳處于高電平,此時單片機處于復位狀態(tài)。當上電后由于電容緩慢充電,單片機的9腳電壓逐步由高向低轉化,經(jīng)過一段時間后,單片機的9腳

25、處于穩(wěn)定的低電平狀態(tài),此時單片機上電復位完畢,系統(tǒng)程序從0000H開始執(zhí)行。在此設計中使用了硬件復位和軟件復位兩種。硬件復位可將寄存器與存儲器的值都恢復到初始值。而在設計中,倒計時時間存在記憶功能,因此還設計了軟復位功能。軟復位實際上就是當程序執(zhí)行完畢后,講程序指針通過一條跳轉指令讓它跳轉到該段程序的起始地址。2.3.4 報警電路的設計我們知道,聲音的頻譜圍約在幾十到幾千赫茲,若能利用程序來控制單片機某個管腳的高低電平,則在該管腳上就能產(chǎn)生一定頻率的矩形波,接上蜂鳴器就能發(fā)出一定頻率的聲音,若利用延時程序控制高低電平的持續(xù)時間,就能改變輸出頻率,從而改變蜂鳴器發(fā)出的音調(diào)。在本設計中此電路起到報

26、警功能。它會在第一位選手按下?lián)尨鸢粹o時響一次,以提示有人搶答本題,并且在該選手的60秒搶答過程中或30秒等待過程中剩余最后5秒時響起,以提示到此題結束還有5秒鐘。本次設計如圖2-5所示,圖中用到單片機的10、11和16管腳。10管腳具有讀入功能,11管腳具有輸出功能,而16管腳具有外部數(shù)據(jù)寫功能,單片機通過部定時器的操作實現(xiàn)交替變換的波形輸出驅動蜂鳴器發(fā)生。圖2-5 報警電路2.3.5 顯示電路的設計顯示功能與硬件的關系極大,顯示電路有兩種選擇,液晶屏顯示和傳統(tǒng)數(shù)碼管顯示。液晶屏具有輕薄、無輻射危險、可視面積大、分辨率高和抗干擾能力強的特點,但是由于顯示信息少、編程工作量大和成本偏高。而數(shù)碼管

27、具有低耗能、低損耗、低壓、壽命長和精確度高、操作簡單的優(yōu)點,本設計中采用的是4位七段數(shù)碼管顯示。數(shù)碼管顯示通常顯示分為動態(tài)顯示和靜態(tài)顯示。其中,靜態(tài)顯示的特點是顯示穩(wěn)定不閃爍,編程簡單,顯示亮度高,但占用I/O口多,實際應用時必須增加譯碼驅動器進行驅動,增加了硬件電路的復雜性。而動態(tài)顯示的穩(wěn)定性雖沒靜態(tài)顯示的好,編程復雜,但是相對靜態(tài)顯示而言占用的端口資源少。本設計采用的是動態(tài)顯示方法。通過查表法將值在數(shù)碼管上顯示出來。其中單片機的P0口為字型碼輸入端,P2口得低三位為字選段輸入端。4位七段數(shù)碼管顯示電路如圖2-6。圖2-6 七段數(shù)碼管顯示電路數(shù)碼管有共陰極和共陽極兩種接法。共陰極接法,各發(fā)光

28、二極管的陰極連在一起并接地,當某一發(fā)光二極管的陽極輸入高電平時,則該段發(fā)光;共陽極接法,各發(fā)光二極管的陽極連在一起并接電源,當某一發(fā)光二極管的陰極輸入低電平時,則該段發(fā)光。本設計采用4位一體的七段共陰極數(shù)碼管,其中A-G段分別接到單片機的P0口,由單片機輸出的P0口數(shù)據(jù)來決定段碼值,位選碼COM1,COM3,COM4分別接到單片機的P2.0,P2.1,P2.2,由單片機來決定當前該顯示的是哪一位。在電路圖中還有8個220歐姆的電阻分別連接在P0口上,用作P0口的上拉電阻,保證P0口沒有數(shù)據(jù)輸出時處于高電平狀態(tài)。2.3.6 鍵盤掃描電路的設計鍵盤掃描電路由兩部分組成:搶答電路和定時電路。鍵盤是人

29、機交互的主要設備,鍵盤電路分為獨立式和矩陣式。其中,獨立式鍵盤硬件電路簡單,而且在程序設計上也不復雜,一般用在對硬件電路要求不高的簡單電路中;矩陣式鍵盤硬件電路比獨立式鍵盤電路復雜,而且程序設計繁瑣,但它節(jié)省端口,適合于多按鍵電路。本設計基于簡單硬件電路要求的基礎上,采用的是獨立鍵盤的方式。在定時電路的設計中,有1個搶答時間調(diào)整按鍵、1個回答時間調(diào)整按鍵、加一按鍵、減一按鍵和1個開始按鍵、1個結束按鍵。電路圖如圖2-7所示。圖2-7 定時電路 圖2-8 搶答電路圖中和AT89C51芯片的12管腳連接的為搶答時間30s的調(diào)整按鍵,和13管腳連接的為回答時間60s的調(diào)整按鍵,與14管腳連接的為加一

30、按鍵,與15管腳連接的為減一按鍵。這四個按鍵用于主持人對回答時間和搶答時間的調(diào)整。開始按鍵與單片機的10管腳連接,停止按鍵與11管腳連接。這里用到了單片機10、11管腳復合功能中的IO端口功能,單片機通過讀取10、11腳的P3.0、P3.1的IO端口值來判斷當前是否處于搶答開始狀態(tài)或搶答結束狀態(tài)。當主持人按下開始鍵,搶答電路和定時電路將進入正常搶答狀態(tài);當回答完畢,主持人可以按下結束鍵停止計時。搶答電路完成兩個功能:一是分辨出選手按鍵先后,并鎖存優(yōu)先搶答者的編號,同時譯碼顯示電路顯示編號;二是其他選手操作無效。搶答電路如圖2-8所示,圖中8個搶答按鍵分別接入單片機的P1.0-P1.7端口,單片

31、機通過讀取P1.0-P1.7的值來判斷當前輸入的是8個搶答按鍵中的哪一個。如果主持人未按下開始按鍵判斷到有人違規(guī)操作,蜂鳴器會發(fā)出警報聲 第3章 系統(tǒng)軟件設計3.1 系統(tǒng)主程序設計1. 系統(tǒng)主程序設計思路為了能達到公平、公正、合理的設計理念,應該在主持人發(fā)布搶答命令之前設定好搶答時間。當時間設定好了之后,主持人發(fā)布搶答命令。按下開始按鍵后,程序開始打開,定時中斷開始倒計時,然后調(diào)用鍵盤掃描子程序,當掃描到有人按下了搶答鍵,馬上關閉搶答中斷計時器T1,調(diào)用顯示程序,此時封鎖搶答鍵盤,啟動計時器T0。2. 主程序框圖 根據(jù)搶答器設計要求,其軟件設計部分流程圖如圖3-1:圖3-1 主程序流程圖3.2

32、 鍵盤掃描程序設計搶答選手的搶答程序設計是本設計的關鍵。鍵盤掃描流程圖如圖3-2所示。圖3-2 鍵盤掃描程序流程圖3.3 顯示程序設計本次設計的顯示部分在按下開始鍵時,后兩個數(shù)碼管顯示倒計時間,以1s變換一次,并且調(diào)用延時程序,此時定時器采用中斷方式,可以充分利用CPU。在有選手按下?lián)尨疰I時,第一個數(shù)碼管顯示選手號,最后兩個數(shù)碼管顯示倒計時,定時器同樣采用中斷方式。除此之外,本設計數(shù)碼管具有閃爍功能,當有違規(guī)搶答時,第一個數(shù)碼管會顯示選手號,后兩個數(shù)碼管會閃爍顯示FF,一個周期為每秒1次。以示搶答無效,此時定時器采用定時中斷的工作方式。連接時段選信號接在P0口的P0.0P0.6七個I/O口上,

33、P1口是準雙向I/O接口在輸出驅動部分,所以在接電阻時選擇接220限流電阻。而在位選方面采用P2口的P2.0P2.2,用單片機P2.2三個I/O口作為位選信號的輸出口。第4章 系統(tǒng)調(diào)試與軟件仿真系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試,二者密不可分。我們設計好的硬件電路和軟件程序必須經(jīng)過聯(lián)合調(diào)試才能驗證其正確性。4.1 Keil uVision2軟件調(diào)試軟件調(diào)試是通過對用戶程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。本設計用到了Keil uVision2軟件,首先打開Keil uVision2,將程序輸入;然后進行調(diào)試,將程序中的語法錯誤和邏輯錯誤糾正,調(diào)試完畢后,創(chuàng)

34、建HEX文件,HEX文件用于燒寫芯片,將制定程序寫入已設計好的電路板中,使其能根據(jù)我們的要現(xiàn)相應的功能;最后將HEX文件燒寫入AT89C51芯片,運行電路,讓其實現(xiàn)八路搶答的功能。如圖4-1所示。圖4-1 Keil uVision軟件4.2 Proteus仿真本設計用到Proteus仿真軟件。首先將電路圖根據(jù)設計要求在軟件中準確地畫出,即進行ISIS原理圖設計,我們的仿真也是完全基于ISIS原理圖模塊下進行的,Proteus有兩種截然不同的仿真方式:交互式仿真和基于圖表的仿真,在本設計中我們用到的是交互式仿真,用于校驗所設計的電路是否能正常運行。如圖4-2所示。圖4-2 八路搶答器原理圖然后將

35、Keil uVision2生成的HEX文件到該中原理圖,即設計文檔的建立。如圖4-3所示。圖4-3 建立設計文檔文檔建立好之后,按Ctrl+F12開始運行,然后按F12,執(zhí)行程序。下面是幾組仿真圖。圖4-4 復位顯示FFF圖4-5 啟動開始鍵,倒計時30s圖4-6 3號選手非法搶答圖4-7 5號選手正常搶答第5章 總 結此次設計主要以硬件系統(tǒng)為基礎,硬件系統(tǒng)關系到電子產(chǎn)品的好壞,如系統(tǒng)的抗干擾性,安全性和可行性等,所以要合理地選擇,合理地安排,盡量減少干擾,以提高系統(tǒng)性能。單片機是很容易受干擾的控制器,當采用外部晶振時,應盡量讓其靠近單片機,以減少對其的干擾,防止程序的混亂現(xiàn)象。硬件系統(tǒng)的好壞

36、很大部分在于經(jīng)驗,比如焊接是否干凈利落,器件是否完好,操作是否規(guī)等,所以我們要有好的動手能力。而軟件設計確實設計的核心,具有多樣化,靈活性高,易移植等優(yōu)點。首先我們要深深領會各指令的含義才能更加熟練應用。中斷的合理利用可以有效減少對CPU的占用,更好的處理好其他功能。延時的應用會順利地實現(xiàn)顯示,鳴笛等功能,同時還可以去掉系統(tǒng)固有的不穩(wěn)定性。定時的應用則比較實際,能實現(xiàn)我們所需的功能。軟件的設計大部分采用模塊化設計的方法以方便調(diào)試,并使其可讀性大大增強,方便更改和移植。在此次設計中,我總結了很多不足,同時也學到了很多新的知識,并且鞏固了課堂知識,但最終設計的系統(tǒng)仍有不足,敬請?zhí)岢觯≈?這次設計老

37、師給我安排的時間可以說是比較充裕的,但也因為剛好是碰到畢業(yè)實習,所以又很多事要做。雖然如此,我還是很用心的做設計,我也完成并做好了設計報告,拿到題目,感覺太繁雜了,不知怎么下手,雖然這些知識以前都有接觸過,但也只是分部分來接觸,而這次的設計是要對大學四年一個綜合,真的很難。也翻閱了一些資料,并自己事先編寫好了程序,到了周一去到機房時候,把自己寫的程序燒進去芯片里面,發(fā)現(xiàn)不行,那些數(shù)字閃動得非常厲害,自己檢查了好久好久,但還是發(fā)現(xiàn)不了問題,之后問了同學,才知是我把段碼搞錯了,我用的是共陽位選,但數(shù)據(jù)表的段碼我卻用了共陰的段碼,所以不能在數(shù)碼管上正常顯示。通過運用單片機設計八路搶答器程設計,發(fā)現(xiàn)自

38、己的很多不足,自己知識的很多漏洞,看到了自己的實踐經(jīng)驗還是比較缺乏,理論聯(lián)系實際的能力還急需提高。在這個過程中,我也曾經(jīng)因為實踐經(jīng)驗的缺乏失落過,也曾經(jīng)仿真成功而熱情高漲。特別是Proteus仿真軟件的使用,不知是由于電腦的問題還是怎么,這個軟件的安裝就花了我很長的時間,好不容易安裝好了,又對軟件的使用一點都不熟悉,要從頭開始學起,對著老師發(fā)給我們的芯片原理進行仿真畫圖,剛剛開始時候真的很難下手,因為是英文版的軟件,很多東西都看不太明白,都是通過自己一個個來慢慢琢磨,才把仿真圖畫了出來,然后把寫好的程序導入芯片,進行仿真,當看到程序正常運行的那一刻,心中真是有幾分的喜悅。生活就是這樣,汗水預示

39、著結果也見證著收獲。勞動是人類生存生活永恒不變的話題。雖然這只是一次的較簡單的課程制作(八路搶答器),可是平心而論,也耗費了我不少的心血。為完成這次課程設計我們確實很辛苦,但苦中仍有樂,和同學們相互幫助,這個工程確實很累, LED亮了起來,喇叭響起的是我一生以來最好聽的聲音,我們的心中就不免興奮,不免激動。以前種種艱辛這時就變成了最甜美的回憶!這次學習給我留下了深刻的印象,使我受益匪淺。而且對于論文的總體構思也有了很多經(jīng)驗,相信自己經(jīng)過這一次的訓練與學習,對于今后會更加努力,做得最好。  對我而言,知識上的收獲重要,精神上的豐收更加可喜。讓我知道了學無止境的道理。我們每一個

40、人永遠不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財富,經(jīng)歷是一份擁有。這次課程設計必將成為我人生旅途上一個非常美好的回憶!通過這次畢業(yè)設計,我才明白學習是一個長期積累的過程。此次設計是在老師的指導下獨立完成設計方案的。這次設計實驗對于提高我的個人能力、自主學習精神和科學實驗精神非常有益,為以后從事研制電子產(chǎn)品打下基礎。在論文完成之際,我要特別感我的指導老師的熱情關懷和悉心指導。在我撰寫論文的過程中了很多問題,無論是在論文的選題、構思和知識結構方面,還是在論文的研究方法老師都耐心地指導。特別是他廣博的學識,嚴謹?shù)慕虒W精神和超強的動手能力使我受益匪淺,在

41、此,我表示真誠的感。感老師對我的支持、鼓舞和教導,同時我也向所有關心、幫助過我的老師們說一聲:老師,您辛苦了!參 考 文 獻1 蕙芹.單片機實用教程.:中國電力,20092 賈海瀛.數(shù)字電子技術與實訓.:機械工業(yè),2008.13 雅軒.模擬電子技術-2版.:電子科技大學,2006.74 永飛.電工基礎.:大學,2008.95 立科.單片機典型模塊設計實例導航.第一版.人民郵電,19886 新民.微型計算機控制技術.:電子工業(yè),20037 響初.基于MCS-51單片機的智能時鐘控制系統(tǒng)設計.世界電子元件,2007,7:9798851單片機原理與實踐/高衛(wèi)東,辛友順,彥征編著.航空航天大學,200

42、8.19紅玲、邵曉根,微機原理與接口技術,中國電力,2006年第一版10博琴,微型計算機原理與接口技術,清華大學11艾德才,微型計算機原理與接口技術,高等教育12美明,IBM-PC匯編語言程序設計,清華大學13 任致程,經(jīng)典集成電路400例機械工業(yè),200214 薛棟梁,單片機原理與應用,中國水利水電,200115 筑森,輝等,單片機開發(fā)與典型應用設計,中國科學技術大學16 Analog Device Corp.Data-Acquisition Databook,1991 17 Joseph D.Greenfield:Practical Digital Design Using ICs附 錄附

43、錄一 主程序清單OK EQU 20H;搶答開始標志位RING EQU 22H;響鈴標志位ORG 0000HAJMP MAINORG 0003HAJMP INT00ORG 000BHAJMP T00ORG 0013HAJMP INT11ORG 001BHAJMP T11ORG 0040HMAIN:MOV R1,#30;設搶答時間30sMOV R2,#60;設答題時間60s MOV TMOD,#11H;設置定時器為模式1 MOV TH0,#0F0H MOV TL0,#0FFH MOV TH1,#3CH MOV TL1,#0B0H;50ms為一次溢出中斷 SETB EASETB ET0 SETB E

44、T1 SETB EX0 SETB EX1;允許四個中斷T0/T1/INT0/INT1CLR OK CLR RING SETB TR1SETB TR0;一開始運行定時器,開始顯示FFFLOOP:MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY;調(diào)用顯示FFF子程序 P3.0,LOOP1;判斷未開始答題,若有人按下?lián)尨?,跳到LOOP1非法搶答處理程序 ACALL DELAY P3.0,LOOP1;判斷已開始答題,則向下執(zhí)行 ACALL BARK;蜂鳴器響 MOV A,R1 MOV R6,A;將R1中30s送入R6 SETB OK;復位,用于COUN

45、T中判斷是否查詢搶答 MOV R7,#01H;讀搶答鍵按下數(shù),要求只讀一次有用信號 MOV R3,#0AH;搶答時間指顯示計時,不顯示號數(shù) AJMP COUNT;進入COUNT倒計時子程序,查詢有效搶答程序LOOP1:JNB P1.0,FALSE1 JNB P1.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 JNB P1.5,FALSE6 JNB P1.6,FALSE7 JNB P1.7,FALSE8 AJMP LOOP;非法搶答查詢程序,若沒有跳回主程序FALSE1:MOV R3,#01H;1號選手違規(guī) AJMP ERROR

46、;跳轉到ERROR非法搶答處理程序FALSE2:MOV R3,#02H AJMP ERRORFALSE3:MOV R3,#03H AJMP ERRORFALSE4:MOV R3,#04H AJMP ERRORFALSE5:MOV R3,#05H AJMP ERRORFALSE6:MOV R3,#06H AJMP ERRORFALSE7:MOV R3,#07H AJMP ERRORFALSE8:MOV R3,#08H AJMP ERROR;=中斷=INT00:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLA

47、Y;在時間LED上顯示搶答時間30s JNB P3.4,INC0 JNB P3.5,DEC0 JNB P3.1,BACK0 AJMP INT00INC0:MOV A,R1CJNE A,#63H,ADD0;如果不是99,則跳轉到ADD0加1程序,否則往下執(zhí)行,置0,重新加起 MOV R1,#00H ACALL DELAY AJMP INT00ADD0:INC R1 ACALL DELAY AJMP INT00DEC0:MOV A,R1 JZ SETT;如果R1中值為0,則跳到SETT程序,R1置99 DEC R1ACALL DELAYAJMP INT00SETT:MOV R1,#63H ACAL

48、L DELAY AJMP INT00BACK0:RETIINT11:MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.4,INC1 JNB P3.5,DEC1 JNB P3.1,BACK1 AJMP INT11INC1:MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DELAY AJMP INT11ADD1:INC R2 ACALL DELAY AJMP INT11DEC1:MOV A,R2 JZ SET1 DEC R2 ACALL DELAY AJMP INT11;=計時查詢=SET1:MOV R2,#63H ACALL DELAY AJMP INT11BACK1:RETI;=倒計時程序=REPEAT:MOV A,R2;新一輪重新計時 MOV R6,ACLR RINGCOUNT:MOV R0,#00H;重置定時器中斷次數(shù) MOV TH1,#3CH MOV TL1,#0B0H;重置定時器RE

溫馨提示

  • 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

提交評論