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

下載本文檔

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

文檔簡(jiǎn)介

1、畢業(yè)設(shè)計(jì)報(bào)告(論文)聲光顯示智力競(jìng)賽搶答器所在院系信息與通信工程學(xué)院專業(yè)名稱通信技術(shù)設(shè)計(jì)(論文)作者楊錦蘭班級(jí)通信111學(xué)號(hào)XX指導(dǎo)教師劉世安完成時(shí)間2014年4月8 日摘 要搶答器作為一種工具,已廣泛應(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)的開展,因此設(shè)計(jì)了本搶答器。本設(shè)計(jì)是以八路搶答為基本理念??紤]到依需設(shè)定限時(shí)回答的功能,利用89C51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)

2、器定時(shí)和計(jì)數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間。用開關(guān)做鍵盤輸出,揚(yáng)聲器發(fā)聲提示。同時(shí)系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時(shí)間可在程序設(shè)定;可以顯示是哪位選手有效搶答,搶答后有聲音提示,并鎖定按鍵,使其他按鍵無效。關(guān)鍵詞:89C51,LED數(shù)碼管,搶答器,計(jì)時(shí) 目 錄第一章 緒 論21.1課題研究的相關(guān)背景21.2選題的目的和意義21.3課題研究的內(nèi)容21.4國(guó)內(nèi)外研究現(xiàn)狀31.5搶答器目前存在的主要問題3第二章?lián)尨鹌鞯南到y(tǒng)概述42.1 系統(tǒng)的主要功能42.2 系統(tǒng)需求分析52.3 搶答器的

3、工作流程52.4 搶答器的工作過程62.5 8951的功能及簡(jiǎn)介72.6 搶答器的優(yōu)點(diǎn)及組成92.7 本章小結(jié)10第三章系統(tǒng)總體方案的設(shè)計(jì)113.1 硬件電路的設(shè)計(jì)113.2 總體原理圖123.3 時(shí)鐘頻率電路的設(shè)計(jì)123.4 復(fù)位電路的設(shè)計(jì)133.5 顯示電路的設(shè)計(jì)143.6 鍵盤掃描電路的設(shè)計(jì)153.7 發(fā)聲電路153.8 本章小結(jié)16第四章軟件設(shè)計(jì)174.1 軟件任務(wù)分析174.2 主要程序分析17第五章總結(jié)與展望215.1 總結(jié)215.2 展望21參 考 文 獻(xiàn)24致 謝25第一章 緒 論1.1 課題研究的相關(guān)背景搶答器是一種應(yīng)用非常廣泛的設(shè)備,在各種競(jìng)賽、搶答場(chǎng)合中,它能迅速、客觀地

4、分辨出最先獲得發(fā)言權(quán)的選手。早期的搶答器只由幾個(gè)三極管、可控硅、發(fā)光管等組成,能通過發(fā)光管的指示辯認(rèn)出選手號(hào)碼。現(xiàn)在大多數(shù)搶答器均使用單片機(jī)(如MCS-51型)和數(shù)字集成電路,并增加了許多新功能,如選手號(hào)碼顯示、搶按前或搶按后的計(jì)時(shí)、選手得分顯示等功能。搶答器可供同時(shí)多名選手搶答。它有聲、光同提示的功能,能發(fā)聲,又能顯示搶答者的號(hào)數(shù)。另外,搶答者必須在規(guī)定時(shí)間搶答,否則搶答器自動(dòng)報(bào)警,以示本題搶答時(shí)間已過。本課題利用89C51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和計(jì)數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間和選手號(hào)碼

5、。用開關(guān)做鍵盤輸出,揚(yáng)聲器發(fā)聲提示。系統(tǒng)達(dá)到要求:在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時(shí)間和回答問題的時(shí)間可設(shè)定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示; 1.2 選題的目的和意義通過這次設(shè)計(jì),掌握89C51單片機(jī)的原理,了解簡(jiǎn)單多功能搶答器組成原理,初步掌握多功能搶答器的調(diào)整及測(cè)試方法,提高動(dòng)手能力和排除故障的能力。同時(shí)通過本課題設(shè)計(jì)與仿真進(jìn)行調(diào)試,提高自己的動(dòng)手能力,鞏固已學(xué)的理論知識(shí),建立單片機(jī)理論和實(shí)踐的結(jié)合,了解多功能搶答器各單元電路之間的關(guān)系及相互影響,從而能正確設(shè)計(jì)、計(jì)算定時(shí)計(jì)數(shù)的各個(gè)單元電路。1.3 課題研究的內(nèi)容本系統(tǒng)采用模

