51單片機(jī)的四路電子搶答器設(shè)計(jì)_第1頁
51單片機(jī)的四路電子搶答器設(shè)計(jì)_第2頁
51單片機(jī)的四路電子搶答器設(shè)計(jì)_第3頁
51單片機(jī)的四路電子搶答器設(shè)計(jì)_第4頁
51單片機(jī)的四路電子搶答器設(shè)計(jì)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1設(shè)計(jì)要求與功能1.1設(shè)計(jì)基本要求2硬件設(shè)計(jì)2.1控制系統(tǒng)及所需兀件2.2搶答器顯示模塊 2.3電源方案的選擇2.4搶答器鍵盤的選擇2.5蜂鳴器模塊2.6外部振蕩電路3程序設(shè)計(jì)3.1程序流程圖3.2系統(tǒng)的調(diào)試3.3焊接的問題及解決4總結(jié)附錄C程序目錄.4.591011設(shè)計(jì)要求與功能1.1設(shè)計(jì)基本要求(1) 搶答器同時(shí)供4名選手或4個(gè)代表隊(duì)比賽使用,分別用 4個(gè)按鈕K1K4表示。(2) 設(shè)置裁判開關(guān)k5和清零開關(guān)k6,該開關(guān)由主持人控制,當(dāng)主持人按下k6,系統(tǒng)復(fù)位,預(yù)備搶答,當(dāng)主持人按下總控制控制開關(guān)k5,開始搶答;(3) 搶答器具有定時(shí)搶答功能,搶答時(shí)間為倒計(jì)時(shí)15秒。當(dāng)主持人啟動“開 始”鍵

2、后,定時(shí)器進(jìn)行減計(jì)時(shí),同時(shí)揚(yáng)聲器發(fā)出短暫的提示聲響,聲響持續(xù)的時(shí)間0.5秒左右,當(dāng)計(jì)時(shí)小于5秒后,每減少一秒,便報(bào)警一次以提示選手。(4) 搶答器具有鎖存功能,參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答, 搶答有效, 蜂鳴器發(fā)聲,計(jì)時(shí)停止,數(shù)碼管上顯示選手的編號和時(shí)間, 選手相應(yīng)的信號燈被 點(diǎn)亮,其他選手再搶答時(shí)無效。(5) 如果定時(shí)時(shí)間已到,無人搶答,本次搶答無效,系統(tǒng)報(bào)警并禁止搶答。 等待下一輪搶答。硬件設(shè)計(jì)2.1控制系統(tǒng)及所需元件控制系統(tǒng)主要由單片機(jī)應(yīng)用電路、 存儲器接口電路、顯示接口電路組成。其 中單片機(jī)STC89C5是系統(tǒng)工作的核心,它主要負(fù)責(zé)控制各個(gè)部分協(xié)調(diào)工作。該系統(tǒng)的核心器件是 STC89

3、C52各口功能:是數(shù)碼管的位選口;是數(shù)碼管的段選口,為其傳送段選信號;是4組搶答信號的輸入口;所需元件:P 2.0-P2.7P 0.0-P0.3P1.0-P1.3復(fù)位功能鍵;LED發(fā)光二極管、按鍵電路及揚(yáng)聲由于其功能的實(shí)現(xiàn)主要是通過軟件P1.4、P1.5由裁判控制,分別是搶答開始P1.6為蜂鳴器的控制口;P3.4-P3.7為選手信號燈輸出口;在其外圍接上電復(fù)位電路、數(shù)碼管電路、 器電路。電子搶答器用單片機(jī)來設(shè)計(jì)制作完成的,編程來完成的,所以采用單片機(jī) STC89C52它是一個(gè)低電壓,高性能 CMOS位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和512 bytes的隨機(jī)

