單片機(jī)課程八路搶答器設(shè)計(jì)_第1頁(yè)
單片機(jī)課程八路搶答器設(shè)計(jì)_第2頁(yè)
單片機(jī)課程八路搶答器設(shè)計(jì)_第3頁(yè)
單片機(jī)課程八路搶答器設(shè)計(jì)_第4頁(yè)
單片機(jī)課程八路搶答器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、物理與機(jī)電學(xué)院課程設(shè)計(jì)報(bào)告課程名稱:?jiǎn)纹瑱C(jī)八路搶答器設(shè)計(jì)系 部:物理與機(jī)電工程專業(yè)班級(jí):07電了信息工程(二)班 學(xué)生姓名:肖樂(lè)強(qiáng)指導(dǎo)教師:翁國(guó)云老師完成時(shí)間:2010525扌艮告成績(jī):評(píng)閱意見(jiàn):評(píng)閱教師 h期單片機(jī)八路搶答器設(shè)計(jì)摘 要搶答器作為一種工具,己廣泛應(yīng)用于各種智力和知識(shí)競(jìng)賽場(chǎng)合。但搶答器的 使用頻率較低,且有的耍么制作復(fù)雜,要么可靠性低。作為一個(gè)單位,如果專門 購(gòu)一臺(tái)搶答器雖然在經(jīng)濟(jì)上可以承受,但每年使用的次數(shù)極少,往往因長(zhǎng)期存放 使(電子器件的)搶答器損壞,再購(gòu)置的麻煩和及時(shí)性就會(huì)影響活動(dòng)的開(kāi)展,因 此設(shè)計(jì)了本搶答器。本設(shè)計(jì)是以八路搶答為基本理念。考慮到依需設(shè)定限時(shí)冋答的功能,利

2、用 at89c51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定吋器/計(jì)數(shù)器定吋 和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠止確地進(jìn)行計(jì)時(shí),同 時(shí)使數(shù)碼管能夠止確地顯示時(shí)間。用開(kāi)關(guān)做鍵盤輸出,揚(yáng)聲器發(fā)生提示。同時(shí)系 統(tǒng)能夠?qū)崿F(xiàn):在搶答屮,只有開(kāi)始后搶答才有效,如果在開(kāi)始搶答前搶答為無(wú)效; 搶答限定時(shí)間和冋答問(wèn)題的時(shí)間叮在l-99s設(shè)定;叮以顯示是哪位選手有效搶答 和無(wú)效搶答,正確按鍵后有音樂(lè)提示;搶答時(shí)間和回答問(wèn)題時(shí)間倒記時(shí)顯示,滿 時(shí)后系統(tǒng)計(jì)時(shí)口動(dòng)復(fù)位及主控強(qiáng)制復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無(wú)效非 法。一、設(shè)計(jì)任務(wù)與要求1、搶答器同時(shí)供8名選手或8個(gè)代表隊(duì)比賽,分別用8個(gè)按鈕s

3、0、s8表示。2、設(shè)置一個(gè)系統(tǒng)清除和搶答控制開(kāi)關(guān)s,該開(kāi)關(guān)由主持人控制。3、搶答器具有鎖存與顯示功能。即選手按動(dòng)按鈕,鎖存相應(yīng)的編號(hào),并在 led數(shù)碼管上顯示,同時(shí)揚(yáng)聲器發(fā)岀報(bào)警聲響提示。選手搶答實(shí)行優(yōu)先鎖存,優(yōu) 先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。4、搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間由主持人設(shè)定(如30秒)。 當(dāng)主持人啟動(dòng)開(kāi)始鍵后,定吋器進(jìn)行減計(jì)吋,同時(shí)揚(yáng)聲器發(fā)出短暫的聲響,聲 響持續(xù)的時(shí)間0.5秒左右。5、參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器 上顯示選手的編號(hào)和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。6、如果定時(shí)時(shí)間已到,無(wú)人搶答,本次搶答