6、塊化設(shè)計(jì)智能搶答器,在搶答比賽中廣泛應(yīng)用,各組分別有一個(gè)搶答按鈕。主持人按復(fù)位鍵開始后,選手開始搶答為有效,數(shù)碼顯示屏顯示搶答的選手號(hào),在最后三秒蜂鳴器發(fā)聲提示。如果主持人沒有按下開始鍵而選手就搶答視為無效。通過研究并在設(shè)計(jì)驗(yàn)證后發(fā)現(xiàn),采用單片機(jī)技術(shù)設(shè)計(jì)的搶答器與目前常用的搶答器相比,首先,電路連接簡(jiǎn)單,因?yàn)榇蠖鄶?shù)功能單元都通過程序設(shè)計(jì)在單片機(jī)內(nèi)部,第二,工作性能可靠,抗干擾能力優(yōu)于目前搶答器。所以本研究是一個(gè)實(shí)用的工程設(shè)計(jì),具有創(chuàng)新性。1.4 國(guó)內(nèi)外研究現(xiàn)狀搶答器作為一種電子產(chǎn)品,早已廣泛應(yīng)用于各種智力和知識(shí)競(jìng)賽場(chǎng)合,但目前所使用的搶答器有的電路較復(fù)雜不便于制作,可靠性低,實(shí)現(xiàn)起來很困難;有

7、的則用一些專用的集成塊,而專用集成塊的購(gòu)買又很困難。為適應(yīng)高校等多代表隊(duì)單位活動(dòng)的需要而設(shè)計(jì)一個(gè)多功能搶答器,這種搶答器具有電路簡(jiǎn)單,元件普通,易于購(gòu)買等優(yōu)點(diǎn),很好地解決了制作者制作困難和難于購(gòu)買的問題。在國(guó)內(nèi)外已經(jīng)開始了普遍的應(yīng)用。1.5 搶答器目前存在的主要問題隨著改革開放事業(yè)的不斷深入,促使人們學(xué)科學(xué)、學(xué)技術(shù)、學(xué)知識(shí)的手段多種多樣,搶答器作為一種工具,已廣泛應(yīng)用于各種智力和知識(shí)競(jìng)賽場(chǎng)合。但搶答器的使用頻率校低,且有的要么制作復(fù)雜,要么可靠性低,減少興致。作為一個(gè)單位若專購(gòu)一臺(tái)搶答器雖然在經(jīng)濟(jì)上可以承受,但每年使用的次數(shù)極少,往往因長(zhǎng)期存放使(電子器件的)搶答器損壞,再購(gòu)置的麻煩和及時(shí)性就

8、會(huì)影響活動(dòng)的開展。而且目前多數(shù)搶答器存在3個(gè)不足之處2:第一,現(xiàn)場(chǎng)線路連接復(fù)雜。因?yàn)槊總€(gè)選手位于搶答現(xiàn)場(chǎng)的不同位置,每個(gè)選手與控制臺(tái)之間要有長(zhǎng)長(zhǎng)的連接線。選手越多,連接線就越多、越亂,這些連接線不僅影響了現(xiàn)場(chǎng)的美觀,而且降低了搶答器的可靠性,增加了安裝的難度,甚至影響了現(xiàn)場(chǎng)人員的走動(dòng)。第二,電路復(fù)雜。因?yàn)閱纹瑱C(jī)只完成號(hào)碼處理、計(jì)時(shí)、數(shù)據(jù)運(yùn)算等功能,其它功能如選手號(hào)碼的識(shí)別、譯碼、計(jì)分顯示等仍只能通過數(shù)字集成電路完成。采用單片機(jī)掃描技術(shù)識(shí)別選手搶按號(hào)碼時(shí),電路的延遲時(shí)間較大。第三,選手搶按成功,但出現(xiàn)沒有搶答被記錄的問題。第二章 搶答器的系統(tǒng)概述2.1 系統(tǒng)的主要功能本系統(tǒng)是借用單片機(jī)采用模塊化

