![基于51單片機的八路搶答器課程設(shè)計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/6/f066172d-ce50-4005-b0c9-f55cd25edb7b/f066172d-ce50-4005-b0c9-f55cd25edb7b1.gif)
![基于51單片機的八路搶答器課程設(shè)計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/6/f066172d-ce50-4005-b0c9-f55cd25edb7b/f066172d-ce50-4005-b0c9-f55cd25edb7b2.gif)
![基于51單片機的八路搶答器課程設(shè)計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/6/f066172d-ce50-4005-b0c9-f55cd25edb7b/f066172d-ce50-4005-b0c9-f55cd25edb7b3.gif)
![基于51單片機的八路搶答器課程設(shè)計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/6/f066172d-ce50-4005-b0c9-f55cd25edb7b/f066172d-ce50-4005-b0c9-f55cd25edb7b4.gif)
![基于51單片機的八路搶答器課程設(shè)計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/6/f066172d-ce50-4005-b0c9-f55cd25edb7b/f066172d-ce50-4005-b0c9-f55cd25edb7b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 八路搶答器計課程設(shè)計設(shè)計題目: 八路搶答器 學(xué)院系別: 機械與電子工程學(xué)院 班 級: 機電自動化zb42902 目錄一 設(shè)計任務(wù)及要求.4二 方案設(shè)計.4三 硬件電路設(shè)計.5四 軟件設(shè)計.8五 總結(jié).18 摘 要搶答器作為一種工具,已廣泛應(yīng)用于各種智力和知識競賽場合。但搶答器的使用頻率較低,且有的要么制作復(fù)雜,要么可靠性低。作為一個單位,如果專門購一臺搶答器雖然在經(jīng)濟(jì)上可以承受,但每年使用的次數(shù)極少,往往因長期存放使(電子器件的)搶答器損壞,再購置的麻煩和及時性就會影響活動的開展,因此設(shè)計了本搶答器。本設(shè)計是以八路搶答為基本理念??紤]到依需設(shè)定限時回答的功能,利用at89c51單片機及外圍接
2、口實現(xiàn)的搶答系統(tǒng),利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)行計時,同時使數(shù)碼管能夠正確地顯示時間。用開關(guān)做鍵盤輸出,揚聲器發(fā)生提示。同時系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時間和回答問題的時間可在1-99s設(shè)定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時間和回答問題時間倒記時顯示,滿時后系統(tǒng)計時自動復(fù)位及主控強制復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。一、設(shè)計任務(wù)與要求一、題目:8路比賽搶答器二、基本要求: 利用8051單片機中斷系統(tǒng),制作一個有8個按鍵的比賽搶答器。在有
3、人按鍵時進(jìn)行對應(yīng)選手顯示。三、設(shè)計任務(wù):1設(shè)計硬件電路,畫出電路原理圖;2畫出程序流程圖;3編制程序,寫出源程序代碼;4寫出5000字的詳細(xì)說明書,要求字跡工整,原理敘述正確,會計算主要元器件的一些參數(shù),并選擇元器件;5個人總結(jié)。四、參考資料:1. 教材;2單片機實驗指導(dǎo)書 二、方案設(shè)計 方案:該系統(tǒng)采用51系列單片機at89c51作為控制核心,該系統(tǒng)可以完成運算控制、信號識別以及顯示功能的實現(xiàn)。由于用了單片機,使其技術(shù)比較成熟,應(yīng)用起來方便、簡單并且單片機周圍的輔助電路也比較少,便于控制和實現(xiàn)。整個系統(tǒng)具有極其靈活的可編程性,能方便地對系統(tǒng)進(jìn)行功能的擴(kuò)張和更改。mcs-51單片機特點如下:
4、可靠性好:單片機按照工業(yè)控制要求設(shè)計,抵抗工業(yè)噪聲干擾優(yōu)于一般的cpu,程序指令和數(shù)據(jù)都可以寫在rom里,許多信號通道都在同一芯片,因此可靠性高,易擴(kuò)充。單片機有一般電腦所必須的器件,如三態(tài)雙向總線,串并行的輸入及輸出引腳,可擴(kuò)充為各種規(guī)模的微電腦系統(tǒng)。 控制功能強:單片機指令除了輸入輸出指令,邏輯判斷指令外還有更豐富的條件分支跳躍指令。其原理框圖如下:搶答按扭優(yōu)先編碼電路鎖存器譯碼電路譯碼顯示主持人按鈕開關(guān)控制電路報警電路秒脈沖產(chǎn)生電路定時電路譯碼電路顯示電路三、硬件電路設(shè)計1、 搶答器的電路框圖 如圖1所示為電路框圖。其工作原理為:接通電源后,主持人將開關(guān)撥到“清除”狀態(tài),搶答器處于禁止?fàn)?/p>
5、態(tài),編號顯示器滅燈,定時器顯示設(shè)定時間;主持人將開關(guān)置,“開始”狀態(tài),宣布“開始”搶答器工作。定時器倒計時,揚聲器給出聲響提示。選手在定時時間內(nèi)搶答時,搶答器完成:優(yōu)先判斷、編號鎖存、編號顯示、揚聲器提示。當(dāng)一輪搶答之后,定時器停止、禁止二次搶答、定時器顯示剩余時間。如果再次搶答必須由主持人再次操作開始、停止?fàn)顟B(tài)開關(guān)。搶答按扭優(yōu)先編碼電路鎖存器譯碼電路譯碼顯示主持人控制開關(guān)控制電路報警電路秒脈沖產(chǎn)生電路定時電路譯碼電路顯示電路 圖1搶答器框圖 如圖1所示為電路框圖。其工作原理為:接通電源后,主持人將開關(guān)撥到“清除”狀態(tài),搶答器處于禁止?fàn)顟B(tài),編號顯示器滅燈,定時器顯示設(shè)定時間;主持人將開關(guān)置,“
6、開始”狀態(tài),宣布“開始”搶答器工作。定時器倒計時,揚聲器給出聲響提示。選手在定時時間內(nèi)搶答時,搶答器完成:優(yōu)先判斷、編號鎖存、編號顯示、揚聲器提示。當(dāng)一輪搶答之后,定時器停止、禁止二次搶答、定時器顯示剩余時間。如果再次搶答必須由主持人再次操作“開始、停止”狀態(tài)開關(guān)。 圖2搶答電路的接口電路2、單元電路設(shè)計(1)搶答器電路參考電路如圖2所示。該電路完成兩個功能:一是分辨出選手按鍵的先后,并鎖存優(yōu)先搶答者的編號,同時譯碼顯示電路顯示編號;二是禁止其他選手按鍵操作無效。如有再次搶答需由主持人將s開關(guān)重新置,“清除”然后再進(jìn)行下一次搶答。 (2)時序控制電路設(shè)計時序控制電路是搶答器設(shè)計的關(guān)鍵,它要完成
7、以下功能:a.主持人將控制開關(guān)撥到開始位置時,揚聲器發(fā)聲,搶答電路和定時電路進(jìn)人正常搶答工作狀態(tài)。 b.當(dāng)參賽選手按動搶答鍵時,揚聲器發(fā)聲,搶答電路和定時電路停止工作。(3)復(fù)位電路的設(shè)計外部中斷和內(nèi)部中斷并存,單片機硬件復(fù)位端,只要持續(xù)4個機器周期的高電平即可實現(xiàn)復(fù)位,硬件復(fù)位后的各狀態(tài)可知寄存器以及存儲器的值都恢復(fù)到了初始值,因為本設(shè)計中功能中有倒計時時間的記憶功能,所以不能對單片機進(jìn)行硬件復(fù)位,只能用軟件復(fù)位,軟件復(fù)位實際上就是當(dāng)程序執(zhí)行完之后,將程序通過一條跳轉(zhuǎn)指令讓它完成復(fù)位。復(fù)位電路如圖3所示: 圖3復(fù)位電路圖 圖4時鐘震蕩電路3、時鐘震蕩電路 時鐘震蕩電路單片機必須在at89c5
8、1的驅(qū)動下才能工作,在單片機內(nèi)部有一個時鐘震蕩電路,只需要外接一個振蕩器就能產(chǎn)生一定的時鐘信號送到單片機內(nèi)部的各個單元,時鐘震蕩電路如圖4所示。 4、報警電路設(shè)計報警電路用于報警,當(dāng)遇到報警信號時,發(fā)出警報。一般喇叭是一種電感性圖5報警電路圖。8951驅(qū)動喇叭的信號為各種頻率的脈沖。因此,最簡單的喇叭驅(qū)動方式就是利用達(dá)林頓晶體管,或者以兩個常用的小晶體管連接成達(dá)林頓架勢。在右圖中電阻r為限流電阻,在此利用晶體管的高電流增益,以達(dá)到電路快速飽和的目的。不過,如果要由p0輸出到此電路,還需要連接一個10k的上拉電阻。選手在設(shè)定的時間內(nèi)搶答時,實現(xiàn):優(yōu)先判斷、編號鎖存、編號顯示、揚聲器提示。當(dāng)一輪搶
9、答之后,定時器停止、禁止二次搶答、定時器顯示剩余時間。如果再次搶答必須由主持人再次作清除和開始狀態(tài)開關(guān)。 圖5報警電路圖 四、軟件設(shè)計1、系統(tǒng)主程序設(shè)計為了能夠達(dá)到搶答的公平、公正、合理,應(yīng)該在主持人發(fā)布搶答命令之前必須先設(shè)定搶答的時間,因而在編開始搶答前的程序得先編寫設(shè)定時間的程序,當(dāng)時間設(shè)好了之后,主持人發(fā)布搶答命令按下p1.7按鍵,程序開始打開定時中斷開始倒計時,然后調(diào)用鍵盤掃描子程序,編寫鍵盤掃描程序。當(dāng)在掃描到有人按下了答題鍵,馬上關(guān)閉t0、調(diào)用顯示程序、封鎖鍵盤。主程序設(shè)置搶答時間和回答問題時間定時器及并行口初始化將時間計數(shù)器及啟動標(biāo)志值1開中斷采并行口數(shù)據(jù)為0嗎?啟動標(biāo)志=1嗎?
10、判斷搶答組號將搶答組發(fā)光二極管點亮判斷哪一組為搶答組將搶答組號送顯示搶答時間到了嗎?輸出響鈴信號提示超時繼續(xù)搶答比賽嗎?系統(tǒng)返回nyyynyn 主程序流程圖2、 主程序清單ok equ 20h;搶答開始標(biāo)志位ring equ 22h;響鈴標(biāo)志位org 0000hajmp mainorg 0003hajmp int0suborg 000bhajmp t0intorg 0013hajmp int1suborg 001bhajmp t1intorg 0040hmain: mov r1,#30;初設(shè)搶答時間為30smov r2,#60;初設(shè)答題時間為60smov tmod,#11h;設(shè)置未定時器/模式
11、1mov th0,#0f0hmov tl0,#0ffh;越高發(fā)聲頻率越高,越尖mov th1,#3chmov tl1,#0b0h;50ms為一次溢出中斷setb easetb et0setb et1setb ex0setb ex1;允許四個中斷,t0/t1/int0/int1clr okclr ringsetb tr1setb tr0;一開始就運行定時器,以開始顯示fff.如果想重新計數(shù),重置th1/tl1就可以了;=查詢程序=start: mov r5,#0bhmov r4,#0bhmov r3,#0bhacall display;未開始搶答時候顯示fffjb p3.0,next;ddddd
12、ddacall delayjb p3.0,next;去抖動,如果開始鍵按下就向下執(zhí)行,否者跳到非法搶答查詢acall bark;按鍵發(fā)聲mov a,r1mov r6,a;送r1-r6,因為r1中保存了搶答時間setb ok;搶答標(biāo)志位,用于count只程序中判斷是否查詢搶答mov r7,#01h ;讀搶答鍵數(shù)據(jù)信號標(biāo)志,這里表示只讀一次有用信號mov r3,#0ah;搶答只顯示計時,滅號數(shù)ajmp count;進(jìn)入倒計時程序,查詢有效搶答的程序在count里面next: jnb p1.0,false1jnb p1.1,false2jnb p1.2,false3jnb p1.3,false4jn
13、b p1.4,false5jnb p1.5,false6jnb p1.6,false7jnb p1.7,false8ajmp start;=非法搶答處理程序=false1: mov r3,#01hajmp errorfalse2: mov r3,#02hajmp errorfalse3: mov r3,#03hajmp errorfalse4: mov r3,#04hajmp errorfalse5: mov r3,#05hajmp errorfalse6: mov r3,#06hajmp errorfalse7: mov r3,#07hajmp errorfalse8: mov r3,#08
14、hajmp error;=int0(搶答時間r1調(diào)整程序)=int0sub:mov a,r1mov b,#0ahdiv abmov r5,amov r4,bmov r3,#0ahacall display;先在兩個時間led上顯示r1jnb p3.4,inc0;p3.4為+1s鍵,如按下跳到incojnb p3.5,dec0;p3.5為-1s鍵,如按下跳到decojnb p3.1,back0;p3.1為確定鍵,如按下跳到backoajmp int0subinc0: mov a,r1cjne a,#63h,add0;如果不是99,r2加1,如果加到99,r1就置0,重新加起。mov r1,#00
15、hacall delay1ajmp int0subadd0: inc r1acall delay1ajmp int0subdec0: mov a,r1jz setr1;如果r1為0, r1就置99,dec r1acall delay1ajmp int0subsetr1: mov r1,#63hacall delay1ajmp int0subback0: reti;=int1(回答時間r2調(diào)整程序)=int1sub:mov a,r2mov b,#0ahdiv abmov r5,amov r4,bmov r3,#0ahacall displayjnb p3.4,inc1jnb p3.5,dec1j
16、nb p3.1,back1ajmp int1subinc1: mov a,r2cjne a,#63h,add1mov r2,#00hacall delay1ajmp int1subadd1: inc r2acall delay1ajmp int1subdec1: mov a,r2jz setr2dec r2acall delay1ajmp int1subsetr2: mov r2,#63hacall delay1ajmp int1subback1: reti;=倒計時程序(搶答倒計時和回答倒計時都跳到改程序)=repeat:mov a,r2 ;使用錦囊時重新計時mov r6,aclr ring
17、count: mov r0,#00h;重置定時器中斷次數(shù)mov th1,#3chmov tl1,#0b0h;重置定時器recount:mov a,r6;r6保存了倒計時的時間,之前先將搶答時間或回答時間給r6mov b,#0ahdiv ab;除十分出個位/十位mov 30h,a;十位存于(30h)mov 31h,b;個位存于(31h)mov r5,30h;取十位mov r4,31h;取個位mov a,r6subb a,#07hjnc larger;大于5s跳到larger,小于等于5s會提醒mov a,r0cjne a,#0ah,full;1s中0.5s向下運行clr ringajmp che
18、ckfull: cjne a,#14h,check;下面是1s的情況,響并顯示號數(shù)并清r0,重新計setb ringmov a,r6jz quit;計時完畢mov r0,#00hdec r6;一秒標(biāo)志減1ajmp checklarger: mov a,r0cjne a,#14h,check;如果1s向下運行,否者跳到查停/顯示dec r6;計時一秒r6自動減1mov r0,#00hcheck: jnb p3.1,quit;如按下停止鍵退出jnb ok,checkk ;只在回答倒計時才有效ajmp nexttcheckk:jnb p3.0,repeat ;判斷是否使用錦囊nextt: acall
19、 displayjb ok,accout;如果是搶答倒計時,如是則查詢搶答,否者跳過查詢繼續(xù)倒數(shù)(這里起到鎖搶答作用)ajmp recountaccout:mov a,36hjnb acc.0,true1jnb acc.1,true2jnb acc.2,true3jnb acc.3,true4jnb acc.4,true5jnb acc.5,true6jnb acc.6,tz1jnb acc.7,tz2ajmp recounttz1:jmp true7tz2:jmp true8quit: clr ok;如果按下了停止鍵執(zhí)行的程序clr ringajmp start;=正常搶答處理程序=true
20、1: acall barkmov a,r2mov r6,a;搶答時間r2送r6mov r3,#01hclr ok;因為答題的計時不再查詢搶答,所以就鎖了搶答ajmp counttrue2:acall barkmov a,r2mov r6,amov r3,#02hclr okajmp counttrue3:acall barkmov a,r2mov r6,amov r3,#03hclr okajmp counttrue4:acall barkmov a,r2mov r6,amov r3,#04hclr okajmp counttrue5:acall barkmov a,r2mov r6,amov
21、 r3,#05hclr okajmp counttrue6: acall barkmov a,r2mov r6,amov r3,#06hclr okajmp counttrue7:acall barkmov a,r2mov r6,amov r3,#07hclr okajmp counttrue8:acall barkmov a,r2mov r6,amov r3,#08hclr okajmp count;=犯規(guī)搶答程序=error: mov r0,#00hmov th1,#3chmov tl1,#0b0hmov 34h,r3;犯規(guī)號數(shù)暫存與(34h)here: mov a,r0cjne a,#0
22、6h,flash;0.3s向下運行-滅并停響clr ringmov r3,#0ahmov r4,#0ahmov r5,#0ah;三燈全滅ajmp check1flash: cjne a,#0ch,check1;下面是0.8s的情況,響并顯示號數(shù)并清r0,重新計setb ringmov r0,#00hmov r3,34h;取回號數(shù)mov r5,#0bhmov r4,#0bh;顯示ff和號數(shù)ajmp check1check1: jnb p3.1,quit1acall displayajmp herequit1: clr ringclr okajmp start;=顯示程序=display:mov
23、dptr,#dat1;查表顯示程序,利用p0口做段選碼口輸出/p2低三位做位選碼輸出,mov a,r3movc a,a+dptrmov p2,#0fehmov p0,aacall delay2mov dptr,#dat2mov a,r5movc a,a+dptrmov p2,#0fdhmov p0,aacall delay2mov a,r4movc a,a+dptrmov p2,#0fbhmov p0,aacall delay2retdat1:db 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h,71h;滅,1,2,3,4,5,6,7,8,9,滅,fda
24、t2:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h,71h;第一個為零,其他與上相同,因為十位如果為零顯示熄滅;=加減時間延時(起到不會按下就加n個數(shù))=delay1: mov 35h,#08hloop0: acall displaydjnz 35h,loop0ret;=延時4236個機器周期(去抖動用到)=delay: mov 32h,#12hloop: mov 33h,#0afhloop1: djnz 33h,loop1djnz 32h,loopret;=延時4236個機器周期(顯示用到)=delay2: mov 32h,#43hloop3: mov 33h,#1ehmov a,r7 ;每隔6070個機器周期讀一次p1口,全為1時為無效數(shù)據(jù),繼續(xù)讀,有一個不為1時,轉(zhuǎn)到正常搶答處理jnz aaaa1 ;沒讀到有效數(shù)據(jù)時繼續(xù)轉(zhuǎn)到aaaa1loop2: djnz 33h,loop2djnz 32h,loop3ret;=讀搶答按鍵數(shù)據(jù)口
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)計類合同協(xié)議書
- 軟件產(chǎn)品開發(fā)與生命周期管理作業(yè)指導(dǎo)書
- 2025年聊城道路貨運駕駛員從業(yè)資格證考試
- 2025年咸寧道路貨運駕駛員從業(yè)資格證考試題庫
- 2024-2025學(xué)年高中政治課時作業(yè)12博大精深的中華文化含解析新人教版必修3
- 2024-2025學(xué)年度九年級物理全冊15.3串聯(lián)和并聯(lián)教學(xué)設(shè)計3新版新人教版
- 2024-2025學(xué)年高中英語Unit2LanguageSectionⅦWriting-調(diào)查報告教案含解析牛津譯林版必修3
- 2024年春八年級物理下冊第十章浮力章末小結(jié)與提升分層精煉新版新人教版
- 2024年新教材高中生物課時素養(yǎng)評價十八6.3.2隔離在物種形成中的作用含解析新人教版必修2
- 蘇科版數(shù)學(xué)八年級上冊聽評課記錄《1-3探索三角形全等的條件(1)》
- 國庫集中支付培訓(xùn)班資料-國庫集中支付制度及業(yè)務(wù)操作教學(xué)課件
- 詩詞寫作入門課件
- 2023年上海青浦區(qū)區(qū)管企業(yè)統(tǒng)一招考聘用筆試題庫含答案解析
- 2023版押品考試題庫必考點含答案
- 植物之歌觀后感
- 空氣能熱泵安裝示意圖
- 建筑工程施工質(zhì)量驗收規(guī)范檢驗批填寫全套表格示范填寫與說明
- 2020年中秋國慶假日文化旅游市場安全生產(chǎn)檢查表
- 昆明天大礦業(yè)有限公司尋甸縣金源磷礦老廠箐-小凹子礦段(擬設(shè))采礦權(quán)出讓收益評估報告
- 心有榜樣行有力量 -從冬奧冠軍徐夢桃身上感受青春奮斗初中主題班會
- 七年級英語下冊閱讀理解10篇
評論
0/150
提交評論