4、存取數(shù)據(jù)存儲器(RAM,器件采用ATME公司的高密度、非易失性存儲技 術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲 單元,功能強(qiáng)大的STC89C5洋片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。下圖為其I/O 口引腳圖:szslEifap汩屯聲EdPIJPl 4R1.5Pl.6 Pl .7囚JfPTTl)們OtTALlP.CTAllfigRJ10K.AT靜dYTALlJfTAL2R5T(ADOJPO.O lADlJPC.l lAE2)P0.; UD3P0J (Amjpo.* AD訶 (ADJJPO.6 ALljPdJ(ABJK.O fAJQ冋 (AIIJPI.J

5、VU2 回 H tAl3)K.5VCCMTO (EXDJPJ.O CTKDjPkl AXE PROCn3 PQIIm3_5571 審 ft alT JlkexSTC89C52管腳圖2.2.搶答器顯示模塊顯示模塊分為數(shù)碼管模塊和LED信號燈模塊分別采用四位一體共陰極數(shù)碼管和四個(gè)發(fā)光二極管,體積小,功耗低,故障率低,程序編譯容易,資源占用較少。(見圖1,圖2)470 LtoT dToT 47047047 470VCCt470470470470D2 嚴(yán)EDP3.O pAP3-2pa.32.3電源方案的選擇系統(tǒng)需要5V電源來驅(qū)動單片機(jī)STC89C52利用電腦的USB接口可以提供5V電壓來驅(qū)動單片機(jī)。2

6、.4搶答器鍵盤的選擇鍵盤是單片機(jī)不可缺少的輸入設(shè)備, 是實(shí)現(xiàn)人機(jī)對話的紐帶。鍵盤按結(jié)構(gòu)形 式可以分為非編碼鍵盤和編碼鍵盤, 前者用軟件方法產(chǎn)生鍵碼,而后者則用硬件 方法來產(chǎn)生鍵碼。在單片機(jī)中使用的都是非編碼鍵盤,因?yàn)榉蔷幋a鍵盤結(jié)構(gòu)簡單, 成本低廉,非編碼鍵盤的類型很多,常用的有獨(dú)立式鍵盤,行列式鍵盤等。 本設(shè)計(jì)采用獨(dú)立式鍵盤。鍵盤接口中使用多少根I/O線,鍵盤中就有幾個(gè)按鍵,鍵盤接口使用了6根I/O 口線,該鍵盤就有6個(gè)按鍵,這種類型的鍵盤,其按鍵比較少,且鍵盤中 各按鍵的工作互不干擾。因此可以根據(jù)實(shí)際需要對鍵盤中的按鍵靈活的編碼。如圖所示。最簡單的編碼方式就是根據(jù)I/O輸入口所直接反映的相應(yīng)

7、按鍵,按下的狀態(tài) 進(jìn)行編碼,稱按鍵直接狀態(tài)碼,對于這樣編碼的獨(dú)立式鍵盤,CPU可以通過直接讀取I/O 口的狀態(tài)來獲取按鍵的直接狀態(tài)編碼值,根據(jù)這個(gè)值直接進(jìn)行按鍵識 別,這樣形式的鍵盤結(jié)構(gòu)簡單,按鍵識別容易。獨(dú)立式鍵盤的缺點(diǎn)是需要占用比較多的I/O 口線,當(dāng)單片機(jī)應(yīng)用系統(tǒng)鍵盤中 需要的按鍵比較少或I/O 口線比較富余時(shí),可以采用這樣類型的鍵盤。其模塊電路圖如圖4所示。采用六個(gè)BUTTONS鈕作為搶答的選擇按鈕,與STC89C52勺 P1.0-P 1.5 相連。1 1尹K5行K6GND0圖4鍵盤模塊2.5蜂鳴器模塊蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器, 采用直流電壓供電,廣泛應(yīng)用于計(jì) 算機(jī)、打印機(jī)、

8、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等 電子產(chǎn)品中作發(fā)聲器件,其圖形如圖所示.2.6外部振蕩電路外部振蕩電路單片機(jī)必須在 AT89C52的驅(qū)動下才能工作.在單片機(jī)內(nèi)部有一個(gè) 時(shí)鐘振蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號送到單片機(jī)內(nèi)部 的各個(gè)單元,外部振蕩電路見圖所示。30pF程序設(shè)計(jì)3.1程序流程圖:搶答器主程序流程圖主程序鍵盤掃描流程圖我們組所設(shè)計(jì)的搶答器的程序采用的是 C程序設(shè)計(jì),C語言的顯著特點(diǎn)是用二進(jìn)制來編寫程序,程序的各個(gè)部分除了必要的信息交流外彼此之間相互獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。C語言是以函數(shù) 形式提供給用戶的,這

9、些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序 流向,從而使程序完全結(jié)構(gòu)化。雖然 C語言也是強(qiáng)類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度。本次設(shè)計(jì)的主程序中包括時(shí)鐘設(shè)計(jì)程序, 定時(shí)器中斷子程序,LED顯示程序以及按鍵控制子程序,具體程序見附件。3.2系統(tǒng)的調(diào)試系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試,而且兩者是密不可分的。我們設(shè)計(jì)好的 硬件電路和軟件程序,只有經(jīng)過聯(lián)合調(diào)試,才能驗(yàn)證其正確性;軟硬件的配人情 況以及是否達(dá)到設(shè)計(jì)任務(wù)的要求,也只有經(jīng)過調(diào)試,才能發(fā)現(xiàn)問題并加以解決、 完善,最終開發(fā)成實(shí)用產(chǎn)品。硬件調(diào)試分單元電路調(diào)試和聯(lián)機(jī)調(diào)試,單元電路試驗(yàn)在硬件電路設(shè)計(jì)時(shí)已經(jīng)進(jìn)行,這里的調(diào)

10、試只是將其制成印刷電路板后試驗(yàn)電路是否正確,并排除一些加 工工藝性錯(cuò)誤(如錯(cuò)線、開路、短路等)。這種調(diào)試可單獨(dú)模擬進(jìn)行,也可通過 開發(fā)裝置由軟件配合進(jìn)行。硬件聯(lián)機(jī)調(diào)試則必須在系統(tǒng)軟件的配合下進(jìn)行。軟件調(diào)試一般包括分塊調(diào)試和聯(lián)機(jī)調(diào)試兩個(gè)階段。程序的分塊調(diào)試一般在單 片機(jī)開發(fā)裝置上進(jìn)行,可根據(jù)所調(diào)程序功能塊的入口參量初值編制一個(gè)特殊的程序段,并連同被調(diào)程序功能塊一起在開發(fā)裝置上運(yùn)行;也可配合對應(yīng)硬件電路單獨(dú)運(yùn)行某程序功能塊,然后檢查是否正確,如果執(zhí)行結(jié)果與預(yù)想的不一致,可以 通過單步運(yùn)行或設(shè)置斷點(diǎn)的方法,查出原因并加以改正,直到運(yùn)行結(jié)果正確為止。這時(shí)該程序功能塊已調(diào)試完畢,可去掉附加程序段。其它程

11、序功能塊可按此法 進(jìn)行調(diào)試。程序聯(lián)機(jī)調(diào)試就是將已調(diào)試好的各程序功能塊按總體結(jié)構(gòu)聯(lián)成一個(gè)完 整程序,在所研制的硬件電路上運(yùn)行。從而試驗(yàn)程序整體運(yùn)行的完整性、正確性 和與硬件電路的配合情況。在聯(lián)調(diào)中可能會有某些支路上的程序、功能塊因受條 件制約而得不到相應(yīng)的輸入?yún)?shù), 這時(shí),調(diào)試人員應(yīng)創(chuàng)造條件進(jìn)行模擬調(diào)試。 在 聯(lián)調(diào)中如發(fā)現(xiàn)硬件問題也應(yīng)及時(shí)修正,直到單片機(jī)系統(tǒng)的軟件、硬件全部調(diào)試成 功為止。系統(tǒng)調(diào)試完成后,還要進(jìn)行一段時(shí)間的試運(yùn)行,從而檢驗(yàn)系統(tǒng)的穩(wěn)定性 和抗干擾能力,驗(yàn)證系統(tǒng)功能是否達(dá)到設(shè)計(jì)要求,是否達(dá)到預(yù)期的效果。3.3焊接的問題及解決一般來說,造成硬件問題的首要問題就是焊接了, 也就是說焊接的

12、好與壞直 接響產(chǎn)品的正常運(yùn)行。造成焊接質(zhì)量不高的常見原因是:焊錫用量過多,形成焊 點(diǎn)的錫堆積;焊錫過少,不足以包裹焊點(diǎn)。冷焊。焊接時(shí)烙鐵溫度過低或加熱 時(shí)間不足,焊錫未完全熔化、浸潤、焊錫表面不光亮(不光滑),有細(xì)小裂紋(如同 豆腐渣一樣!) 0夾松香焊接,焊錫與元器件或印刷板之間夾雜著一層松香,造成 電連接不良。若夾雜加熱不足的松香,則焊點(diǎn)下有一層黃褐色松香膜;若加熱溫 度太高,則焊點(diǎn)下有一層碳化松香的黑色膜。對于有加熱不足的松香膜的情況 可以用烙鐵進(jìn)行補(bǔ)焊。對于已形成黑膜的,則要吃凈焊錫,清潔被焊元器件或印 刷板表面,重新進(jìn)行焊接才行。焊錫連橋。指焊錫量過多,造成元器件的焊點(diǎn)之間短路。這在

13、對超小元器件及細(xì)小印刷電路板進(jìn)行焊接時(shí)要尤為注意。焊劑過 量,焊點(diǎn)明圍松香殘?jiān)芏?。?dāng)少量松香殘留時(shí),可以用電烙鐵再輕輕加熱一下, 讓松香揮發(fā)掉,也可以用蘸有無水酒精的棉球,擦去多余的松香或焊劑。焊點(diǎn)表面的焊錫形成尖銳的突尖。這多是由于加熱溫度不足或焊劑過少,以及烙鐵離開焊點(diǎn)時(shí)角度不當(dāng)浩成的內(nèi)。經(jīng)過近半個(gè)月的努力,在我們合作下,我們較好的完成了這次設(shè)計(jì)項(xiàng)目,通 過此次電子制作比賽,我們重新認(rèn)識到了自學(xué)的重要性,以及學(xué)以致用的道理。 我們在圖書館和網(wǎng)上查閱了大量的資料,同時(shí)也認(rèn)識到了圖書館的重要作用。 通過此次的搶答器的設(shè)計(jì),讓我們更加重視到專業(yè)知識的重要性及動手能力的 必要性,在整個(gè)制作過程中