4、無(wú)效,系統(tǒng)報(bào)警并禁止搶答,定 時(shí)顯示器上顯示00。二、方案設(shè)計(jì)與論證方案一:系統(tǒng)各部分采用屮小規(guī)模集成數(shù)字電路,用機(jī)械開(kāi)關(guān)按鈕作為控制 開(kāi)關(guān),完成搶答輸入信號(hào)的觸發(fā)。該方案的特點(diǎn)是屮小規(guī)模集成電路應(yīng)用技術(shù)成 熟,性能可靠,能方便地完成選手搶答的基本功能,但是由于系統(tǒng)功能要求較高, 所以電路連接集成電路相對(duì)較多,而月過(guò)于復(fù)雜,并月制作過(guò)程工序比較煩瑣, 使用不太方便。方案二:該系統(tǒng)采用51系列單片機(jī)at89c51作為控制核心,該系統(tǒng)可以完成 運(yùn)算控制、信號(hào)識(shí)別以及顯示功能的實(shí)現(xiàn)。由于用了單片機(jī),使其技術(shù)比較成熟, 應(yīng)用起來(lái)方便、簡(jiǎn)單并且單片機(jī)周圍的輔助電路也比較少,便于控制和實(shí)現(xiàn)。整 個(gè)系統(tǒng)具冇

5、極其靈活的可編程性,能方便地對(duì)系統(tǒng)進(jìn)行功能的擴(kuò)張和更改。 mcs-51單片機(jī)特點(diǎn)如下:1可靠性好:?jiǎn)纹瑱C(jī)按照工業(yè)控制要求設(shè)計(jì),抵抗工業(yè)噪聲干擾優(yōu)于一般 的cpu,程序指令和數(shù)據(jù)都可以寫(xiě)在rom里,許多信號(hào)通道都在同一芯片,因此 可靠性高,易擴(kuò)充。2單片機(jī)冇一般電腦所必須的器件,如三態(tài)雙向總線,串并行的輸入及輸 出引腳,可擴(kuò)充為各種規(guī)模的微電腦系統(tǒng)。3控制功能強(qiáng):?jiǎn)纹瑱C(jī)指令除了輸入輸出指令,邏輯判斷指令外還冇更豐 富的條件分支跳躍指令。方案比較及其選用依據(jù),顯然方案二比方案一簡(jiǎn)單的多,不但從性能上優(yōu)于 方案一,而且在使用上及其功能的實(shí)現(xiàn)上都較方案一簡(jiǎn)潔,并且由于單片機(jī)具冇 優(yōu)越的高集成電路性,使

6、其工作速度更快、效率更高。另外80c51單片機(jī)采用 12mhz的品振,捉高了信號(hào)的測(cè)量精度,并且使該系統(tǒng)可以通過(guò)軟件改進(jìn)來(lái)擴(kuò)張 功能。而方案一采用了中小規(guī)模集成電路,冇其復(fù)朵的電路性能,從而可能會(huì)使 信號(hào)的輸入輸出產(chǎn)生延時(shí)及不必要的誤差。依此依據(jù)選擇方案二比較適合。 其原理框圖如下:三、硬件電路設(shè)計(jì)1、搶答器的電路框圖如圖11、1所示為電路框圖。其工作原理為:接通電源后,主持人將開(kāi)關(guān) 撥到“清除”狀態(tài),搶答器處于禁止?fàn)顟B(tài),編號(hào)顯示器滅燈,定吋器顯示設(shè)定吋 間;主持人將開(kāi)關(guān)置,“開(kāi)始”狀態(tài),宣布“開(kāi)始”搶答器工作。定吋器倒計(jì)吋, 揚(yáng)聲器給出聲響提示。選手在定吋時(shí)間內(nèi)搶答時(shí),搶答器完成:優(yōu)先判斷、