9、設(shè)計(jì)的八路搶答器,包括8路搶答按紐、選手顯示、提示功能等、開始控制按鈕、各種相關(guān)顯示調(diào)控功能等。參賽者系統(tǒng),除享有搶答按紐的權(quán)利功能外,還有人性化的提示功能和時(shí)間提示功能,也可設(shè)定由主控控制在參賽者終端表現(xiàn)的趣味性功能等;主控系統(tǒng)的控制按鈕做開始控制,根據(jù)活動(dòng)參賽者的層次,對(duì)提前搶答者的行為設(shè)定為非法或阻隔,搶答限時(shí)設(shè)為倒計(jì)時(shí),并有聲音提示。系統(tǒng)的主要功能模塊方框圖如圖1所示。 89C51單片機(jī)七段數(shù)碼管顯示聲音電路=8路搶答按鍵輸入復(fù)位電路開始按鍵輸入時(shí)鐘圖1 系統(tǒng)主要功能模塊本系統(tǒng)采用模塊化設(shè)計(jì)的八路搶答器,在搶答比賽中廣泛應(yīng)用,各組分別有一個(gè)搶答按鈕。一共有8個(gè)按鍵輸入,分別對(duì)應(yīng)8路選手

10、的搶答按鍵。主持人有開始鍵。原始狀態(tài)下?lián)尨饡r(shí)間為10s。主持人按鍵開始后,選手開始搶答為有效,數(shù)碼顯示屏顯示搶答時(shí)間選手號(hào),在最后三秒揚(yáng)聲器發(fā)聲提示。如果主持人沒有按下開始鍵而選手就搶答視為無效。單片機(jī)是整個(gè)搶答器的核心,內(nèi)部電路設(shè)計(jì)用C語言編寫。它完成了時(shí)間參數(shù)的設(shè)定,搶按號(hào)碼的譯碼,保存;顯示;輸出,搶按及答題倒計(jì)時(shí)功能等。本設(shè)計(jì)中,有一個(gè)數(shù)碼管。顯示搶答號(hào)碼。主持人依次按下復(fù)位鍵(RESET),開始鍵后開始搶答。數(shù)碼管顯示選手號(hào)為“0”,蜂鳴器并響一下。這時(shí)可以搶按,當(dāng)搶按超過規(guī)定時(shí)間后數(shù)碼管顯示“-”。若有選手在規(guī)定時(shí)間內(nèi)搶按成功,則數(shù)碼管顯示選手號(hào)碼并停止計(jì)時(shí)。若在按開始鍵前搶答表示

11、違規(guī),數(shù)碼管顯示“0”,判斷為無效。2.2 系統(tǒng)需求分析1、在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效。2、搶答限定時(shí)間可以在程序中設(shè)定。3、可以顯示是哪位選手有效搶答,正確按鍵后有音樂提示。4、按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。2.3 搶答器的工作流程搶答器的基本工作原理:在搶答競(jìng)賽或呼叫時(shí),有多個(gè)信號(hào)同時(shí)或不同時(shí)送入主電路中,搶答器內(nèi)部的寄存器工作,并識(shí)別、記錄第一個(gè)號(hào)碼,同時(shí)內(nèi)部的定時(shí)器開始工作,記錄有關(guān)時(shí)間并產(chǎn)生超時(shí)信號(hào)。在整個(gè)搶答器工作過程中,顯示電路、聲音電路等還要根據(jù)現(xiàn)場(chǎng)的實(shí)際情況向外電路輸出相應(yīng)信號(hào)。搶答器的工作流程分為:系統(tǒng)復(fù)位、正常流程、違例流程等幾部分

12、,如圖2所示,下面分別予以介紹。圖2 搶答器工作流程2.4 搶答器的工作過程1、主持人按"搶答開始"鍵,會(huì)有提示音,并立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè)10s搶答時(shí)間),如有選手搶答,會(huì)有提示音,并會(huì)顯示其號(hào)數(shù)并立刻鎖定按鍵,所以只有第一個(gè)按搶答的選手有效。倒數(shù)時(shí)間到小于3s會(huì)每秒響一下提示音。2如果主持人未按“搶答開始”鍵,而有人按了搶答按鍵,犯規(guī)搶答,數(shù)碼管實(shí)現(xiàn)“0“;總而言之,本課題利用8951單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng)設(shè)計(jì)了搶答器,該搶答器增加了新功能、提高了系統(tǒng)的可靠性、簡(jiǎn)化了電路結(jié)構(gòu)、節(jié)約了成本,是一個(gè)實(shí)用的工程設(shè)計(jì)。2.5 8951的功能及簡(jiǎn)介89C51是一種帶4K