14、,我們出現(xiàn)很多問題,但我們并沒有因此而放棄, 在不斷調(diào)試和失敗中,我們不僅學(xué)到了專業(yè)知識,更是磨煉了我們的心智,讓 我們受益匪淺。任何事情只要去做,多多去嘗試,努力的要以自己去做為前提 的心態(tài),那么任何事情即使做的不好,也會受益很多,不是有句話叫做:心態(tài) 決定的成敗的話嗎,實(shí)在是有理。無論做什么事情都不可能一帆風(fēng)順,碰到阻 礙不要舍棄,不要踟躕不前,不經(jīng)歷風(fēng)雨,怎么見彩虹!在今后的學(xué)習(xí)過程中,應(yīng)該多到圖書館看一些專業(yè)方面的書籍,比如P rotel畫圖,Proteus仿真軟件,以豐富自己的知識,掌握更多的硬件與軟件設(shè)計(jì)技巧, 使我們在今后的制作中提高效率。這次設(shè)計(jì)任務(wù)也使我們加深了對單片機(jī)及接口

15、技術(shù)的理解和應(yīng)用,由于知識水平的局限,設(shè)計(jì)中可能會存在著一些不足,我們 真誠的接受老師和同學(xué)的批評和指正附錄(C程序)#in clude#defi ne uchar un sig ned char#defi ne uint un sig ned intUchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/共陰數(shù)碼管0-9編碼uint i,j,time ,num;uchar ge,shi;bit flag,flag1;sbit k1= P1AO;sbit k2=PIMbit k3=卩1八2;sbit k4=P 13