7、編號(hào) 鎖存、編號(hào)顯示、揚(yáng)聲器提示。當(dāng)一輪搶答之后,定吋器停止、禁止二次搶答、 定吋器顯示剩余吋間。如果再次搶答必須由主持人再次操作開(kāi)始、停止?fàn)顟B(tài)開(kāi) 關(guān)。圖11.1搶答器框圖hbcdefg dp1 £34 wc-:a hrh|nn|»|«p|r| =v»gr-hd end eehs e£rs axmtezd nnwzd 咚 <*zd =<end 2 內(nèi)nd i.c sas r-awod wqyge 5260* few eaxmd sosut a*rabc5ijzzl.r91oj"tc t:'xi:c31ojjchyb

8、tal tekt> .vtqh,c1c2speakeri-d2m«te>rr>圖11.2搶答電路的接口電路如圖11、1所示為電路框圖。其工作原理為:接通電源后,主持人將開(kāi)關(guān)撥到“清 除”狀態(tài),搶答器處于禁止?fàn)顟B(tài),編號(hào)顯示器滅燈,定時(shí)器顯示設(shè)定時(shí)間;主持 人將開(kāi)關(guān)置,“開(kāi)始”狀態(tài),宣布“開(kāi)始”搶答器工作。定時(shí)器倒計(jì)時(shí),揚(yáng)聲器 給出聲響提示。選手在定時(shí)時(shí)間內(nèi)搶答時(shí),搶答器完成:優(yōu)先判斷、編號(hào)鎖存、 編號(hào)顯示、揚(yáng)聲器提示。當(dāng)一輪搶答之后,定時(shí)器停1上、禁止二次搶答、定時(shí)器 顯示剩余時(shí)間。如果再次搶答必須由主持人再次操作“開(kāi)始、停止”狀態(tài)開(kāi)關(guān)。2、單元電路設(shè)計(jì)(1) 搶答器

9、電路參考電路如圖11.2所示。該電路完成兩個(gè)功能:一是分辨出選手按鍵的先后, 并鎖存優(yōu)先搶答者的編號(hào),同時(shí)譯碼顯示電路顯示編號(hào);二是禁止其他選手按鍵 操作無(wú)效。如冇再次搶答需由主持人將s開(kāi)關(guān)重新置,“清除”然后再進(jìn)行下一 次搶答。(2) 時(shí)序控制電路設(shè)計(jì)時(shí)序控制電路是搶答器設(shè)計(jì)的關(guān)鍵,它要完成以下功能:乩主持人將控制開(kāi)關(guān)撥到”開(kāi)始”位置時(shí),揚(yáng)聲器發(fā)聲,搶答電路和定時(shí)電路進(jìn) 人正常搶答工作狀態(tài)。b當(dāng)參賽選手按動(dòng)搶答鍵時(shí),揚(yáng)聲器發(fā)聲,搶答電路和定時(shí)電路停止工作。(3) 復(fù)位電路的設(shè)計(jì)外部中斷和內(nèi)部中斷并存,單片機(jī)硬件復(fù)位端,只要持續(xù)4個(gè)機(jī)器周期的高 電平即可實(shí)現(xiàn)復(fù)位,硬件復(fù)位后的各狀態(tài)可知寄存器以

10、及存儲(chǔ)器的值都恢復(fù)到了 初始值,因?yàn)楸驹O(shè)計(jì)中功能中有倒計(jì)時(shí)時(shí)間的記憶功能,所以不能對(duì)單片機(jī)進(jìn)行 硬件復(fù)位,只能用軟件復(fù)位,軟件復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完z后,將程序通 過(guò)一條跳轉(zhuǎn)指令讓它完成復(fù)位。復(fù)位電路如卜圖示:03-os-1our2200 <te>r15002. 3. 3外部震蕩電路外部震蕩電路單片機(jī)必須在at89c51的駅動(dòng)下才能工作,在單片機(jī)內(nèi)部有一 個(gè)時(shí)鐘震蕩電路,只需要外接一個(gè)振蕩器就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi) 部的各個(gè)單元,外部震蕩電路如下圖。c1-hfr-30pf i.<text> c2tl-.30pf .21匸對(duì)>xicrystz vtex