13、字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的89C51是一種高效微控制器,89C2051是它的一種精簡(jiǎn)版本。89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。主要特性 CS-51 兼容 節(jié)可編程閃爍存儲(chǔ)器壽命:1000寫/擦循環(huán)

14、 保留時(shí)間:10年全靜態(tài)工作:0Hz-24MHz三級(jí)程序存儲(chǔ)器鎖定128*8位內(nèi)部RAM32可編程I/O線·兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源可編程串行通道·低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路管腳說明編輯VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I

15、/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行

16、讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6

17、/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC

18、指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間為外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器讀取外部ROM數(shù)據(jù)。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),單片機(jī)讀取內(nèi)部程序存儲(chǔ)器。(擴(kuò)展有外部ROM時(shí)讀取完內(nèi)部ROM后自動(dòng)讀取外部ROM)。在FLASH編程期間,此引腳也用于施加12V編程電源

19、(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。2.6 搶答器的優(yōu)點(diǎn)及組成在知識(shí)比賽中,特別是做搶答題目的時(shí)候,在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設(shè)計(jì)一個(gè)系統(tǒng)來完成這個(gè)任務(wù)。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機(jī)系統(tǒng)來設(shè)計(jì)搶答器,使以上問題得以解決,即使兩組的搶答時(shí)間相差幾微秒,也可分辨出哪組優(yōu)先答題。本文主要介紹了單片機(jī)搶答器設(shè)計(jì)及工作原理,以及它的實(shí)際用途。系統(tǒng)工作原理本系統(tǒng)采用89C51單片機(jī)作為核心??刂葡到y(tǒng)的四個(gè)模塊分別為:存儲(chǔ)模塊、顯示模塊、聲音模塊、搶答開關(guān)模塊。該搶答器系統(tǒng)通過八個(gè)個(gè)按鍵

20、輸入搶答信號(hào);利用存儲(chǔ)程序來完成軟件的設(shè)計(jì);利用一個(gè)4位七段共陰數(shù)碼管來完成顯示功能。工作時(shí),用按鍵通過開關(guān)電路輸入各路的搶答信號(hào),經(jīng)單片機(jī)的處理,輸出控制信號(hào),控制4位七段共陰數(shù)碼管和喇叭工作。在數(shù)碼管上顯示哪一組先答題,從而實(shí)現(xiàn)整個(gè)搶答過程。2.7 本章小結(jié)本章主要講述了搶答器的工作原理和本設(shè)計(jì)系統(tǒng)的工作流程。在說明工作原理的過程中,突出了電路的組成單元以及這些單元如何實(shí)現(xiàn)搶答功能;在說明系統(tǒng)的流程時(shí),結(jié)合本設(shè)計(jì)的內(nèi)容,指出了參數(shù)設(shè)置的方法和意義。搶答正常流程與違例流程的實(shí)現(xiàn),以及如何進(jìn)行搶答控制。同時(shí)也說明了搶答器的優(yōu)點(diǎn)和89C51的功能及簡(jiǎn)介。第三章 系統(tǒng)總體方案的設(shè)計(jì)3.1 硬件電路

21、的設(shè)計(jì)本設(shè)計(jì)分為硬件設(shè)計(jì)和軟件設(shè)計(jì),這兩者相互結(jié)合,不可分離;從時(shí)間上看,硬件設(shè)計(jì)的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術(shù)準(zhǔn)備充分,硬件設(shè)計(jì)的大返工是比較少的,軟件設(shè)計(jì)的任務(wù)貫徹始終,到中后期基本上都是軟件設(shè)計(jì)任務(wù),隨著集成電路技術(shù)的飛速發(fā)展,各種功能很強(qiáng)的芯片不斷出現(xiàn),使硬件電路的集成度越來越高,硬件設(shè)計(jì)的工作量在整個(gè)項(xiàng)目中的所占的比重逐漸下降。為使硬件電路設(shè)計(jì)盡可能合理,應(yīng)注意以下幾方面:(1) 盡可能采用功能強(qiáng)的芯片,以簡(jiǎn)化電路,功能強(qiáng)的芯片可以代替若干普通芯片,隨著生產(chǎn)工藝的提高,新型芯片的的價(jià)格不斷下降,并不一定比若干普通芯片價(jià)格的總和高。(2) 留有設(shè)計(jì)余地

22、。在設(shè)計(jì)硬件電路時(shí),要考慮到將來修改擴(kuò)展的方便。因?yàn)楹苌儆幸诲N定音的電路設(shè)計(jì),如果現(xiàn)在不留余地,將來可能要為一點(diǎn)小小的修改或擴(kuò)展而被迫進(jìn)行全面返工。(3) 程序空間,選用片內(nèi)程序空間足夠大的單片機(jī),本設(shè)計(jì)采用89C51單片機(jī)。(4) I/O端口:在樣機(jī)研制出來后進(jìn)行現(xiàn)場(chǎng)試用時(shí),往往會(huì)發(fā)現(xiàn)一些被忽視的問題,而這些問題不是靠單純的軟件措施來解決的。如有些新的信號(hào)需要采集,就必須增加輸入檢測(cè)端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設(shè)計(jì)就預(yù)留出一些I/O端口,雖然當(dāng)時(shí)空著沒用,那么用的時(shí)候就派上用場(chǎng)了。3.2 總體原理圖圖4 系統(tǒng)原理圖圖中U1為單片機(jī)89C51, KEY1KEY8分別