16、;sbit k5=P1M;sbit k6=卩1八5;/k1k4為選手按鍵,k5為主持人開關(guān),k6為復(fù)位鍵sbit beep=P 1八6;/定義蜂鳴器的端口定義數(shù)碼管的位選端口定義LED燈的端口sbit wei1= PO 0;sbit wei2=P0 八1;sbit wei3=PO 2;sbit wei4=P0 八3;/sbit led仁 P3M;sbit Ied2=卩3八5;sbit Ied3=P3A6;sbit Ied4=卩3八7;/void delay(ui nt a)/延時(shí)函數(shù)uint i,j;for(i=a;i0;i-)for(j=110;j0;j-);void disp lay()/

17、 顯示函數(shù)shi=time/10;ge=time%10;P 2=table num;/ 顯示選手編號 wei1=0;delay(1);wei1=1;P2=tableshi;wei3=0;顯示時(shí)間delay(1); / wei3=1;P2=tablege;wei4=0;delay(1); wei4=1; void keysca n()if(k1=0)/ 按鍵按下delay(10);/ 延時(shí)去抖動if(k1=0)num=1;led1=0;flag=1;TR0=TR0;TR1=0;/開定時(shí)器 0,關(guān)定時(shí)器 1beep=1;delay(500);beep=0;/蜂鳴器響 500 毫秒while(!k1

18、);/等待按鍵釋放if(k2=0)delay(10);if(k2=0)nu m=2;led2=0;flag=1;TR0=TR0;TR1=0; bee p=1;delay(500);bee p=0;while(!k2);if(k3=0)delay(10);if(k3=0)nu m=3;led3=0;flag=1;TR0=TR0;TR1=0;bee p=1;delay(500);bee p=0; while(!k3);if(k4=0)delay(10);if(k4=0) num=4;led4=0;flag=1;TR0=TR0;TR1=0; bee p=1;delay(500);bee p=0;wh