11、trl5co2. 3. 4報(bào)警電路設(shè)計(jì)報(bào)警電路用于報(bào)警,當(dāng)遇到報(bào)警信號(hào)時(shí),發(fā)出警報(bào)。一般喇叭是一種電感性 圖11. 4報(bào)警電路圖。8951驅(qū)動(dòng)喇叭的信號(hào)為各種頻率的脈沖。因此,最簡(jiǎn)單的 喇叭驅(qū)動(dòng)方式就是利用達(dá)林頓晶體管,或者以兩個(gè)常用的小晶體管連接成達(dá)林頓 架勢(shì)。在右圖屮電阻r為限流電阻,在此利用晶體管的高電流增益,以達(dá)到電路 快速飽和的口的。不過(guò),如果要由p0輸出到此電路,還需要連接一個(gè)10k的上 拉電阻。選手在設(shè)定的吋間內(nèi)搶答吋,實(shí)現(xiàn):優(yōu)先判斷、編號(hào)鎖存、編號(hào)顯示、揚(yáng)聲器提 示。當(dāng)一-輪搶答之后,定吋器停止、禁止二次搶答、定吋器顯示剩余吋間。如果 再次搶答必須由主持人再次*作清除和開(kāi)始狀態(tài)

12、開(kāi)關(guān)。圖面是數(shù)字搶答器的 報(bào)警電路圖。其屮555構(gòu)成多諧振蕩器,振蕩頻率fo=l. 43/ (ri+2r2) c,其輸出信 號(hào)經(jīng)三極管推動(dòng)揚(yáng)聲器。pr為控制信號(hào),當(dāng)pr為高電平吋,多諧振蕩器工作,四、軟件設(shè)計(jì)1、系統(tǒng)主程序設(shè)計(jì)為了能夠達(dá)到搶答的公平、公正、合理,應(yīng)該在主持人發(fā)布搶答命令之前 必須先設(shè)定搶答的時(shí)間,因而在編開(kāi)始搶答前的程序得先編寫(xiě)設(shè)定時(shí)間的程序, 當(dāng)時(shí)間設(shè)好了之后,主持人發(fā)布搶答命令按下p1.7按鍵,程序開(kāi)始打開(kāi)定時(shí)中斷開(kāi)始倒計(jì)時(shí),然后調(diào)用鍵盤掃描子程序,編寫(xiě)鍵盤掃描程序。當(dāng)在掃描到冇人 按下了答題鍵,馬上關(guān)閉to、調(diào)用顯示程序、封鎖鍵盤。(1)主程序流程圖2、主程序清單ok e

13、qu 20h;搶答開(kāi)始標(biāo)志位ring equ 22h;響鈴標(biāo)志位org 0000hajmp mainorg 0003hajmp intosuborg 000bhajmptointorg 0013hajmpint1suborg 001bhajmpt1intorg 0040hmain: mov r1,#30;初設(shè)搶答時(shí)間為30smov r2,#60;初設(shè)答題時(shí)間為60smov tmod,#11h;設(shè)置未定時(shí)器/模式1mov th0,#0f0hmov tl0,#0ffh;越高發(fā)聲頻率越高,越尖mov th1,#3chmovtl1,#0b0h;50ms為一次溢出中斷setb easetb et0set

14、b et1setb exosetb ex1;允許四個(gè)中斷,t0/t1/int0/int1clr okclr ringsetb tr1setb tro;開(kāi)始就運(yùn)行定時(shí)器,以開(kāi)始顯示fff.如果想重新計(jì)數(shù),重置th1/tl1就可以了;=查詢程序=start: mov r5,#0bhmov r4,#0bhmov r3,#0bhacall display沬開(kāi)始搶答時(shí)候顯示fffjb p3.0,next;dddddddacalldelayjb p3.0,next;去抖動(dòng),如果”開(kāi)始鍵”按下就向下執(zhí)行,否者跳到非法搶答查詢acall bark;按鍵發(fā)聲mova,r1mov r6,a;送r1->r6,