23、為8路搶答按鍵,分別接到單片機(jī)的P1.0P1.7中。開始按鍵用單片機(jī)的復(fù)位按鍵代替,七段數(shù)碼管段選P0口,并接上上拉電阻。,蜂鳴器輸出為P3.1口。3.3 時(shí)鐘頻率電路的設(shè)計(jì)單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作。在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。時(shí)鐘電路如圖5所示。圖5 外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容 C1,C2的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻

24、率進(jìn)行微調(diào)。C1,C2的典型值為30PF。單片機(jī)在工作時(shí),由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時(shí)鐘信號(hào)的周期稱為時(shí)鐘周期。其大小是時(shí)鐘信號(hào)頻率的倒數(shù),常用fosc表示。圖中時(shí)鐘頻率為12MHz,即fosc=12MHz,則機(jī)器周期為1µs。3.4 復(fù)位電路的設(shè)計(jì)單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖6所示:圖6 復(fù)位電路圖6中由復(fù)位鍵以及電解電容C3、電阻R2構(gòu)成按鍵及上電復(fù)位電路。由于單片機(jī)是高電平復(fù)位,所以當(dāng)復(fù)位鍵按下時(shí)候,單片機(jī)的9腳RESET管腳處于高電平,此時(shí)單片

25、機(jī)處于復(fù)位狀態(tài)。當(dāng)上電后,由于電容的緩慢充電,單片機(jī)的9腳電壓逐步由高向低轉(zhuǎn)化,經(jīng)過一段時(shí)間后,單片機(jī)的9腳處于穩(wěn)定的低電平狀態(tài),此時(shí)單片機(jī)上電復(fù)位完畢,系統(tǒng)程序從0000H開始執(zhí)行。值得注意的是,在設(shè)計(jì)當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù)位后的各狀態(tài)可知寄存器及存儲(chǔ)器的值都恢復(fù)到了初始值,而前面的功能介紹中提到了倒計(jì)時(shí)時(shí)間的記憶功能,該功能的實(shí)現(xiàn)的前提條件就是不能對(duì)單片機(jī)進(jìn)行硬件復(fù)位,所以設(shè)定了軟復(fù)位功能。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。3.5 顯示電路的設(shè)計(jì)顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者

26、誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。在這里我們使用的是七段數(shù)碼管顯示,通常在顯示上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動(dòng)態(tài)顯示。其中靜態(tài)顯示的特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫簡(jiǎn)單,但占用端口資源多;動(dòng)態(tài)顯示的特點(diǎn)是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復(fù)雜,但是相對(duì)靜態(tài)顯示而言占用端口資源少。在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是靜態(tài)顯示方法。七段數(shù)碼管顯示電路如圖7所示。圖7 共陰極數(shù)碼管圖7中數(shù)碼管采用的是七段共陰數(shù)碼管,其中AH段分別接到單片機(jī)的P0口,由單片機(jī)輸出的P0口數(shù)據(jù)來決定段碼值。在圖中還有八個(gè)1K的電阻,連接在P0口上,用作P0口的上拉電阻,保證P0口沒有數(shù)據(jù)輸出時(shí)候