19、ile(!k4);dis playO;/顯示選手編號和時(shí)間if(time=0)TR0=0;TR1=0;if(time=6)TR1=1; void ini t()TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;bee p=0;/作品上蜂鳴器是賦咼電平響,開始置低關(guān)閉 void mai n()初始化in it();/ while(1)dis playO;if(k6=0) delay(10); if(k6=0) 關(guān)閉所有

20、LED燈P 3=0xff;/ flag仁k6; time=15; wei1=0;num=O;P2=table nu m;while(!flag1)if(k5=0)delay(10);if(k5=0) flag1=1;flag=k5; TR0=1;bee p=1;delay(500);bee p=0; while(!k5);掃描鍵盤while(!flag) keysca n();/void time0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;i+;if(i=20)i=0;time-;void time1() interru

21、pt 3TH1=(65536-50000)/256;TL1=(65536-50000)%256;j+;if(j=1O)j=O;bee p=-bee p;搶答器 用獨(dú)立鍵盤設(shè)計(jì)一個(gè)四路搶答器,要求第一個(gè)按鍵按下的燈亮,以后 按下的燈就不亮了,按下復(fù)位鍵從新開始搶答;(共用5個(gè)按鍵,四個(gè)搶答用,一個(gè)復(fù)位用)#in clude#defi ne uchar un sig ned char#defi ne uint un sig ned int uint i,j,time ,num; uchar ge,shi;bit flag,flag1;sbit k仁P MO;sbit k2=PIM;sbit k3=P1A2;sbit k4=P1A3;sbit k5=PIM; /k1 , k2, k3, k4為選手搶答按鍵,按下時(shí)亮燈。k5為復(fù)位鍵, 按下時(shí)燈全部熄滅。sbit led仁 Pao;sbit led2=Pl;sbit Ied3=

溫馨提示

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

評論

0/150

提交評論