15、因?yàn)閞1中保存了搶答時(shí)間setb ok;搶答標(biāo)志位,用于count只程序中判斷是否查詢搶答mov r7,#01h ;讀搶答鍵數(shù)據(jù)信號(hào)標(biāo)志,這里表示只讀一次有用信號(hào)mov r3,#0ah;搶答只顯示計(jì)時(shí),滅號(hào)數(shù)ajmp count;進(jìn)入倒計(jì)時(shí)程序,“杳詢有效搶答的程序”在count里面next: jnb p1.0,false1jnb p1.1,false2jnb p1.2,false3jnb p1.3,false4jnb p1.4,false5jnb p1.5,false6jnb p1.6,false7jnb p1.7,false8ajmp start;=非法搶答處理程序=false1: mov

16、 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,#08hajmp error;h=k|nt0(搶答時(shí)間r1調(diào)整程序)=intosub:mova,r1mov b,#0ahdiv abmov r5,amov r4,bmov r3,#0ah

17、acall display洗在兩個(gè)時(shí)間led上顯示r1jnb p3.4jnc0;p3.4為+1s 鍵,如按卜跳到 incojnb p3.5,dec0;p3.5為1s鍵,如按下跳到decojnb p3.1,back0;p3.1為確定鍵,如按卜跳到backoajmp intosubinco: mova,r1cjnea,#63h,add0;如果不是99,r2加1,如果加到99,r1就置0,重新加起。movr1,#oohacall delay1ajmp intosubaddo: inc r1acall delay1ajmp intosubdeco: mova,r1jz setr1;如果 r1 為0,

18、r1 就置99,dec r1acall delay1ajmp intosubsetr1: mov r1,#63hacall delay1ajmp intosubbacko: reti;=int1 (回答時(shí)間r2調(diào)整程jt)=int1sub:m0va,r2mov b,#0ahdiv abmov r5,amov r4,bmov r3,#0ahacall displayjnb p3.4jnc1jnb p3.5,dec1jnb p3.1.back1ajmp int1 subinc1: mova,r2cjnea, #63h,add1mov r2,#00hacall delay1ajmp int1 sub

19、add1: inc r2acall delay1ajmp int1subdec1: mova,r2jz setr2dec r2acall delay1ajmp int1 subsetr2: mov r2,#63hacall delay1ajmp int1subback1: reti;=倒計(jì)時(shí)程序(搶答倒計(jì)時(shí)和四答倒計(jì)時(shí)都跳到改程序)=repeat:mova,r2 ;使用錦囊時(shí)重新計(jì)時(shí)mov r6,aclr ringcount: mov r0,#00h;重置處時(shí)器中斷次數(shù)mov th1,#3chmov tl1 ,#0b0h;重置定時(shí)器recount:mova,r6;r6保存了倒計(jì)時(shí)的時(shí)間,之兩先

20、將搶答時(shí)間或凹答時(shí)間給r6mov b,#0ahdiv ab;除十分出個(gè)位/十位mov 30h,a汁位存于(30h)mov31h,b;個(gè)位存于(31h)mov r5,30h;取十位mov r4,31h;収個(gè)位mova,r6subba,#07hjnc larger;大于5s跳到larger,小于等于5s會(huì)提醒mov a,rocjnea,#0ah,full;1s 中0.5s 向下運(yùn)行clr ringajmpcheckfull: cjnea,#14h,check;下面是1s的情況,響并顯示號(hào)數(shù)并淸ro,重新計(jì)setb ringmova,r6jz quit;計(jì)時(shí)完畢mov r0,#00hdec r6;秒

21、標(biāo)志減1ajmpchecklarger: mov a,rocjnea,#14h,check;如果1s向下運(yùn)行,否者跳到杳”停/顯示“dec r6;計(jì)時(shí)一秒r6自動(dòng)減1mov r0,#00hcheck: jnb p3.1,quit;如按下停止鍵退出jnb ok,checkk ;只在回答倒計(jì)時(shí)才有效ajmp nexttcheckk:jnb p3.0,repeat ;判斷是否使用錦囊nextt: acall displayjb ok,accout;如果是搶答倒計(jì)時(shí),如是則杳詢搶答,否者跳過(guò)査詢繼續(xù)倒數(shù)(這里起到鎖搶 答作用)ajmp recountaccout:mov a,36hjnbacc.0,t

