版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計題目 數(shù)字搶答器 二級學(xué)院 電子信息與自動化 專 業(yè) 自動化 班 級 108070101 學(xué)生1姓名 學(xué)號 學(xué)生2姓名 學(xué)號 學(xué)生3姓名 學(xué)號 指導(dǎo)教師 考核項目設(shè)計50分平時成績20分答辯30分得分總分考核等級教師簽名基于51單片機的6路搶答器摘 要此次設(shè)計提出了用at89s52單片機為核心控制元件,設(shè)計一個簡易的搶答器,本方案以at89s52單片機作為主控核心,與晶振、數(shù)碼管、蜂鳴器等構(gòu)成六路搶答器,利用了單片機的延時電路、按鍵復(fù)位電路、時鐘電路、定時/中斷等電路,設(shè)計的六路搶答器具有實時顯示搶答選手的號碼和搶答時間的特點,還有復(fù)位電路,使其再開始新的一輪的答題和比賽,同時還利用c
2、51語言編程,使其實現(xiàn)一些基本的功能。本設(shè)計的系統(tǒng)實用性強、判斷精確、操作簡單、擴展功能強。它的功能實現(xiàn)是比賽開始,主持人讀完題之后按下?lián)尨疰I,聲音提示,提示音結(jié)束后搶答倒計時開始,此時數(shù)碼管開始進行10s的倒計時,直到有一個選手搶答,選手按下?lián)尨疰I時有聲音提示并在對應(yīng)的數(shù)碼管上顯示出該選手的編號和搶答所剩的時間。如果在規(guī)定的10s時間內(nèi)沒有做出搶答,鳴笛提示本輪搶答結(jié)束,則此題作廢,即開始重新一輪的搶答。下一輪搶答前先將時間歸零,再按下?lián)尨疰I即開始。搶答者回答正確后,主持人可按下加分鍵,對應(yīng)于選手編號的數(shù)碼管顯示數(shù)字就增加(按下一次加一分,最高顯示9分),反之,搶答者回答錯誤后,在該選手的得
3、分?jǐn)?shù)不為0時,主持人可按下減分鍵(按下一次減一分)。關(guān)鍵詞:單片機、at89s52、搶答器 目錄第一章 概述1第二章 各模塊的選擇和論證21. 方框圖2 2.1搶答器顯示模塊選擇22.2 控制器選擇32.3 鍵盤選擇32.4 時鐘頻率電路的設(shè)計42.5 復(fù)位電路的設(shè)計52.6 報警電路53. 系統(tǒng)硬件連接圖64. 元器件清單6第三章 軟件的設(shè)計63.1程序流程圖73.2源程序8第四章 系統(tǒng)調(diào)試164.1 硬件調(diào)試問題分析174.2 軟件調(diào)試問題分析17參考文獻19第1章 概述 隨著電子技術(shù)的發(fā)展,諸如智力競賽、娛樂項目越來越多,這就需要一個能在人非常多的情況下爭取到發(fā)言或演示的裝置,搶答器就滿
4、足了這樣的要求歐,近年來由于數(shù)字電子技術(shù)的發(fā)展,數(shù)字搶答器也應(yīng)運而生,因為它設(shè)計簡單,功能穩(wěn)定的優(yōu)點被廣泛應(yīng)用于各種競賽項目。此次設(shè)計提出了用at89s52單片機為核心控制元件,設(shè)計一個簡易的搶答器,本方案以at89s52單片機作為主控核心,與晶振、數(shù)碼管、蜂鳴器等構(gòu)成六路搶答器,利用了單片機的延時電路、按鍵復(fù)位電路、時鐘電路、定時/中斷等電路,設(shè)計的六路搶答器具有實時顯示搶答選手的號碼和搶答時間的特點,還有復(fù)位電路,使其再開始新的一輪的答題和比賽,同時還利用c51語言編程,使其實現(xiàn)搶答器的一些基本的功能。本設(shè)計的系統(tǒng)實用性強、判斷精確、操作簡單、擴展功能強。它的功能實現(xiàn)是比賽開始,主持人讀完
5、題之后按下?lián)尨疰I,聲音提示,提示音結(jié)束后搶答倒計時開始,此時數(shù)碼管開始進行10s的倒計時,直到有一個選手搶答,選手按下?lián)尨疰I時有聲音提示并在對應(yīng)的數(shù)碼管上顯示出該選手的編號和搶答所剩的時間。如果在規(guī)定的10s時間內(nèi)沒有做出搶答,鳴笛提示本輪搶答結(jié)束,則此題作廢,即開始重新一輪的搶答。下一輪搶答前先將時間歸零,再按下?lián)尨疰I即開始。搶答者回答正確后,主持人可按下加分鍵,對應(yīng)于選手編號的數(shù)碼管顯示數(shù)字就增加(按下一次加一分,最高顯示9分),反之,搶答者回答錯誤后,在該選手的得分?jǐn)?shù)不為0時,主持人可按下減分鍵(按下一次減一分)。 第二章 各模塊的選擇和論證1.方框圖led顯示模塊按鍵掃描at89c52
6、聲音模塊圖2-0 功能模塊圖第一步按鍵掃描,at89c52接收到按鍵掃描的信息確定是否開始啟動本輪搶答,當(dāng)掃描鍵被按下,第二步at89c52啟動聲音模塊,蜂鳴器發(fā)聲一段時間停止發(fā)聲,與此同時選手開始搶答,第三步at89c52啟動led顯示模塊,顯示搶答倒計時,和各選手的的分?jǐn)?shù),整個過程按鍵掃描一直執(zhí)行,當(dāng)有選手按下?lián)尨疰I,按鍵掃描終止對選手按鍵的掃描,at89c52啟動聲音模塊提示有選手按鍵,并將該選手的序號發(fā)送到led顯示,第四步,按鍵掃描對加減分按鍵掃描,按鍵每按下一次對相應(yīng)的選手對應(yīng)的數(shù)碼管上顯示的分?jǐn)?shù)加減一,直到搶答復(fù)位鍵的按下,開始新的一輪循環(huán)。當(dāng)?shù)褂嫊r結(jié)束時選手仍然沒有按鍵,at8
7、9c52啟動聲音模塊,提示本輪搶答結(jié)束。2.1搶答器顯示模塊選擇顯示模塊主要是顯示搶答的時間,組別號碼和選手得分情況。在使用傳統(tǒng)的數(shù)碼管顯示。數(shù)碼管具有:低能耗、低損耗、低壓、壽命長、耐老化、防曬、防潮、防火、防高(低)溫,對外界環(huán)境要求低,易于維護,同時其精度高,稱量快,精確可靠,操作簡單。數(shù)碼顯示是采用bcd編碼顯示數(shù)字,程序編譯容易,資源占用較少。顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。在這里我們使用的是七段數(shù)碼管顯示,通常在顯示上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動態(tài)顯示。其中靜態(tài)顯示的特點是顯示穩(wěn)定不閃
8、爍,程序編寫簡單,但占用端口資源多;動態(tài)顯示的特點是:顯示穩(wěn)定性沒靜態(tài)好,程序編寫復(fù)雜,但是相對靜態(tài)顯示而言占用端口資源少。在本設(shè)計中根據(jù)實際情況采用的是動態(tài)顯示方法。4位8段數(shù)碼管顯示電路如下圖所示。圖 2-1 4位七段數(shù)碼管顯示電路圖上圖中數(shù)碼管采用的是4位一體七段共陽數(shù)碼管,其中ah段分別接到單片機的p0口,由單片機輸出的p0口數(shù)據(jù)來決定段碼值,位選碼com1,com2,com3,com4,(com1,com2,com3,com4)分別接到單片機的p20,p21,p22 ,p23,(p24,p25,p26,p27)由單片機來決定當(dāng)前該顯示的是哪一位。在圖中還有一個排阻,連接在p0口上,用
9、作p0口的上拉電阻,保證p0口沒有數(shù)據(jù)輸出時候處于高電平狀態(tài)。通過查表法,將其在數(shù)碼管上顯示出來,其中p0口為字型碼輸入端,p2口的8位為字選段輸入段。在這里我們通過查表將字型碼送給8段數(shù)碼管顯示的數(shù)字。2.2 控制器選擇控制器主要用于對顯示、搶答、聲音、計分等模塊進行控制。采用atmel公司的at89s51作為系統(tǒng)控制器的cpu方案。單片機算術(shù)運算功能強,軟件編程靈活、自由度大,可以用軟件編程實現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點,使其在各個領(lǐng)域應(yīng)用廣泛。2.3 鍵盤選擇鍵盤是單片機不可缺少的輸入設(shè)備,是實現(xiàn)人機對話的紐帶。鍵盤按結(jié)構(gòu)形式可以分為非編碼鍵盤和
10、編碼鍵盤,前者用軟件方法產(chǎn)生鍵碼,而后者則用硬件方法來產(chǎn)生鍵碼。在單片機中使用的都是非編碼鍵盤,因為非編碼鍵盤結(jié)構(gòu)簡單,成本低廉,非編碼鍵盤的類型很多,常用的有獨立式鍵盤,行列式鍵盤等。本設(shè)計采用獨立式鍵盤:鍵盤接口中使用多少根i/o線,鍵盤中就有幾個按鍵,鍵盤接口使用了8根i/o口線,該鍵盤就有8個按鍵,這種類型的鍵盤,其按鍵比較少,且鍵盤中各按鍵的工作互不干擾。因此可以根據(jù)實際需要對鍵盤中的按鍵靈活的編碼。如圖2-2。最簡單的編碼方式就是根據(jù)i/o輸入口所直接反映的相應(yīng)按鍵,按下的狀態(tài)進行編碼,稱按鍵直接狀態(tài)碼,對于這樣編碼的獨立式鍵盤,cpu可以通過直接讀取i/o口的狀態(tài)來獲取按鍵的直接
11、狀態(tài)編碼值,根據(jù)這個值直接進行按鍵識別,這樣形式的鍵盤結(jié)構(gòu)簡單,按鍵識別容易。獨立式鍵盤的缺點是需要占用比較多的i/o口線,當(dāng)單片機應(yīng)用系統(tǒng)鍵盤中需要的按鍵比較少或i/o口線比較富余時,可以采用這樣類型的鍵盤。 圖2-2 獨立式鍵盤2.4 時鐘頻率電路的設(shè)計單片機必須在時鐘的驅(qū)動下才能工作。在單片機內(nèi)部有一個時鐘振蕩電路,只需要外接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機內(nèi)部的各個單元,決定單片機的工作速度。時鐘電路如下圖所示。圖 2-3 外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在xtal2引腳產(chǎn)生幅度為3v左右的正弦波時鐘信號,其振蕩頻率主要由石英晶
12、振的頻率確定。電路中兩個電容c1,c2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調(diào)。單片機在工作時,由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù)。圖中時鐘頻率為12mhz。2.5 復(fù)位電路的設(shè)計 單片機的第9腳rst為硬件復(fù)位端,只要將該端持續(xù)4個機器周期的高電平即可實現(xiàn)復(fù)位,復(fù)位后單片機的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如下所示:圖2-4 按鍵復(fù)位電路2.6 報警電路 利用程序來控制單片機某個口線的“高”電平或“低”電平,接上蜂鳴器就能發(fā)出聲音,若再利用延時程序控制“高”或“低”電平的持續(xù)時間,就能改變蜂鳴器鳴
13、叫的時間。本文設(shè)計如下圖所示。圖中利用單片機的i/o端口p16,單片機通過設(shè)定該端口的高、低電平使蜂鳴器發(fā)聲。 圖 2-5 發(fā)聲電路3. 系統(tǒng)硬件連接原理總圖 圖2-6 系統(tǒng)硬件連接原理圖4. 元器件清單4位8段數(shù)碼管 2只;at89s52芯片 1只;12m晶振 1只;30pf瓷片電容 2只;10uf電解電容 1只;電阻1k、200、2.2k 各一只;按鍵button 11只;三極管8550 1只;蜂鳴器 1只;排阻471、102 各一只; 74ls245 一只; 第三章 軟件的設(shè)計3.1程序流程圖開始設(shè)置定時器檢測搶答開始鍵是否按下啟動定時器、蜂鳴器 檢測搶答鍵是否按下顯示選手編號倒計時是否
14、完成檢測加分鍵是否按下檢測減分鍵是否按下對應(yīng)數(shù)碼管加一對應(yīng)數(shù)碼管減一檢測搶答復(fù)位鍵是否按下圖3-03.2源程序 #include #define uint unsigned int#define uchar unsigned char/*-共陽極0-9的數(shù)碼管段碼-*/unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0;/*- 變量定義-*/sbit start=p36;sbit reset=p37;sbit key1=p10;sbit key2=p11;sbit key3=p12;sb
15、it key4=p13;sbit key5=p14;sbit key6=p15;sbit key7=p16;sbit key8=p17;sbit jia=p34;sbit jian=p35;bit action = 0;uchar second=10,a7=0;uchar timer0_count = 0;uchar number=0;uchar number_display = 0;uchar k;/*- 延時函數(shù)-*/void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=120;y0;y-);/*- 顯示函數(shù)-*/void display(uchar
16、 number,uchar second)p2 = 0x01;p0 = tablesecond;delay(1);p2 = 0x02;p0 = tablenumber;delay(1);p2 = 0x04;p0 = tablea0;delay(1);p2 = 0x08;p0 = tablea1;delay(1);p2 = 0x10; p0 = tablea2;delay(1);p2 = 0x20;p0 = tablea3;delay(1);p2 = 0x40;p0 = tablea4;delay(1);p2 = 0x80;p0 = tablea5;delay(1);/*- 搶答開始按鍵檢測函數(shù)
17、-*/void start_keyscan() void fengling();while(start = 0) key7=0;display(number_display,second);if(start = 1) key7=1;action = 1;tr0 = 1;/*- 搶答者按鍵檢測函數(shù)-*/uchar key_scan8()if(key1 = 0)delay(8);if(key1 = 0)number = 1;number_display = number;if(key2 = 0)delay(8);if(key2 = 0)number = 2;number_display = num
18、ber;if(key3 = 0)delay(8);if(key3 = 0)number = 3;number_display = number;if(key4 = 0)delay(8);if(key4 = 0)number = 4;number_display = number;if(key5 = 0)delay(8);if(key5 = 0)number = 5;number_display = number;if(key6 = 0)delay(8);if(key6 = 0)number = 6;number_display = number;if(number_display != 0)r
19、eturn number_display;elsereturn 0;/*- 搶答復(fù)位函數(shù)-*/void reset_keyscan()if(reset = 0)delay(8);if(reset = 0)number_display = 0; second=10; /*- 主函數(shù)-*/void main()tmod=0x01;th0=(65536-50000)/256;tl0=(65536-50000)%256;ea=1;et0=1;tr0=0;p2=0x00;while(1) reset_keyscan();start_keyscan(); if(jia=0&anumber-10) dela
20、y(10); while (jian=0) display(number_display,second); anumber-1=anumber-1-1; while(action) while(!key_scan8() /無人搶答display(number_display,second);if(second = 0)second = 10;break;tr0 = 0;key7=0;delay(80); display(number_display,second); key7=1;action = 0;break;display(number_display,second); /*- 定時中斷
21、-*/void timer0() interrupt 1th0=(65536-50000)/256;tl0=(65536-50000)%256;timer0_count +;if(timer0_count = 20)second -;timer0_count = 0; if(second=0) key7=0; delay(60); key7=1; 第四章 系統(tǒng)調(diào)試系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試,而且兩者是密不可分的。我們設(shè)計好的硬件電路和軟件程序,只有經(jīng)過聯(lián)合調(diào)試,才能驗證其正確性;軟硬件的配人情況以及是否達到設(shè)計任務(wù)的要求,也只有經(jīng)過調(diào)試,才能發(fā)現(xiàn)問題并加以解決、完善,最終開發(fā)成實用產(chǎn)品。硬
22、件調(diào)試分單元電路調(diào)試和聯(lián)機調(diào)試,單元電路試驗在硬件電路設(shè)計時已經(jīng)進行,這里的調(diào)試只是將其制成印刷電路板后試驗電路是否正確,并排除一些加工工藝性錯誤(如錯線、開路、短路等)。這種調(diào)試可單獨模擬進行,也可通過開發(fā)裝置由軟件配合進行,硬件聯(lián)機調(diào)試則必須在系統(tǒng)軟件的配合下進行。軟件調(diào)試一般包括分塊調(diào)試和聯(lián)機調(diào)試兩個階段。程序的分塊調(diào)試一般在單片機開發(fā)裝置上進行,可根據(jù)所調(diào)程序功能塊的入口參量初值編制一個特殊的程序段,并連同被調(diào)程序功能塊一起在開發(fā)裝置上運行;也可配合對應(yīng)硬件電路單獨運行某程序功能塊,然后檢查是否正確,如果執(zhí)行結(jié)果與預(yù)想的不一致,可以通過單步運行或設(shè)置斷點的方法,查出原因并加以改正,直到
23、運行結(jié)果正確為止。這時該 程序功能塊已調(diào)試完畢,可去掉附加程序段。其它程序功能塊可按此法進行調(diào)試。程序聯(lián)機調(diào)試就是將已調(diào)試好的各程序功能塊按總體結(jié)構(gòu)聯(lián)成一個完整程序,在所研制的硬件電路上運行。從而試驗程序整體運行的完整性、正確性和與硬件電路的配合情況。在聯(lián)調(diào)中可能會有某些支路上的程序、功能塊因受條件制約而得不到相應(yīng)的輸入?yún)?shù),這時,調(diào)試人員應(yīng)創(chuàng)造條件進行模擬調(diào)試。在聯(lián)調(diào)中如發(fā)現(xiàn)硬件問題也應(yīng)及時修正,直到單片機系統(tǒng)的軟件、硬件全部調(diào)試成功為止。系統(tǒng)調(diào)試完成后,還要進行一段時間的試運行,從而檢驗系統(tǒng)的穩(wěn)定性和抗干擾能力,驗證系統(tǒng)功能是否達到設(shè)計要求,是否達到預(yù)期的效果。本設(shè)計的調(diào)試方法:先仿真,達
24、到預(yù)期效果,4.1 硬件調(diào)試問題分析數(shù)碼管顯示問題:本次設(shè)計的最終方案是采用數(shù)碼管顯示屏實現(xiàn)顯示功能,最初數(shù)碼管顯示不正常,亮度不夠。通過調(diào)試發(fā)現(xiàn)這是由于數(shù)碼管的驅(qū)動電流不夠,頭一次增加了數(shù)碼管驅(qū)動74ls245芯片在p0口,數(shù)碼管依舊亮度不夠,經(jīng)分析,驅(qū)動應(yīng)該加在數(shù)碼管的位選信號上,再一次在p2口上加上74ls245芯片,數(shù)碼管亮度正常。蜂鳴器異常啟動問題:蜂鳴器的啟動/關(guān)閉是通過單片機輸出的控制信號來實現(xiàn)的,最初蜂鳴器始終不發(fā)出聲音,經(jīng)過仔細的檢查原件及連接電路,找出了其不發(fā)聲的原因,三級管用成了npn型的8050,改動芯片為pnp型的8550后,蜂鳴器發(fā)音正常。4.2 軟件調(diào)試問題分析蜂鳴器發(fā)聲異常:蜂鳴器要發(fā)出聲音是通過單片機的p16輸出低電平來實現(xiàn),最初仿真的時候用的是喇叭,它是需要單片機提供一個具有一定頻率的方波信號來發(fā)聲,所以一直不會發(fā)出聲音,修改程序后,解決了該問題。第五章 總結(jié)通過這次畢業(yè)設(shè)計,我才明白學(xué)習(xí)是一個長期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識和綜合素質(zhì)。總之,不管學(xué)會的還是學(xué)不會的的確覺得困難比較多,真是萬事開頭難,不知道如何入手。最后終于做完了有種如釋重負(fù)的感覺。此外,還得出一個結(jié)論:知識必須通過
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信任機制下的供應(yīng)鏈管理創(chuàng)新-洞察分析
- 溫病方藥藥理研究綜述-洞察分析
- 《混凝土工程計算題》課件
- 輿論引導(dǎo)政策分析-洞察分析
- 醫(yī)院消防安全年終工作總結(jié)范文(7篇)
- 《工程事故分析及工》課件
- 《砌體施工亮點》課件
- 創(chuàng)新教育理念在小學(xué)科學(xué)教學(xué)中的實踐
- 以互動為基礎(chǔ)的家庭教育新模式探索
- 創(chuàng)新與責(zé)任并重打造未來辦公室的新模式
- 長方體和正方體的實踐運用
- 2023譯林版新教材高中英語必修二全冊重點短語歸納小結(jié)
- 部編人教版語文六年級下冊《9 浣溪沙》課件
- 扁平化春暖花開教育環(huán)保春天主題模板課件
- 吊車安全技術(shù)交底
- 《讓學(xué)生看見你愛》心得體會
- GB∕T 9286-2021 色漆和清漆 劃格試驗
- 環(huán)境監(jiān)測所需各類原始記錄填寫格式模板參考模板范本
- 01土地復(fù)墾適宜性評價案例
- 天津城建樁基礎(chǔ)課程設(shè)計
- 備件的ABC分類管理規(guī)定法
評論
0/150
提交評論