基于單片機的三路搶答器的設(shè)計_第1頁
基于單片機的三路搶答器的設(shè)計_第2頁
基于單片機的三路搶答器的設(shè)計_第3頁
基于單片機的三路搶答器的設(shè)計_第4頁
基于單片機的三路搶答器的設(shè)計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

.PAGE.-..-可修遍-基于單片機的三路搶答器的設(shè)計1課程設(shè)計的任務(wù)與要求1.1課程設(shè)計的任務(wù)〔1〕設(shè)計一個可供3人進展的搶答器?!?〕系統(tǒng)設(shè)置復位按鈕,按動后,重新開場搶答。〔3〕搶答器開場時數(shù)碼管顯示序號00,選手搶答實行優(yōu)先顯示,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)去除為止。搶答后顯示優(yōu)先搶答者序號,同時發(fā)出音響,并且不出現(xiàn)其他搶答者的序號。〔4〕搶答器具有定時搶答功能,且一次搶答的時間有主持人設(shè)定,本搶答器的時間設(shè)定為30秒,當主持人啟動"開場〞開關(guān)后,定時器開場減計時?!?〕設(shè)定的搶答時間,選手可以搶答,這時定時器停頓工作,顯示器上顯示選手的和搶答時間。并保持到主持人按復位鍵。1.2課程設(shè)計的要求〔1〕基于單片機的三路搶答器的設(shè)計,并用Proteus設(shè)計與仿真出來?!?〕程序用Keil編程出來,并且生成Hex文件。〔3〕設(shè)計的方案要能夠長期,有效,穩(wěn)定的運行?!?〕力求簡單實用。1.3課程設(shè)計的研究根底本設(shè)計是以三路搶答為根本理念??紤]到依需設(shè)定限時答復的功能,利用AT89C51單片機及外圍接口實現(xiàn)的搶答系統(tǒng),利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠正確地進展計時,同時使數(shù)碼管能夠正確地顯示時間。用開關(guān)做鍵盤輸出,揚聲器發(fā)生提示。同時系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開場后搶答才有效,如果在開場搶答前搶答為無效;搶答時間和答復下列問題時間倒記時顯示,滿時后系統(tǒng)計時手動復位。2基于單片機三路搶答器系統(tǒng)方案制定2.1方案提出方案一:單單片機主控電路鍵盤掃描電路蜂鳴器報警電路數(shù)碼管顯示驅(qū)動電路圖1方案一設(shè)計方案方案二:單單片機主控電路鍵盤掃描電路蜂鳴器報警電路數(shù)碼管顯示圖2方案二設(shè)計方案2.2方案比擬第一個方案比第二個方案多了一個驅(qū)動電路,所以第一個方案的電路會比擬復雜。2.3方案論證該系統(tǒng)采用51系列單片機AT89C52作為控制核心,該系統(tǒng)可以完成運算控制、信號識別以及顯示功能的實現(xiàn)。由于用了單片機,使其技術(shù)比擬成熟,應(yīng)用起來方便、簡單并且單片機周圍的輔助電路也比擬少,便于控制和實現(xiàn)。整個系統(tǒng)具有極其靈活的可編程性,能方便地對系統(tǒng)進展功能的擴和更改。2.4方案選擇通過以上兩個方案的比擬,選擇第二個方案。3基于單片機三路搶答器系統(tǒng)方案設(shè)計3.1各單元模塊功能介紹及電路設(shè)計3.1.1振蕩電路的設(shè)計AT89C52部有一個用于構(gòu)成片振蕩器的高增益反相放大器,振蕩器產(chǎn)生的信號送到CPU,作為CPU的時鐘信號,驅(qū)動CPU產(chǎn)生執(zhí)行指令功能的機器周期。引腳XTAL1和XTAL2是此放大器的輸人端和輸出端。這個放大器與作為反應(yīng)元件的片外石英晶體或瓷諧振器一起可構(gòu)成一個自激振蕩器,振蕩電路的連接如下圖圖3所示,外接石英晶體或瓷諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反應(yīng)回路中。圖3振蕩電路3.1.2復位電路的設(shè)計單片機復位是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開場工作。無論是在單片機剛開場接上電源時,還是斷電后或者發(fā)生故障后都要復位。89系列單片機的復位信號是從RST引腳輸人到芯片的施密特觸發(fā)器中的。當系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果RST引腳有一個高電平并維持2個機器周期〔24個振蕩周期〕,那么CPU就可響應(yīng)并且將系統(tǒng)復位。復位分為手動復位和上電復位。本設(shè)計系統(tǒng)采用的是手動復位,當按下按鈕時,即使人的動作很快,也會使按鈕保持通達數(shù)十毫秒,所以,手動復位能確保復位時間要求。復位電路連接如圖4。圖4復位電路3.1.3計時和組號顯示的設(shè)計計時局部由一個共陰極四位八段數(shù)碼管前二位構(gòu)成。時間顯示是由一個共陰極四位八段數(shù)碼管前二位構(gòu)成,組號顯示是由一個共陰極四位八段數(shù)碼管后二位構(gòu)成,通過P0口直接對其控制。電路圖如下:圖5顯示電路3.1.4選手按鍵的設(shè)計三位選手通過按鍵產(chǎn)生的電平下降沿信息送至P2.0~P2.2口,然后再經(jīng)由主控制模塊處理鎖存,最后在數(shù)碼管上顯示最早按下的選手號。電路圖如下:圖6選手按鍵3.1.5主持人控制電路的設(shè)計主持人控制局部由一個開場鍵組成。開場按鍵通過外部中斷送信息給控制模塊,電路圖如下:圖7主持人控制電路3.1.6蜂鳴器電路設(shè)計P3.4口控制的蜂鳴器主要是提醒選手答題時間到。電路圖如下:圖8蜂鳴器電路3.2電路參數(shù)的計算及元器件的選擇電容C1,C2都是30uF,C3是100n。電阻R1,R2都是10K.3.3特殊器件的介紹7段LED數(shù)碼管是利用7個LED〔發(fā)光二極管〕外加一個小數(shù)點的LED組合而成的顯示設(shè)備,可以顯示0~9等10個數(shù)字和小數(shù)點,使用非常廣泛。數(shù)碼管可以分為共陽極與共陰極兩種,共陽極就是把所有LED的陽極連接到共同接點,而每個LED的陰極分別為a、b、c、d、e、f、g及h〔小數(shù)點〕;共陰極那么是把所有LED的陰極連接到共同接點,而每個LED的陽極分別為a、b、c、d、e、f、g及h〔小數(shù)點〕。圖9數(shù)碼管原理圖我用的是共陰極。3.4系統(tǒng)整體電路圖圖10總電路圖4基于單片機三路搶答器系統(tǒng)仿真和調(diào)試4.1仿真軟件介紹Proteus軟件是LabcenterElectronics公司的一款電路設(shè)計與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設(shè)計,而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機芯片,比方MCS-51系列、PIC系列等等,以及單片機外圍電路,比方鍵盤、LED、LCD等等。通過Proteus軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機實驗室。4.2系統(tǒng)仿真實現(xiàn)根據(jù)設(shè)計的方案,在Proteus中畫出相應(yīng)的原理圖,在Keil中把所需程序生成HEX文件,導入到原理圖中的單片機中,就可以實現(xiàn)仿真了。步驟如下:〔1〕Keil創(chuàng)立文件步驟:1〕新建工程文件。點擊Project菜單,選擇彈出的下拉式菜單中的NewProject。在"文件名〞中輸入您的第一個C程序工程名稱,"*****.uv2”。"保存〞后的文件擴展名為uv2,這是KEILuVision2工程文件擴展名,以后可以直接點擊此文件以翻開先前做的工程。2〕選擇所要的單片機,常用Ateml公司的AT89C51。3〕在工程中創(chuàng)立新的程序文件。點擊新建文件的快捷按鈕,出現(xiàn)一個新的文字編輯窗口,這個操作也可以通過菜單File-New或快捷鍵Ctrl+N來實現(xiàn)。好了,現(xiàn)在可以編寫程序了。4〕點擊保存新建的程序,*****.c,保存在工程所在的目錄中,這時會發(fā)現(xiàn)程序單詞有了不同的顏色,說明KEIL的C語法檢查生效了。5〕將程序文件加到工程中。在屏幕左邊的SourceGroup1文件夾圖標上右擊彈出菜單,在這里可以做在工程中增加減少文件等操作。選"AddFiletoGroup‘SourceGroup1’〞彈出文件窗口,選擇剛剛保存的文件,按ADD按鈕,關(guān)閉文件窗,程序文件加到工程中。這時在SourceGroup1文件夾圖標左邊出現(xiàn)了一個小+號說明,文件組中有了文件,點擊它可以展開查看。6〕設(shè)定創(chuàng)立HEX文件選項。7〕編譯運行。8〕查錯并直至無錯誤。〔2〕Proteus仿真步驟:1〕創(chuàng)立文件并命名"****.dsn〞。2〕放置元件,設(shè)定好參數(shù),并連接電路圖。3〕雙擊單片機芯片,添加"****.hex〞文件。4〕仿真運行。5〕檢查錯誤直至到達工程要求。4.3系統(tǒng)測試沒有按開場鍵時:圖11開場顯示按開場鍵沒有人搶答時:圖12沒人搶答顯示按開場鍵有人搶答時:圖13有人搶答顯示30秒一直沒有人搶答時:圖1430秒后沒人搶答按復位鍵時:圖15按復位鍵4.4數(shù)據(jù)分析主持人按鍵來控制總開關(guān),主持人按下開關(guān)那么選手開場搶答,此時數(shù)碼管開場30—0計數(shù),并且選手們必須在規(guī)定的時間進展搶答,假設(shè)過了30秒還沒搶答那么搶答失效,選手們假設(shè)有一個在規(guī)定的時間搶答成功那么其余的選手不可以再搶答,即該選手搶答成功。最小系統(tǒng)的電路不工作,首先應(yīng)該確認電源電壓是否正常。用電壓表測量接地引腳跟電源引腳之間的電壓,看是否符合電源電壓,常用的是5V左右。接下來就是檢測復位引腳的電壓是否正常,EA引腳的電壓要正常為5V左右。5總結(jié)5.1設(shè)計小結(jié)通過此次的課程設(shè)計,讓我更進一步的穩(wěn)固了單片機的各種知識。但在設(shè)計的過程中,遇到了很多的問題,有一些知識已經(jīng)不太清楚了,但是通過一些資料又重新的翻閱并且認真的復習了相關(guān)教科書中的容。此次的課程設(shè)計樹立了對自己工作能力的信心,相信會對今后的學習工作生活都有非常重要的影響,而且大大的提高了動手能力,使我充分的體會到了創(chuàng)造過程中的探索的困難和成功的喜悅。雖然這次做出的作品還存在很多需要改良的地方,但是在整個設(shè)計過程中所學習到的東西是這次實訓所得到的最大收獲跟財富,使我終身受益。5.2收獲體會經(jīng)過近兩個月的努力,在教師和同學的討論和幫助下,我成功地完成了三路搶答器的設(shè)計,通過此次課程設(shè)計,我重新認識到了對書本上的知識要獨立運用的道理。在搶答器設(shè)計過程中,發(fā)現(xiàn)了很多細節(jié)性的問題,也出現(xiàn)了很多錯誤,經(jīng)過和同學們研究、商討最后都解決,感覺團隊協(xié)作能力是非常有必要的!通過此次的搶答器的設(shè)計,讓我重新拾起了以前所學習的電子知識和C語言的編程,也使我加深了對單片機及接口技術(shù)的理解和應(yīng)用,由于知識水平的局限,設(shè)中可能會存在著一些缺乏,我真誠的承受教師和同學的批評和指正。5.3展望本設(shè)計可以對搶答器擴展的功能有:〔1〕可以將該搶答器擴展搶答定時功能,添加定時中斷可以比擬準確的設(shè)置延時。〔2〕可以對該搶答器擴展多個選手搶答,這樣可以對搶答器不受3位的限制?!?〕可以對該對搶答器加上其他功能,如停頓鍵,加時間,減時間鍵。6參考文獻[1]郭天祥主編.新概念51單片機C語言教程:入門、提高、開發(fā)、拓展全攻略.:電子工業(yè),2008:108-120.[2]侯玉寶等主編.基于Proteus的51系列單片機設(shè)計與仿真.:電子工業(yè),2008.9.[3]維成,加國主編.單片機原理與應(yīng)用及C51程序設(shè)計.:清華大學,2009.7.7附錄1系統(tǒng)流程圖定時器0中斷定時器0中斷1秒時間到?秒減1數(shù)碼管顯示秒值中斷返回YN圖16開場開場初始化是否按開場鍵啟動中斷,開場計時假設(shè)有選手搶答?中斷停頓,顯示時間和選手號完畢NNYY圖17外中斷外中斷1號選手按下?中斷返回2號選手按下?3號選手按下?數(shù)碼管顯示3號選手編號,蜂鳴器響數(shù)碼管顯示2號選手編號,蜂鳴器響數(shù)碼管顯示1號選手編號,蜂鳴器響NNNYYY圖182器件清單表1器件清單器件名稱規(guī)格型號數(shù)量單片機AT89C521排阻1電阻10K2電容20PF3晶振12MHZ1按鈕5共陰4位8段數(shù)碼管1揚聲器1三極管13程序#include<reg52.h> #include<intrins.h> #defineucharunsignedchar #defineuintunsignedint inta,b,c,d;//數(shù)碼管數(shù)字定義 uintl,l2,n,m,lsd; sbits1=P3^5;//控制鍵定義 sbitd1=P2^0; sbitd2=P2^1; sbitd3=P2^2;//搶答鍵定義 sbitw1=P2^4; sbitw2=P2^5; sbitw3=P2^6; sbitw4=P2^7; sbitfeng=P3^4;//蜂鳴器 ucharcodetable[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71, 0x76,0x79,0x38,0x3f, 0x40,0x00}; voiddisplay(uchar,uchar,uchar,uchar); voiddisplay2(uchar,uchar,uchar,uchar); voiddelay(uintz) { uintt1,y; for(t1=z;t1>0;t1--) for(y=110;y>0;y--); } voidmain() {a=3; b=c=d=0; lsd=0x0f; w1=w2=w3=w4=1; TMOD=0x01; TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1; ET0=1; while(1) {display(a,b,c,d); if(s1==0) {delay(1); if(s1==0) { TR0=1; s1=0; if(d1==0) {P1=0xfe; m=0; while(((a!=0)||(b!=0)||(c!=0)||(d!=0))) {TR0=0; display2(a,b,20,1); m++; if(m<=300) feng=0; else feng=1; } } if(d2==0) {P1=0xfd; m=0; while(((a!=0)||(b!=0)||(c!=0)||(d!=0))) {TR0=0; display2(a,b,20,2); m++; if(m<=300) feng=0; else feng=1; } } if(d3==0) {P1=0xfb; m=0; while(((a!=0)||(b!=0)||(c!=0)||(d!=0))) {TR0=0; display2(a,b,20,3); m++; if(m<=300) feng=0; else feng=1; } } }} }} voiddisplay(ucharqi,ucharba,ucharsh,ucharg) { P0=0xff; w1=0; P0=table[qi]; delay(1); w1=1; P0=0xff; w2=0; P0=table[ba]|0x80; delay(1); w2=1; P0=0xff; w3=0; P0=table[sh]; delay(1); w3=1; P0=0xff; w4=0; P0=table[g]; del

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論