22、rue1jnbacc.1,true2jnbacc.2,true3jnbacc.3,true4jnbacc.4,true5jnbacc.5,true6jnbacc.6,tz1jnbacc.7,tz2ajmp recounttz1:jmptrue7tz2:jmptrue8quit: clr ok;如果按下了”停止鍵”執(zhí)行的程序clr ringajmp start;=止常搶答處理程序=true1:acall barkmova,r2mov r6,a;搶答時(shí)間r2送r6mov r3,#01 hclr ok;因?yàn)榇痤}的計(jì)時(shí)不再杳詢搶答,所以就鎖了搶答ajmp counttrue2:acall barkmo

23、va,r2mov r6,amov r3,#02hclr okajmp counttrue3:acall barkmova,r2mov r6,amov r3,#03hclr okajmp counttrue4:acall barkmova,r2mov r6,amov r3,#04hclr okajmp counttrue5:acall barkmova,r2mov r6,amov r3,#05hclr okajmp counttrue6:acall barkm0va,r2mov r6,amov r3,#06hclr okajmp counttrue7:acall barkmova,r2mov r

24、6,amov r3,#07hclr okajmp counttrue8:acall barkmova,r2mov r6,amov r3,#08hclr okajmp count;=犯規(guī)搶答程序=error: mov r0,#00hmov th1,#3chmov tl1 ,#0b0hmov 34h,r3;犯規(guī)號(hào)數(shù)暫存與(34h)here: mov a,rocjne a,#06h,flash;0.3s向下運(yùn)行滅并停響clr ringmov r3,#0ahmov r4,#0ahmov r5,#0ah;三燈全滅ajmpcheck1flash: cjnea,#0ch,check1;卜面是0.8s的情況,

25、響并顯示號(hào)數(shù)并淸ro,重新計(jì)setb ringmov r0,#00hmov r3,34h;収回號(hào)數(shù)mov r5,#0bhmov r4,#0bh;顯示ff和號(hào)數(shù)ajmpcheck1check1: jnb p3.1,quit1acall displayajmp herequit1: clr ringclr okajmp start; = = = =顯示程序= = = = =display:mov dptr,#dat1;查表顯示程序,利用pou做段選碼口輸出/p2低三位做位選碼 輸出,mova,r3movca,a+dptrmov p2,#0fehmov p0,aacall delay2mov dpt

26、r,#dat2mova,r5movca,a+dptrmov p2,#0fdhmov p0,aacall delay2mova,r4movca,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丁 滅”,”fdat2:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h,71 h;第一個(gè)為零,其他與上相同,因?yàn)槭蝗绻麨榱泔@示熄滅;=加減時(shí)間延時(shí)

27、健到不會(huì)按下就加n個(gè)數(shù))=delay1: mov 35h,#08hloopo: acall displaydjnz 35h丄ooporet;=延時(shí)4236個(gè)機(jī)器周期(去抖動(dòng)用jij)=delay: mov 32h,#12hloop: mov 33h,#0afhloop1: djnz 33h丄oop1djnz 32h丄oopret;=延時(shí)4236個(gè)機(jī)器周期(顯示用jij)=delay2: mov 32h,#43hloop3: mov 33h,#1ehmov a,r7 ;每隔6070個(gè)機(jī)器周期讀一次p1 口,全為1時(shí)為無(wú)效數(shù)據(jù),繼續(xù)讀,有一個(gè)不為1時(shí), 轉(zhuǎn)到止常搶答處理jnzaaaa1 ;沒(méi)讀到有

