




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、海南軟件職業(yè)技術(shù)學(xué)院綜合實(shí)訓(xùn)報(bào)告目錄緒論11.1基于單片機(jī)搶答器的系統(tǒng)結(jié)構(gòu)與原理21.2設(shè)計(jì)內(nèi)容和要求32 硬件設(shè)計(jì)32.1搶答器硬件電路圖32.2搶答器各部分電路設(shè)計(jì)42.2.1單片機(jī)最小系統(tǒng)的設(shè)計(jì)42.2.2搶答器按鍵電路的設(shè)計(jì)62.2.3中斷控制按鍵電路的設(shè)計(jì)62.2.4數(shù)碼管顯示電路的設(shè)計(jì)62.2.5蜂鳴器報(bào)警電路的設(shè)計(jì)73.1主程序設(shè)計(jì)8。83.2延時(shí)程序設(shè)計(jì)9。93.3鍵盤(pán)掃描程序設(shè)計(jì)9。93.4數(shù)碼管顯示程序設(shè)計(jì)10。103.5搶答程序設(shè)計(jì)10。103.6倒計(jì)時(shí)程序設(shè)計(jì)12。123.7程序流程圖13。134 仿真調(diào)試194.1 仿真軟件簡(jiǎn)介194.1.1 keil 仿真軟件19。
2、194.1.2 proteus仿真軟件194.2 仿真調(diào)試結(jié)果19結(jié)束語(yǔ)22致謝23緒論 1單片機(jī)搶答器的背景二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。不過(guò),這種電腦,通常是指?jìng)€(gè)人計(jì)算機(jī),簡(jiǎn)稱(chēng)pc機(jī)。它由主機(jī)、鍵盤(pán)、顯示器等組成。還有一類(lèi)計(jì)算機(jī)。大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(稱(chēng)微控制器)。顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡(jiǎn)單的運(yùn)算和控制。因?yàn)樗捏w積小,通常都藏在被控機(jī)械的“肚子”里。它在整個(gè)裝置中,起著有如人類(lèi)頭腦的作用,它出了毛病,整個(gè)裝置就癱瘓了?,F(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、
3、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到產(chǎn)品升級(jí)換代的功效,常在產(chǎn)品名稱(chēng)前冠以形容詞“智能型”。在知識(shí)競(jìng)賽中,往往會(huì)用到搶答器。故此我們就選擇利用單片機(jī)編程來(lái)設(shè)計(jì)搶答器,即使兩組的搶答時(shí)間相差幾微秒,也能輕松分辨出哪一組(或哪個(gè)選手)先搶答到題。 2單片機(jī)搶答器的意義本系統(tǒng)采用單片機(jī)作為整個(gè)控制核心??刂葡到y(tǒng)的四個(gè)模塊為:顯示模塊、儲(chǔ)存模塊、語(yǔ)音模塊、搶答模塊。該系統(tǒng)通過(guò)開(kāi)關(guān)電路八個(gè)按鍵輸入搶答信號(hào),利用一個(gè)數(shù)碼管來(lái)完成顯示功能用按鍵來(lái)讓選手進(jìn)行搶答,在數(shù)碼管上顯示哪一組先答題的,從而實(shí)現(xiàn)整個(gè)搶答過(guò)程。本文主要介紹了單片機(jī)搶答器設(shè)計(jì)及工作原理,以及它的實(shí)際用
4、途。系統(tǒng)工作原理采用at89c51單片機(jī)作為核心??刂葡到y(tǒng)的四個(gè)模塊為:顯示模塊、儲(chǔ)存模塊、語(yǔ)音模塊、搶答模塊。該系統(tǒng)通過(guò)開(kāi)關(guān)電路八個(gè)按鍵輸入搶答信號(hào),利用一個(gè)數(shù)碼管來(lái)完成顯示功能。工作時(shí),用按鍵通過(guò)開(kāi)關(guān)電路輸入各路的搶答信號(hào),經(jīng)單片機(jī)的處理,輸出控制信號(hào),單片機(jī)控制的智能搶答器設(shè)計(jì)。3搶答器的應(yīng)用隨著我國(guó)經(jīng)濟(jì)和文化事業(yè)的發(fā)展,在很多公開(kāi)競(jìng)爭(zhēng)場(chǎng)合要求有公正的競(jìng)爭(zhēng)裁決,諸如證券、股票交易及各種智力競(jìng)賽等,因此出現(xiàn)了搶答器。搶答器一般由很多電路組成,線(xiàn)路復(fù)雜,可靠性不高,功能也比較簡(jiǎn)單,特別是當(dāng)搶答路數(shù)多時(shí),實(shí)現(xiàn)起來(lái)就更加的困難。因此我們?cè)O(shè)計(jì)了以單片機(jī)為核心的新型智能搶答器,在保留原始搶答器的基本
5、功能的同時(shí)又增加了數(shù)碼管顯示電路實(shí)現(xiàn)了其它功能。搶答器又稱(chēng)為第一信號(hào)鑒別器,其主要應(yīng)用于各種知識(shí)競(jìng)賽、文藝活動(dòng)等場(chǎng)合。1 系統(tǒng)設(shè)計(jì)方案1.1基于單片機(jī)搶答器的系統(tǒng)結(jié)構(gòu)與原理圖1所示為搶答器電路,搶答器電路實(shí)際上就是單片機(jī)最小系統(tǒng)的應(yīng)用,主要由單片機(jī)芯片加上時(shí)鐘電路和復(fù)位電路以及按鍵和數(shù)碼管顯示電路及報(bào)警電路組成。18為8個(gè) 搶答鍵。p1.0p1.7為8路搶答信號(hào)輸入端。當(dāng)有搶答鍵按下時(shí),對(duì)應(yīng)輸入端為低電平“0”反之為高電平“1”。開(kāi)始搶答鍵為搶答啟動(dòng)鍵。在搶答開(kāi)始時(shí),按動(dòng)一下開(kāi)始搶答鍵,向單片機(jī)申請(qǐng)一次into中斷單片機(jī)在中斷服務(wù)程序中對(duì)搶答信號(hào)進(jìn)行采樣和識(shí)別處理。采用四位led共陰極數(shù)碼管以
6、動(dòng)態(tài)掃描方式對(duì)搶答鍵號(hào)、違規(guī)搶答鍵號(hào)、倒計(jì)時(shí)時(shí)間等信息進(jìn)行顯示。蜂鳴器對(duì)違規(guī)搶答信號(hào)進(jìn)行報(bào)警,以示出錯(cuò)警告。 圖1 搶答器電路圖1.2設(shè)計(jì)內(nèi)容和要求本系統(tǒng)的設(shè)計(jì)內(nèi)容和要求如下:1 主持人按“搶答開(kāi)始”鍵,立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè)15s搶答時(shí)間),如果有選手搶答,并會(huì)顯示其號(hào)碼并立刻進(jìn)入回答時(shí)間(預(yù)設(shè)30s搶答時(shí)間),不進(jìn)行搶答查詢(xún),所以只有第一個(gè)按搶答的選手有效。2 如果主持人未按“搶答開(kāi)始”鍵,而有人按了搶答鍵,犯規(guī)搶答,led上顯示犯規(guī)號(hào)數(shù)并揚(yáng)聲器發(fā)聲連續(xù)響十下。3 p3.2為開(kāi)始搶答,p3.6為停止,p1.0-p1.7為八路搶答輸入,數(shù)碼管選p0口,位選p2口低4位,蜂鳴器輸出為p3.7
7、口。2 硬件設(shè)計(jì)2.1搶答器硬件電路圖搶答器硬件電路圖如圖1所示,主要包括以下幾部分:(1)單片機(jī)最小系統(tǒng)電路:?jiǎn)纹瑱C(jī)最小系統(tǒng),或者稱(chēng)為最小應(yīng)用系統(tǒng):是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng)。對(duì)51系列單片機(jī)來(lái)說(shuō),最小系統(tǒng)一般應(yīng)該包括:?jiǎn)纹瑱C(jī)、晶振電路、復(fù)位電路。復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,當(dāng)系統(tǒng)一上電,rst腳將會(huì)出現(xiàn)高電平,并且,這個(gè)高電平持續(xù)的時(shí)間由電路的rc值來(lái)決定.典型的51單片機(jī)當(dāng)rst腳的高電平持續(xù)兩個(gè)機(jī)器周期以上就將復(fù)位,所以,適當(dāng)組合rc的取值就可以保證可靠的復(fù)位。一般教科書(shū)推薦c 取10u,r取10k。(2)搶答按鍵電路:搶答按鍵電路由8個(gè)按鈕和8個(gè)均值的電阻通過(guò)總線(xiàn)連
8、接在at89c51的p1.0至p1.7實(shí)現(xiàn)功能。(3)中斷控制按鍵電路:由兩個(gè)10k的電阻,和兩個(gè)按鈕通過(guò)圖7的連接,并且d0、d1分別連接在at89c51芯片的p3.2口和p3.6.其中一個(gè)按鈕為開(kāi)始搶答鍵,另一個(gè)為復(fù)位鍵。(4)數(shù)碼管顯示電路:由七段數(shù)碼管7seg-mpx-ca、respack-8、74ls244及導(dǎo)線(xiàn)按圖8連接其中74ls244主要用于三態(tài)輸出,作為地址驅(qū)動(dòng)器、時(shí)鐘驅(qū)動(dòng)器、總線(xiàn)驅(qū)動(dòng)器和定向發(fā)送器等.(5)蜂鳴器報(bào)警電路:由一個(gè)200歐的電阻和speaker連接,其中揚(yáng)聲器的一端與電阻相連,另一端連在at89c51p3.7口。揚(yáng)聲器起到報(bào)警作用,若有選手出現(xiàn)搶答犯規(guī),則揚(yáng)聲
9、器發(fā)聲。2.2搶答器各部分電路設(shè)計(jì)2.2.1單片機(jī)最小系統(tǒng)的設(shè)計(jì)單片機(jī)的最小系統(tǒng),或者稱(chēng)為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng)。對(duì)51系列單片機(jī)來(lái)說(shuō),最小系統(tǒng)一般應(yīng)該包括單片機(jī)芯片,時(shí)鐘電路和復(fù)位電路等三部分組成。最小系統(tǒng)電路圖如圖2所示。圖2 單片機(jī)最小系統(tǒng)圖2.2.1.1時(shí)鐘電路設(shè)計(jì)時(shí)鐘電路用于產(chǎn)生mcs-51單片機(jī)工作所必需的時(shí)鐘控制信號(hào)。時(shí)鐘頻率直接影響單片機(jī)的速度,電路的質(zhì)量直接影響系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。(1)內(nèi)部時(shí)鐘方式利用芯片內(nèi)部的振蕩器,然后在引腳xtall和xtal2兩端跨接晶體振蕩器(簡(jiǎn)稱(chēng)晶振),就構(gòu)成了穩(wěn)定
10、的自激振蕩器,發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘電路。具體的接線(xiàn)方法如圖3所示。外接晶振時(shí),c l和c2的值通常選擇為30pf左右;c l、c2對(duì)頻率有微調(diào)作用,晶振或陶瓷諧振器的頻率范圍可在1.212mhz之間選擇,其典型值為12mhz或6mhz。某些高速單片機(jī)芯片的時(shí)鐘頻率已達(dá)40mhz。(2)外部時(shí)鐘方式外部時(shí)鐘信號(hào)由外部振蕩器產(chǎn)生,它的波形應(yīng)為方波,頻率應(yīng)符合所用的mcs-51單片機(jī)的具體要求。接入外部時(shí)鐘時(shí),應(yīng)根據(jù)不同類(lèi)型的單片機(jī),選擇相應(yīng)的連線(xiàn)方式,如圖4所示。本系統(tǒng)采用內(nèi)部時(shí)鐘電路方式。圖3 mcs-51采用內(nèi)部時(shí)鐘的接線(xiàn)圖圖4 mcs-51單片機(jī)與外部時(shí)鐘的連接方式2.2.1.2復(fù)位電
11、路設(shè)計(jì)如圖5(a)所示為開(kāi)機(jī)復(fù)位電路,也稱(chēng)上電復(fù)位電路,由電容c1和電阻r1組成,一般c1取10uf,r1取8.2k。上電復(fù)位電路是利用電容兩端電壓不能突變的原理實(shí)現(xiàn)的。當(dāng)斷電時(shí),電容c1經(jīng)放電后電荷為0;當(dāng)上電時(shí),由于電容兩端電壓不能突變,rst端的電平為高電平,隨著電容的充電,rst端的電位逐漸降低,最終變?yōu)?。從上電到電容充電結(jié)束,rst端的電平由高電平到低電平,只要選擇合適的電容、電阻參數(shù),就能夠保證兩個(gè)以上機(jī)器周期的復(fù)位高電平時(shí)間,從而保證復(fù)位的實(shí)現(xiàn)。如圖5(b)所示為開(kāi)機(jī)復(fù)位與人工復(fù)位電路也稱(chēng)按鍵復(fù)位電路。在系統(tǒng)運(yùn)行過(guò)程中,只要按下按鍵就可以復(fù)位。一般r1=1k,r2=200,c=
12、22uf,按下按鍵,可以簡(jiǎn)單看成兩個(gè)電阻串聯(lián),因?yàn)閞1的電阻大,因而rst分壓為高電平,系統(tǒng)復(fù)位,松開(kāi)按鍵后rst電壓給c充電,隨著電容的充電,rst端的電位逐漸降低,最終變?yōu)?。系統(tǒng)開(kāi)始工作。本系統(tǒng)采用按鍵復(fù)位電路。 (a)開(kāi)機(jī)復(fù)位電路 (b)開(kāi)機(jī)復(fù)位/人工復(fù)位電路圖5 mcs-51單片機(jī)的復(fù)位電路2.2.2搶答器按鍵電路的設(shè)計(jì)搶答器輸入信號(hào)由八個(gè)按鍵控制,當(dāng)有鍵按下的時(shí)候,就會(huì)產(chǎn)生有效的輸入信號(hào),本設(shè)計(jì)使用了上拉電阻把輸入信號(hào)先嵌位在高電平,當(dāng)有按鍵按下時(shí)便使與這個(gè)按鍵相連的引腳變成低電平,產(chǎn)生一個(gè)低電平的輸入信號(hào)。圖6 搶答器按鍵電路2.2.3中斷控制按鍵電路的設(shè)計(jì) 如圖7為中斷按鍵控制
13、電路,其中有兩個(gè)按鍵d0、d1分別連接在at89c51芯片的p3.2口和p3.6.其中一個(gè)按鈕為開(kāi)始搶答鍵,另一個(gè)為復(fù)位鍵。開(kāi)始搶答按鈕由主持人按,當(dāng)主持人按下開(kāi)始搶答后,選手方可搶答,否則視為搶答違規(guī);另一按鈕為復(fù)位按鈕,搶答到的選手在限制的時(shí)間內(nèi)回答問(wèn)題,若選手提前回答完畢,則主持人可通過(guò)復(fù)位鍵進(jìn)行下一輪的搶答。圖7 中斷按鍵控制電路2.2.4數(shù)碼管顯示電路的設(shè)計(jì)本設(shè)計(jì)使用七段數(shù)碼管顯示,通常在顯示上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動(dòng)態(tài)顯示。其中靜態(tài)顯示的特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫(xiě)簡(jiǎn)單,但占用端口資源多;動(dòng)態(tài)顯示的特點(diǎn)是顯示穩(wěn)定性沒(méi)靜態(tài)好,程序編寫(xiě)復(fù)雜,但相對(duì)靜態(tài)顯示
14、而言占用資源少。本設(shè)計(jì)采用的是動(dòng)態(tài)顯示方法。圖8 數(shù)碼管顯示電路 圖8中數(shù)碼管采用的是4位七段共陰極數(shù)碼管,其中ah段分別接到單片機(jī)的p0口,由單片機(jī)輸出p0口數(shù)據(jù)來(lái)決定段碼值,位選碼com1、com2、com3、com4分別接到單片機(jī)的p2.0、p2.1、p2.2、p2.3,由單片機(jī)來(lái)決定當(dāng)前該顯示的哪一位。圖中還有八個(gè)10k的電阻,連接在p0口上,用作p0口的上拉電阻,保證p0口沒(méi)有數(shù)據(jù)輸出時(shí)候出于高電平狀態(tài)。2.2.5蜂鳴器報(bào)警電路的設(shè)計(jì) 我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來(lái)控制單片機(jī)某個(gè)口線(xiàn)的“高”電平或低電平,則在該口線(xiàn)上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)
15、出一定頻率的聲音,若再利用延時(shí)控制高或低電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音頻,使喇叭發(fā)出不同的聲音。圖9中單片機(jī)的14腳輸出具有復(fù)合功能,此處用到了單片機(jī)17腳的io端口功能,單片機(jī)通過(guò)內(nèi)部定時(shí)器的操作實(shí)現(xiàn)交替變換的波形輸出驅(qū)動(dòng)揚(yáng)聲器發(fā)聲。圖9 蜂鳴器報(bào)警電路3 軟件設(shè)計(jì)程序總體說(shuō)明:實(shí)現(xiàn)搶答器功能的程序主要包括:主程序,沒(méi)有進(jìn)入中斷時(shí),掃描選手是否犯規(guī),有選手犯規(guī),蜂鳴器叫,并顯示選手號(hào);延時(shí)程序;鍵盤(pán)掃描程序,判斷是否有按鍵按下,有按鍵按下時(shí)返回鍵值;數(shù)據(jù)顯示程序,數(shù)碼管數(shù)據(jù)顯示,倒計(jì)時(shí)和座位號(hào);外部中斷0,搶答程序;t0 定時(shí)中斷,倒計(jì)時(shí)程序等。分別介紹如下,程序清單見(jiàn)附錄。3
16、.1主程序設(shè)計(jì)void main()uchar i,j;p1=0xff;p2=0xff;p0=0xff;tmod=0x01; /定時(shí)中斷初始化th0=0x3c;tl0=0xb0;ea=1;ex0=1;et0=1;it0=1;pt0=1;ss=10;s=10;while(1)keyscan(); if(kk!=9) /有選手犯規(guī)for(i=0;i<100;i+)keyscan(); p2=0x08;p0=codekeykk+1;delay(10); /顯示犯規(guī)的選手for(j=0;j<3;j+)naba=0; /蜂鳴器叫delay(10);naba=1;delay(10);kk=9;
17、3.2延時(shí)程序設(shè)計(jì)void delay(uchar t1)uchar i,j;for(i=0;i<t1;i+)for(j=0;j<143;j+);3.3鍵盤(pán)掃描程序設(shè)計(jì)uchar keyscan() uchar key;p1=0xff;key=p1;if(key!=0xff)delay(10); /延時(shí)去抖if(key!=0xff)switch(key)case 0xfe: kk=0;break;case 0xfd: kk=1;break;case 0xfb: kk=2;break;case 0xf7: kk=3;break;case 0xef: kk=4;break;case 0
18、xdf: kk=5;break;case 0xbf: kk=6;break;case 0x7f: kk=7;break;return(kk);return(9);3.4數(shù)碼管顯示程序設(shè)計(jì)void display() p2=0x01;p0=codekeyss;delay(10);p2=0x02;p0=codekeys;delay(10);p2=0x04;p0=0xc0;delay(10);p2=0x08;p0=codekeykk+1;delay(10);3.5搶答程序設(shè)計(jì)void int0() interrupt 0naba=1;rst=1;tr0=1;s=3;ss=0;kk=9;while(s
19、!=0) /3s的倒計(jì)時(shí)display();s=5;ss=1;while(s|ss)!=0&&kk=9) /15秒的搶答時(shí)間,時(shí)間到或者有選手按下時(shí),跳出循環(huán) keyscan(); display();if(kk!=9)s=0;ss=3;while(rst=1&&(s|ss)!=0) display();tr0=0;s=10;ss=10;kk=9;p2=0x08;p0=0x80;delay(10);/display();3.6 倒計(jì)時(shí)程序設(shè)計(jì)void time() interrupt 1uchar rr,ms;rr=0;th0=0x3c;tl0=0xb0;ms+
20、;if(ms=20)ms=0;if(s!=0)if(s>0)s-;if(s=0)rr=1;if(rr!=1&ss!=0&s=0)rr=0;ss-;s=9;3.7程序流程圖開(kāi)始初始化有輸入信號(hào)嗎?鍵盤(pán)掃描程序查表取數(shù)并輸出結(jié)果結(jié)束儲(chǔ)存輸入信號(hào)#include<reg51.h>#define uchar unsigned charsbit rst=p36; /復(fù)位鍵sbit naba=p37; /蜂鳴器uchar s,ss; /倒計(jì)時(shí)的位秒,十秒uchar kk=9; /鍵值uchar codekey=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,
21、0x7d,0x07,0x7f,0x6f,0x3f; /09 數(shù)碼管的編號(hào)void delay(uchar t1);/延時(shí)函數(shù)uchar keyscan();/鍵盤(pán)掃描void display(); /數(shù)據(jù)顯示/*/延時(shí)函數(shù)/*/void delay(uchar t1)uchar i,j;for(i=0;i<t1;i+)for(j=0;j<143;j+);/*/判斷是否有按鍵按下,有按鍵按下時(shí)返回鍵值/*/uchar keyscan() uchar key;p1=0xff;key=p1;if(key!=0xff)delay(10); /延時(shí)去抖if(key!=0xff)switch(
22、key)case 0xfe: kk=0;break;case 0xfd: kk=1;break;case 0xfb: kk=2;break;case 0xf7: kk=3;break;case 0xef: kk=4;break;case 0xdf: kk=5;break;case 0xbf: kk=6;break;case 0x7f: kk=7;break;return(kk);return(9);/*/數(shù)碼管數(shù)據(jù)顯示,倒計(jì)時(shí)和座位號(hào)/*/void display() p2=0x01;p0=codekeyss;delay(10);p2=0x02;p0=codekeys;delay(10);p2
23、=0x04;p0=0xc0;delay(10);p2=0x08;p0=codekeykk+1;delay(10);/*/t0 定時(shí)中斷,倒計(jì)時(shí)/*/void time() interrupt 1uchar rr,ms;rr=0;th0=0x3c;tl0=0xb0;ms+;if(ms=20)ms=0;if(s!=0)if(s>0)s-;if(s=0)rr=1;if(rr!=1&ss!=0&s=0)rr=0;ss-;s=9;/*/外部中斷0,進(jìn)入搶答階段/*/void int0() interrupt 0naba=1;rst=1;tr0=1;s=3;ss=0;kk=9;whi
24、le(s!=0) /3s的倒計(jì)時(shí)display();s=5;ss=1;while(s|ss)!=0&&kk=9) /15秒的搶答時(shí)間,時(shí)間到或者有選手按下時(shí),跳出循環(huán) keyscan(); display();if(kk!=9)s=0;ss=3;while(rst=1&&(s|ss)!=0) display();tr0=0;s=10;ss=10;kk=9;p2=0x08;p0=0x80;delay(10);/display();/*/主函數(shù),沒(méi)有進(jìn)入中斷時(shí),掃描選手是否犯規(guī),有選手犯規(guī),蜂鳴器叫,并顯示選手號(hào)/*/void main()uchar i,j;p1=
25、0xff;p2=0xff;p0=0xff;tmod=0x01; /定時(shí)中斷初始化th0=0x3c;tl0=0xb0;ea=1;ex0=1;et0=1;it0=1;pt0=1;ss=10;s=10;while(1)keyscan(); if(kk!=9) /有選手犯規(guī)for(i=0;i<100;i+)keyscan(); p2=0x08;p0=codekeykk+1;delay(10); /顯示犯規(guī)的選手for(j=0;j<3;j+)naba=0; /蜂鳴器叫delay(10);naba=1;delay(10);kk=9;4 仿真調(diào)試4.1 仿真軟件簡(jiǎn)介4.1.1 keil 仿真軟件
26、keil c51是美國(guó)keil software公司出品的51系列兼容單片機(jī)c語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,c語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。keil提供了包括c編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uvision)將這些部分組合在一起。運(yùn)行keil軟件需要win98、nt、win2000、winxp等操作系統(tǒng)。如果你使用c語(yǔ)言編程,那么keil幾乎就是你的不二之選,即使不使用c語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。4.1.2 proteus仿真軟件
27、proteus軟件是英國(guó)labcenter electronics公司出版的eda工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青睞。proteus是世界上著名的eda工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到pcb設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、pcb設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理
28、器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即將增加cortex和dsp系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持iar、keil和mplab等多種編譯器。4.2 仿真調(diào)試結(jié)果(1)搶答犯規(guī)顯示,且揚(yáng)聲器發(fā)聲,仿真結(jié)果如圖10所示。圖10 搶答犯規(guī)仿真圖(2)搶答器開(kāi)始時(shí)數(shù)碼管顯示序號(hào)0,選手搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。搶答后顯示優(yōu)先搶答者序號(hào),并且不出現(xiàn)其他搶答者的序號(hào),仿真結(jié)果如圖11所示。圖11 開(kāi)始搶答仿真圖(3)搶答器具有定時(shí)搶答
29、功能,仿真結(jié)果如圖12所示。圖12定時(shí)搶答仿真圖(4)主持人按下復(fù)位開(kāi)關(guān),使得搶答器再次進(jìn)入禁止?fàn)顟B(tài),選手編號(hào)的led數(shù)字顯示器燈熄滅,電路進(jìn)入原來(lái)的初始狀態(tài),準(zhǔn)備進(jìn)入下一輪的搶答,仿真結(jié)果如圖13所示。圖xx 復(fù)位仿真圖圖13復(fù)位仿真圖結(jié)束語(yǔ) 通過(guò)本次課程設(shè)計(jì)使我對(duì)proteus仿真軟件的使用有了更進(jìn)一步的了解和掌控。在最初編寫(xiě)過(guò)程中,我也曾經(jīng)因?yàn)閷?shí)踐經(jīng)驗(yàn)的缺乏失落過(guò),也曾經(jīng)因仿真成功而熱情高漲。特別是proteus仿真軟件的使用,不知是由于電腦的問(wèn)題還是怎么,這個(gè)軟件的安裝花了我很長(zhǎng)的時(shí)間,好不容易安裝好了,自己對(duì)編程又有點(diǎn)不熟練,只能自己多看書(shū),當(dāng)我把程序?qū)胄酒M(jìn)行仿真時(shí),也沒(méi)能一次
30、成功,總是要經(jīng)過(guò)無(wú)數(shù)次的更改才能實(shí)現(xiàn)結(jié)果,程序正常運(yùn)行的那一刻,心中真是有幾分的喜悅。對(duì)能力強(qiáng)的人來(lái)說(shuō)是挺簡(jiǎn)單的,但對(duì)我來(lái)說(shuō),真是花了不少的心血啊。 這次課程設(shè)計(jì)讓我充分理解了at89c51芯片的工作原理,知道了搶答器的硬件和軟件的實(shí)現(xiàn)過(guò)程,并且通過(guò)自己動(dòng)手編寫(xiě)程序來(lái)控制搶答器的工作,我感到非常有成就感,也鍛煉了我的編程能力。在剛開(kāi)始編程的時(shí)候,我感到很茫然,不知道怎么樣下手,但是通過(guò)自己的仔細(xì)分析和老師的細(xì)心認(rèn)真分析了原來(lái)已有的代碼后,和應(yīng)有的硬件后,經(jīng)過(guò)多次調(diào)試和測(cè)試終于成功了。 在此我非常感謝的是我的指導(dǎo)老師何玲老師,感謝老師的細(xì)心認(rèn)真的輔導(dǎo),交給我許多原來(lái)不知道的知識(shí)。這次課程設(shè)計(jì)能夠
31、順利的完成,當(dāng)然有我個(gè)人的努力,但同時(shí)也離不開(kāi)指導(dǎo)老師和同學(xué)們的幫助。致謝本論文自始至終是在何玲老師的關(guān)心和指導(dǎo)下完成的。導(dǎo)師為論文課題的研究提出了許多指導(dǎo)性的意見(jiàn),為論文的撰寫(xiě)、修改提出了許多具體的指導(dǎo)和幫助。在兩年的學(xué)習(xí)中,何玲老師在學(xué)習(xí)上給了我極大的幫助,何玲老師豐富的實(shí)踐經(jīng)驗(yàn)給我留下了深刻的印象,這一切將使我終生受益。在此,衷心感謝何老師對(duì)我的培養(yǎng)與教育。感謝在這段時(shí)間劉華赟同學(xué)對(duì)我的幫助,在近三年的學(xué)習(xí)中,我們進(jìn)行了無(wú)數(shù)次有益的學(xué)術(shù)探討,在這過(guò)程中受益匪淺,令人難忘! 另外,還要感謝電子工程系老師在兩年中為我們付出的辛勤勞動(dòng)。他們不僅給與我專(zhuān)業(yè)知識(shí)上的指導(dǎo)還教給了我學(xué)習(xí)的方法和思路,
32、使我在社會(huì)生活及論文寫(xiě)作過(guò)程中不斷有新的認(rèn)識(shí)和提高。在此,我對(duì)他們表示由衷的感謝。 感謝所有關(guān)心和幫助過(guò)我的朋友和師長(zhǎng)!在此,向他們致以深深的謝意!參考文獻(xiàn)1王迎旭.單片機(jī)原理與應(yīng)用. 機(jī)械工業(yè)出版社 2009年2程相波,衛(wèi)安軍. 基于mcs-51單片機(jī)的八路搶答器設(shè)計(jì)方法研究【j】.北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007,(2)。3林凌,李剛,丁茹,李小霞,新型單片機(jī)接口器件與技術(shù)。西安電子科技大學(xué)出版社,20054李增生,對(duì)搶答器的改進(jìn)【j】,電子制作,2000,(12)5馬軻瀛,八路搶答器系統(tǒng)【j】,華裔,2007,(23)6高偉,at89單片機(jī)原理及應(yīng)用【m】,北京:國(guó)防工業(yè)出
33、版社,2008年7蔡朝陽(yáng),單片機(jī)控制實(shí)習(xí)與專(zhuān)題制作【m】,北京:北京航空航天大學(xué)出版社,2006年8楊凌霄,微型計(jì)算機(jī)原理及應(yīng)用【m】,江蘇:中國(guó)礦業(yè)大學(xué)出版社,2004年9丁建偉,搶答器電路設(shè)計(jì)【j】,蘭州工業(yè)高等專(zhuān)科學(xué)校學(xué)報(bào),2008,(04)10胡雪海,單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)【m】,北京:北京電子工業(yè)出版社,2005年附錄程序清單: #include<reg51.h>#define uchar unsigned charsbit rst=p36; /復(fù)位鍵sbit naba=p37; /蜂鳴器uchar s,ss; /倒計(jì)時(shí)的位秒,十秒uchar kk=9; /鍵
34、值uchar codekey=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x3f; /09 數(shù)碼管的編號(hào)void delay(uchar t1);/延時(shí)函數(shù)uchar keyscan();/鍵盤(pán)掃描void display(); /數(shù)據(jù)顯示/*/延時(shí)函數(shù)/*/void delay(uchar t1)uchar i,j;for(i=0;i<t1;i+)for(j=0;j<143;j+);/*/判斷是否有按鍵按下,有按鍵按下時(shí)返回鍵值/*/uchar keyscan() uchar key;p1=0xff;key=p1;if(key!=0xff)delay(10); /延時(shí)去抖if(key!=0xff)switch(key)case 0xfe: kk=0;break;case 0xf
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度商業(yè)秘密合作轉(zhuǎn)讓合同協(xié)議
- 二零二五年度豬肉市場(chǎng)風(fēng)險(xiǎn)預(yù)警與應(yīng)對(duì)合同
- 二零二五年度社區(qū)服務(wù)兼職志愿者服務(wù)協(xié)議
- 二零二五年度成人外語(yǔ)培訓(xùn)機(jī)構(gòu)報(bào)名服務(wù)協(xié)議
- 二零二五年度手貨車(chē)車(chē)輛轉(zhuǎn)讓與汽車(chē)金融服務(wù)及市場(chǎng)推廣合同
- 2025年度游學(xué)旅游線(xiàn)路研發(fā)與推廣協(xié)議
- 2025年度珠寶首飾返傭金代理合同
- 2025年度混凝土班組勞務(wù)合作施工進(jìn)度合同
- 二零二五年度精裝修房屋買(mǎi)賣(mài)合同違約賠償標(biāo)準(zhǔn)
- 二零二五年度房產(chǎn)交易全程服務(wù)協(xié)議范本
- 2025中國(guó)華電校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 住宅建筑室內(nèi)裝飾裝修設(shè)計(jì)管理研究
- 教育部《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》專(zhuān)題講座
- 龍門(mén)吊安裝及拆除安全專(zhuān)項(xiàng)施工方案
- 2024年江蘇省中小學(xué)生金鑰匙科技競(jìng)賽(高中組)考試題庫(kù)(含答案)
- 理療課件教學(xué)課件
- 2024解析:第十二章滑輪-講核心(解析版)
- 《非精密進(jìn)近》課件
- 人教PEP版(一起)(2024)一年級(jí)上冊(cè)英語(yǔ)全冊(cè)教案(單元整體教學(xué)設(shè)計(jì))
- 2024 年下半年數(shù)學(xué)一年級(jí)數(shù)學(xué)思維挑戰(zhàn)試卷
- 網(wǎng)絡(luò)試運(yùn)行方案
評(píng)論
0/150
提交評(píng)論