27、處于高電平狀態(tài)。3.6 鍵盤掃描電路的設(shè)計(jì)鍵盤是人與單片機(jī)打交道的主要設(shè)備。關(guān)于鍵盤硬件電路的設(shè)計(jì)方法也可以在文獻(xiàn)和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應(yīng)的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設(shè)計(jì)的立場(chǎng)上來看,僅僅完成鍵盤掃描,讀取當(dāng)前時(shí)刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們?cè)诓僮麈I盤就容易引起誤操作和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤用得最多的形式是獨(dú)立鍵盤及矩陣鍵盤。它們各有自己的特點(diǎn),其中獨(dú)立鍵盤硬件電路簡(jiǎn)單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般用在對(duì)硬件電路要求不高的簡(jiǎn)單電路中;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤復(fù)雜得多,在程序算

28、法上比它要煩瑣,而且在觸點(diǎn)抖動(dòng)按鍵同與斷過程中可能會(huì)判斷錯(cuò)誤。應(yīng)采用軟件去抖方法,即延時(shí)重復(fù)掃描法,延時(shí)法的原理為:在檢測(cè)到有按鍵下時(shí),執(zhí)行一個(gè)10ms左右(具體時(shí)間應(yīng)視所使用的按鍵進(jìn)行調(diào)整)的延時(shí)程序,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài);同理,在檢測(cè)到該鍵釋放后,也應(yīng)采用相同的步驟進(jìn)行確認(rèn),從而消除去抖的影響。在本文設(shè)計(jì)中采用了獨(dú)立鍵盤的方式,本設(shè)計(jì)中有8個(gè)搶答按鍵輸入,如圖8所示。圖8 搶答按鍵及調(diào)整按鍵在圖8中8個(gè)搶答按鍵分別接入單片機(jī)的P1.0P1.7端口,單片機(jī)通過讀取P1.0P1.7的值來判斷當(dāng)前輸入的是8個(gè)搶答按鍵中的哪一個(gè)。3.7

29、 發(fā)聲電路我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機(jī)某個(gè)口線的“高”電平或低電平,使用有源蜂鳴器,利用三級(jí)管驅(qū)動(dòng),再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能發(fā)出長(zhǎng)短不同清脆的聲音。本文設(shè)計(jì)如圖11所示。圖11 發(fā)聲電路3.8 本章小結(jié)本章詳細(xì)講述了以89C51為核心元件的搶答器的硬件電路具體設(shè)計(jì)過程,分析了具體電路。在設(shè)計(jì)過程中,實(shí)現(xiàn)搶答功能的是通過編寫程序的方法集成在89C51內(nèi)部。接著將程序下載到硬件電路中,配合周邊的時(shí)鐘電路,復(fù)位電路等,制作出符合設(shè)計(jì)要求的搶答器。第四章 軟件設(shè)計(jì)4.1 軟件任務(wù)分析軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成

30、,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來了5。軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示,打印,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。軟件任務(wù)分析時(shí),應(yīng)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進(jìn)行定義時(shí),將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。各執(zhí)行模塊規(guī)劃好后

31、,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對(duì)來講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個(gè)廠長(zhǎng)就比較難了。軟件任務(wù)分析的另一個(gè)內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個(gè)系統(tǒng)軟件可分為后臺(tái)程序(背景程序)和前臺(tái)程序。后臺(tái)程序指主程序及其調(diào)用的子程序,這類程序?qū)?shí)時(shí)性要求不是太高,延誤幾十ms甚至幾百ms也沒關(guān)系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺(tái)程序中執(zhí)行;而前臺(tái)程序安排一些實(shí)時(shí)性要求較高的內(nèi)容,如定時(shí)系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺(tái)