28、效數(shù)據(jù)時(shí)繼續(xù)轉(zhuǎn)到aaaa1loop2: djnz 33h丄00p2djnz 32h丄oop3ret;=讀搶答按鍵數(shù)據(jù)口程序=;山于在讀搶答數(shù)據(jù)口的時(shí)候,單片機(jī)首先進(jìn)入倒計(jì)時(shí)程序,再調(diào)用顯示程序,最后才檢測(cè) 按鍵口;然而在檢測(cè)按鍵口時(shí)動(dòng)態(tài)掃描要調(diào)用三次(4ms)延時(shí)程序這樣就會(huì)導(dǎo)致讀數(shù)據(jù)口出現(xiàn)滯后, 造成1號(hào)優(yōu)先最高.8號(hào)最低.;故采用在延時(shí)子程序中加了讀數(shù)據(jù)口程序保證了靈敏度和可靠性aaaa1: m0va,p1cjne a,#0ffh,aa1 ;當(dāng)不全為1時(shí)的數(shù)據(jù)為冇效數(shù)據(jù)aao: mov 36h,a ;將有效數(shù)據(jù)送到36h暫存ajmp loop2aa1: dec r7ajmpaa0;”=發(fā)聲

29、程序=bark: setb ringacall delay1acall delay1clr ring;按鍵發(fā)聲r(shí)et;=t0溢出中斷(響鈴程)?)=to i nt: mov th0,#0echmov tl0,#0ffhjnb ring,out;cpl p3.6;ring標(biāo)志位為1時(shí)候p3.6口不短取反使喇叭發(fā)出一眾頻率的聲音out: reti;=t1溢出中斷(計(jì)時(shí)程)=t1int: mov th1,#3chmov tl1,#0b0hinc roretiend五、仿真過(guò)程與仿真結(jié)果1、用到了 ke訂軟件仿真,界面如下:2、proteus 仿真做好的proteus仿真圖如下:e彳nd z§

30、;za. 二 gzd ch舌zd gvmndu1.a1h9c51:.f bi-卜:1br 艮hr9eskhsnd erid 匚beha. glgnnd ouand ox£mhzwdd mkaod ss few nakmd mdd r§儲(chǔ) eri-10- xralxi<text> c11ufm <text>:text*gd搶答30秒倒計(jì)時(shí)顯示:at8bc6$xkx*t: 總qn ernd es l?>nd 匚by qlbem awnd 0xkan& 5gr-zd 二盍nd nk5zd zw>rmd =<c-nd cn<丙

31、 nd 叟aza £<=<! 90*8 口 d dwfad hss fddr 10r«c2tl-speakerjcrybtal小 ext> ctqttxwftext>o»d選手按答題鍵號(hào)在答題時(shí)候60秒倒計(jì)時(shí):u1.a7®c6t«tgxt jmmna. w9rnd end 匚eeh qleeh oklnd 0x<ah-kaz_ n$n_ zw>z 二腎z_ ch 焉 n_ 段二n£<=£ sakmg mknad nssc21.1uc -«te4t> -t*1ojq r

32、 n nfi-wj<m3吧e z1v1x <kx.memcercrystalc3c1f平葉岬卡祥杵m即.b0r1<te*?d*omp od用dxp連接原理圖如下:r-ezi -ezj -e=3-e=i-ed1b0se_a10ssssssss10宦i8£88£s8soi m -r 59 r*- i i f< r1 i i r1 r-4 ddddddddscrey13rey1*xialkey1ju m89«lc3a ol?9goda/yhaagwd用dxp連接pcb圖如下:ee嚴(yán) 通過(guò)仿真可知,仿真結(jié)果完全符合設(shè)計(jì)要求。六、安裝與調(diào)試制作pcb

33、電路板流程:打印pcb裁剪覆銅板預(yù)處理覆銅板(打磨) 香)焊接電子元件。轉(zhuǎn)印pcb腐蝕電路板電路板鉆孔電路板預(yù)處理(打磨、清洗、涂松表1器件選型方案的詳細(xì)清單器件名稱規(guī)格型號(hào)數(shù)量微處理器at89c511極性電容10uf1電阻3wtt10k9電容20pf3晶振12mhz1按鈕15共陰4位7段數(shù)碼管smg sm410561k1揚(yáng)聲器1調(diào)試:(1)開(kāi)機(jī)按電源開(kāi)關(guān),顯示屏左邊的搶答指示燈亮,數(shù)碼管顯示。(2)設(shè)定搶答倒計(jì)時(shí)時(shí)間設(shè)定答題倒計(jì)時(shí)時(shí)間(4) 測(cè)試各組搶答按鍵試按一下各組的搶答按鈕,應(yīng)立即顯示該組的組別數(shù)字,同時(shí)機(jī)內(nèi)喇叭發(fā)出 叮咚的提示音,按取消鍵,返冋0閃爍狀態(tài)。(5) 啟動(dòng)搶答倒計(jì)時(shí),開(kāi)始

34、搶答fff狀態(tài)下,當(dāng)主持人宣布搶答開(kāi)始吋,馬上按一下?lián)尨疰I,屏幕顯示 所設(shè)定的搶答倒計(jì)時(shí)時(shí)間并開(kāi)始倒計(jì)時(shí),提示倒計(jì)時(shí)時(shí)間馬上臨近結(jié)束。倒計(jì)時(shí) 到0以后,儀器發(fā)出叮咚的結(jié)束提示音,同時(shí)顯示屏返冋f(shuō)ff待命狀態(tài)。在搶答倒計(jì)時(shí)中,如果有參賽組搶答,儀器屏幕立即顯示該組的組別號(hào),同時(shí) 發(fā)出叮咚的搶答成功提示音。需要返冋f(shuō)ff待命狀態(tài),按取消鍵即可。(6) 啟動(dòng)答題倒計(jì)時(shí)fff狀態(tài)下,或冇參賽組搶答成功后,需要開(kāi)始答題的計(jì)時(shí)時(shí),按答題計(jì)時(shí) 鍵,屏幕顯示所設(shè)定的答題倒計(jì)時(shí)時(shí)間并開(kāi)始倒計(jì)時(shí),提示倒計(jì)時(shí)時(shí)間馬上臨 近結(jié)束。倒計(jì)時(shí)到0以后,儀器發(fā)岀丁冬的結(jié)束捉示音,同時(shí)顯示屏返回fff 待命狀態(tài)。(7) 捉前取

35、消倒計(jì)時(shí)無(wú)論是搶答述是答題的倒計(jì)時(shí)時(shí)間,需要捉前退出,只要按一下取消 鍵,即可返回到fff待命狀態(tài)。(8) 如果想調(diào)節(jié)搶答時(shí)間或答題時(shí)間,按“加一”鍵或“減一”鍵進(jìn)入調(diào)節(jié) 狀態(tài),此時(shí)會(huì)顯示現(xiàn)在設(shè)定的搶答時(shí)間或回答時(shí)間值,如想加一秒按一下”加is” 鍵,如果想減-秒按一下“減is”鍵,吋間led±會(huì)顯示改變后的吋間,調(diào)整 范圍為099s, os時(shí)再減is會(huì)跳到99, 99s時(shí)再加is會(huì)變到os。(9) 違規(guī)搶答當(dāng)主持人讀題過(guò)程中,而未宣布搶答開(kāi)始時(shí)按下?lián)尨鸢粹o。主顯示屏將顯示 該違規(guī)組號(hào),及發(fā)出提示音。及該組的紅燈亮起。通過(guò)調(diào)試,結(jié)果完全符合搶答器設(shè)計(jì)要求。七、結(jié)論與心得這次課程設(shè)計(jì)老師給我們安排了一個(gè)星期的時(shí)間,可以說(shuō)是比較充裕的。 雖然如此,我還是很用心的做設(shè)計(jì),利用了周六周h兩天的時(shí)間在宿舍思考本次 的課程設(shè)計(jì),拿到題冃,感覺(jué)太繁雜了,不知怎么下手,雖然這些知識(shí)以前都有 接觸過(guò),但也只是分部分來(lái)接觸,而這次的設(shè)計(jì)是耍對(duì)前面幾次實(shí)驗(yàn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論