32、,后臺(tái)程序?yàn)椤笆瓜到y(tǒng)進(jìn)入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。4.2 主要程序分析/*功能介紹:八路搶答器*P1.0-P1.7作為八路按鍵輸入,P3.7為蜂鳴器控制引腳,當(dāng)上電或者按下復(fù)位鍵,搶答開始,蜂鳴器響一下,數(shù)碼管顯0,利用定時(shí)器0計(jì)時(shí)(默認(rèn)為10s,可自行修改),選手開始搶答,搶答成功,蜂鳴器長(zhǎng)響一下,數(shù)碼管顯示搶答的選手,并鎖定按鍵,使其他人按鍵無效,并關(guān)閉計(jì)時(shí)。如果選手沒有在限定時(shí)間內(nèi)搶答,差不多到時(shí)間會(huì)有3下提醒聲音,到時(shí)間后搶答無效。*文件作者:楊錦蘭*創(chuàng)建時(shí)間:2014-4-8*/#include<reg51.h>/51單片機(jī)頭文件#define uchar un

33、signed char#define uint unsigned intsbit key1 = P10;/定義按鍵sbit key2 = P11;sbit key3 = P12;sbit key4 = P13;sbit key5 = P14;sbit key6 = P15;sbit key7 = P16;sbit key8 = P17;sbit beep = P31;/定義蜂鳴器控制引腳,當(dāng)?shù)扔?時(shí)響,0時(shí)不響uint count=0;/定義一個(gè)變量,用來計(jì)算進(jìn)入定時(shí)器的次數(shù)unsigned char code display=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7

34、d,0x07,0x7f,0x6f,0x40;/定義一個(gè)數(shù)組,數(shù)碼管對(duì)應(yīng)可以顯示”0” “1”.“9” “”/*延時(shí)函數(shù),調(diào)用可設(shè)置時(shí)間,單位ms*/void delayms(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);/*蜂鳴器報(bào)警函數(shù),調(diào)用可設(shè)置聲音長(zhǎng)短(ms)*/void beep_ms(uchar d)beep=0;/打開蜂鳴器delayms(d);/延時(shí)d ms時(shí)間beep=1;/關(guān)閉蜂鳴器/*初始化函數(shù),設(shè)置中斷方式*/void init()beep_ms(10);P0=display0;/上電復(fù)位數(shù)碼管顯示0EA=1

35、;/開啟總中斷ET1=1;/設(shè)置為定時(shí)中斷1TMOD=0X10;/設(shè)置為16位中斷方式TH1=(65536-50000)/256;/設(shè)置初值,12m晶振定時(shí)一次為50msTL1=(65536-50000)%256;/*定時(shí)中斷函數(shù)*/void time1() interrupt 3TH1=(65536-50000)/256;/進(jìn)入中斷重新設(shè)置初值TL1=(65536-50000)%256;count+;/記數(shù)進(jìn)了多少次中斷/*主函數(shù)*/void main()init();/調(diào)用初始化函數(shù)while(1)TR1=1;/開啟定時(shí)中斷0,進(jìn)入計(jì)時(shí)if(count=160)/計(jì)時(shí)到第8s(50ms*1

36、60=8000MS)beep_ms(5);/蜂鳴器短響提醒一下if(count=180)/計(jì)時(shí)到第9sbeep_ms(5);if(count=200)/計(jì)時(shí)到第10sbeep_ms(10);P0=display10;while(1);/蜂鳴器長(zhǎng)響一下,數(shù)碼管顯示“-”,并鎖定按鍵if(key1=0)/判斷按鍵1是否按下P0=display1;TR1=0;beep_ms(5);while(1);/按鍵按下,數(shù)碼管顯示相應(yīng)的選手,并關(guān)閉中斷計(jì)時(shí),蜂鳴器長(zhǎng)響,進(jìn)入死循環(huán)鎖定按鍵顯示if(key2=0)P0=display2;TR1=0;beep_ms(5);while(1);if(key3=0)P0

37、=display3;TR1=0;beep_ms(5);while(1);if(key4=0)P0=display4;TR1=0;beep_ms(5);while(1);if(key5=0)P0=display5;TR1=0;beep_ms(5);while(1);if(key6=0)P0=display6;TR1=0;beep_ms(5);while(1);if(key7=0)P0=display7;TR1=0;beep_ms(5);while(1);if(key8=0)P0=display8;TR1=0;beep_ms(5);while(1);第五章 總結(jié)與展望5.1 總結(jié)本文研究與設(shè)計(jì)的八路多功能搶答器采用了通用的電子元器件,利用89C51單片機(jī)及外圍接口實(shí)現(xiàn)搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和計(jì)數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來。通過查資料和搜集有關(guān)的文獻(xiàn),理

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論