基于AT89S52單片機(jī)的搶答器設(shè)計(jì)_第1頁
基于AT89S52單片機(jī)的搶答器設(shè)計(jì)_第2頁
基于AT89S52單片機(jī)的搶答器設(shè)計(jì)_第3頁
基于AT89S52單片機(jī)的搶答器設(shè)計(jì)_第4頁
基于AT89S52單片機(jī)的搶答器設(shè)計(jì)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

摘要隨著電子技術(shù)的發(fā)展,搶答器作為一種電子產(chǎn)品,早已廣泛應(yīng)用于企業(yè)單位、學(xué)校和電視臺(tái),為各種知識(shí)競(jìng)賽、文娛活動(dòng)提供公正客觀快速的裁決。它能迅速、客觀地分辨出哪位選手最先按下的搶答鍵,大大增強(qiáng)了比賽的公平性,給人們帶來了很大的方便。而隨著科學(xué)技術(shù)的不斷發(fā)展,以單片機(jī)作為主控制器的搶答器占據(jù)了主要的地位。本文利用單片機(jī)AT89S52為核心器件,數(shù)碼管做為顯示模塊,從硬件和軟件兩個(gè)方面設(shè)計(jì)實(shí)現(xiàn)了一個(gè)六路搶答器系統(tǒng),并經(jīng)過調(diào)試和運(yùn)行使該系統(tǒng)到達(dá)預(yù)期目標(biāo)。具有搶答功能,顯示功能,搶答時(shí)間倒計(jì)時(shí),時(shí)間設(shè)定,還有數(shù)據(jù)的清零,選手犯規(guī)報(bào)警功能。它充分利用了單片機(jī)系統(tǒng)的優(yōu)點(diǎn),具有結(jié)構(gòu)簡(jiǎn)單、功能強(qiáng)大、可靠性好、反應(yīng)迅速、結(jié)果準(zhǔn)確。關(guān)鍵詞:?jiǎn)纹瑱C(jī),搶答器,顯示MACROBUTTONMTEditEquationSection2SEQMTEqn\r\hSEQMTSec\h

AbstractAlongwiththedevelopmentofelectronictechnology,Responderisacommonelectronicproducts,alreadywidelyappliesintheEnterpriseunit,theschoolandthetelevisionstation,foreachkindofknowledgecompetition,therecreationalactivitiesprovidethefair、objectiveandfastruling.Canitrapidwhichcontestantdistinguishtopressdownfirstkeyobjectively,Strengthenedcompetition'sfairnessgreatly,hasbroughtverybigconvenienttothepeople.ThisarticleusesMicrocontrollerAT89S52isthecorecomponent,thenixietubedoesforthedisplaymodule,designedfromthehardwareandthesoftwaretwoaspectsrealizesixgroupsrespondersystem,andbythedebuggingandtherunningtoenablethissystemarriveattheanticipatedtarget.Ithasrespondfunction,demonstratesthefunction,viestoanswerthefirsttimecountdown,thetimesetting,butalsohasthedatareset,thewarningfunction.IthasusedtheMicrocontrollersystem'sadvantagefully,hasthesimplestructure,thepowerfulfunction,thegoodreliability,therapidresponse,theaccurateresult.Keywords:Microcontroller,Responder,display目錄TOC\o"1-3"\u1任務(wù)提出與方案論證 11.1設(shè)計(jì)要求 11.2方案論證 12總體設(shè)計(jì) 22.1AT89S52單片機(jī)介紹 22.2硬件電路總框圖 42.3程序系統(tǒng)結(jié)構(gòu)圖 53詳細(xì)設(shè)計(jì) 63.1硬件設(shè)計(jì)及其功能介紹 63.2軟件實(shí)現(xiàn)及其仿真 104總結(jié) 13參考文獻(xiàn) 14附錄一: 151任務(wù)提出與方案論證1.1設(shè)計(jì)要求此設(shè)計(jì)采用AT89S52單片機(jī)為核心控制元件,結(jié)合數(shù)碼管、蜂鳴器、發(fā)光二極管等器件構(gòu)成一個(gè)簡(jiǎn)易的六路搶答器。利用了單片機(jī)的延時(shí)電路、按鍵復(fù)位電路、時(shí)鐘電路、定時(shí)中斷等電路,設(shè)計(jì)的搶答器具有實(shí)時(shí)顯示搶答。具體要求如下:1、設(shè)計(jì)一個(gè)可供6人進(jìn)行的搶答器。設(shè)置一個(gè)控制開關(guān),用來控制系統(tǒng)的結(jié)束和搶答的開始。2、搶答器具有數(shù)據(jù)鎖存和顯示的功能。搶答開始后,若有選手按動(dòng)搶答按鈕,編號(hào)立即鎖存,并在LED數(shù)碼管行顯示出選手的編號(hào),同時(shí)揚(yáng)聲器給出音響提示。此外,要封鎖輸入電路,禁止其他選手搶答。優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)結(jié)束,然后重新開始為止。3、搶答器具有定時(shí)搶答的功能,且一次搶答的時(shí)間設(shè)定30s。當(dāng)啟動(dòng)“開始”鍵后,要求定時(shí)器立即減計(jì)時(shí),并用顯示器顯示,同時(shí)揚(yáng)聲器發(fā)出聲響。4、參賽選手在設(shè)定的時(shí)間內(nèi)搶答,搶答有效,定時(shí)顯示器停止工作,顯示器上分別顯示選手的編號(hào)和搶答時(shí)刻的時(shí)間,并保持到將系統(tǒng)結(jié)束為止。5、如果定時(shí)器搶答的時(shí)間已到,卻沒有選手搶答時(shí),本次搶答無效,系統(tǒng)短暫報(bào)警,并封鎖輸入電路,禁止選手超時(shí)后搶答,時(shí)間顯示器上顯示00,按復(fù)位鍵清零。1.2方案論證方案一:用以AT89S52為核心的單片機(jī)控制方案,通過相應(yīng)的程序,并通過按鍵來進(jìn)行電平識(shí)別,再由單片機(jī)輸出相應(yīng)的程序,并將相應(yīng)數(shù)值通過數(shù)碼來顯示,運(yùn)用這個(gè)方案來實(shí)現(xiàn)題目的要求,其硬件電路的設(shè)計(jì)簡(jiǎn)單,編程并不是很復(fù)雜,作品功能的調(diào)試只要稍微結(jié)合電路,修改一下相應(yīng)程序即可。方案二:采用數(shù)字電路實(shí)現(xiàn)輸出電壓的控制方案,用加減計(jì)數(shù)器,通過加減鍵實(shí)現(xiàn)加計(jì)數(shù)或減計(jì)數(shù),通過計(jì)數(shù)器的自動(dòng)加減,鎖存器的鎖存顯示等。用這種方法來實(shí)現(xiàn),其優(yōu)點(diǎn)是不用編程,但其不足的之處是電路復(fù)雜,焊接工程量大,一旦焊接錯(cuò)誤,就會(huì)給檢查硬件帶來很大的麻煩,而且調(diào)試也相對(duì)麻煩。通過比較發(fā)現(xiàn),用單片機(jī)來制作的搶答器,硬件電路比較簡(jiǎn)單,容易明白,且成本相對(duì)較低;而用數(shù)電芯片來制作的搶答器,電路相對(duì)比較復(fù)雜,,成本相對(duì)較高。綜合考濾,最終選擇方案一。2總體設(shè)計(jì)2.1AT89S52單片機(jī)介紹AT89S52單片機(jī)內(nèi)部包含了作為微型計(jì)算機(jī)所必須的基本功能部件,各功能部件相互獨(dú)立的集成在同一塊芯片上。在此主要介紹AT89S52單片機(jī)的系統(tǒng)結(jié)構(gòu)及其功能。如圖2-1所示。圖2-1AT89S522.1.1主要性能本方案所使用的主要芯片是AT89S52,它與MCS-51單片機(jī)產(chǎn)品兼容、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、1000次擦寫周期、全靜態(tài)操作:0Hz~33Hz、三級(jí)加密程序存儲(chǔ)器、32個(gè)可編程I/O口線、三個(gè)16位定時(shí)器/計(jì)數(shù)器、八個(gè)中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符。2.1.2功能特性描述AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。2.1.3引腳介紹VCC:電源GND:地P0口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體見表2-1。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。表2-1P1的第二功能引腳號(hào)第二功能P1.0T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR)時(shí),P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX@RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P3端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。RST:復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。看門狗計(jì)時(shí)完成后,RST腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時(shí)有效。否則,ALE將被微弱拉高。這個(gè)ALE使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無效。PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。EA/VPP:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.2硬件電路總框圖該系統(tǒng)的方框圖如圖2-2所示,在AT89S52單片機(jī)的P1口接上六個(gè)開關(guān)用于六路搶答;在RST腳接復(fù)位開關(guān)用于清零;在P3.0口接蜂鳴器用于開始提示和超時(shí)后報(bào)警;P2口接紅色六個(gè)發(fā)光二極管;在P0口接三個(gè)數(shù)碼管用于顯示倒計(jì)時(shí)時(shí)間和搶答者的編號(hào)。該系統(tǒng)還包括電源部分和振蕩器部分。圖2-2系統(tǒng)原理框圖2.3程序系統(tǒng)結(jié)構(gòu)圖在本設(shè)計(jì)中包括了以下六個(gè)主要的程序:主程序;非法搶答程序;倒計(jì)時(shí)程序;正常搶答處理程序;犯規(guī)處理程序;顯示及發(fā)聲程序。主流程圖如2-3所示:圖2-3外部中斷0流程圖3詳細(xì)設(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)目中的所占的比重逐漸下降。3.1硬件設(shè)計(jì)及其功能介紹為使硬件電路設(shè)計(jì)盡可能合理,應(yīng)注意以下幾方面:(1)盡可能采用功能強(qiáng)的芯片,以簡(jiǎn)化電路,功能強(qiáng)的芯片可以代替若干普通芯片,隨著生產(chǎn)工藝的提高,新型芯片的的價(jià)格不斷下降,并不一定比若干普通芯片價(jià)格的總和高。(2)留有設(shè)計(jì)余地。在設(shè)計(jì)硬件電路時(shí),要考慮到將來修改擴(kuò)展的方便。因?yàn)楹苌儆幸诲N定音的電路設(shè)計(jì),如果現(xiàn)在不留余地,將來可能要為一點(diǎn)小小的修改或擴(kuò)展而被迫進(jìn)行全面返工。(3)程序空間,選用片內(nèi)程序空間足夠大的單片機(jī),本設(shè)計(jì)采用AT89S52單片機(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.1.1系統(tǒng)原理圖如圖3-1,P1.1-P1.6為六路搶答輸入,數(shù)碼管段選P0口,蜂鳴器輸出為P3.0口。圖3-1系統(tǒng)原理圖3.1.2輸入電路搶答器輸入信號(hào)由六個(gè)小按鍵控制,六個(gè)按鍵連接在P1口當(dāng)有鍵按下的時(shí)候,就產(chǎn)生了有效的輸入信號(hào),使與這個(gè)按鍵相連的引腳變?yōu)榈碗娖?產(chǎn)生一個(gè)低電平的輸入信號(hào),如圖3-2。圖3-2鍵盤輸入它們各自有自己的特點(diǎn),其中獨(dú)立鍵盤硬件電路簡(jiǎn)單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般用在對(duì)硬件電路要求不高的簡(jiǎn)單電路中;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢(shì)得多,因此它更適合于多按鍵電路。3.1.3時(shí)鐘電路單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作.在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,外接晶體以及電容C1和C2構(gòu)成并聯(lián)諧振電路接在放大器的反饋回路中,決定單片機(jī)的工作速度。如圖3-3。圖3-3時(shí)鐘電路一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容C1,C2的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。電容的大小會(huì)影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性,晶體頻率可在1.2MHz~12MHz之間任選,電容C1和C2的典型值在20pF~100pF之間選擇。C1,C2的典型值為30PF。3.1.4復(fù)位電路89S52的復(fù)位輸入引腳RST為89S52提供了初始化的手段,可以使程序從指定處開始執(zhí)行,在89S52的時(shí)鐘電路工作后,只要RST引腳上出現(xiàn)超過兩個(gè)機(jī)器周期以上的高電平時(shí),即可產(chǎn)生復(fù)位的操作。只要RST保持高電平,則單片機(jī)循環(huán)復(fù)位。只有當(dāng)RST由高電平變低電平以后,89S52才從0000H地址開始執(zhí)行程序。本系統(tǒng)采用按鍵復(fù)位方式的復(fù)位電路。如圖3-4。圖3-4復(fù)位電路值得注意的是,在設(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.1.5LED發(fā)光電路6個(gè)紅色發(fā)光二極管和6個(gè)電阻組成,與輸入電路6個(gè)按鍵相對(duì)應(yīng),任一按鍵有效時(shí)則相對(duì)應(yīng)的二極管顯示紅燈。如圖3-5。圖3-5LED發(fā)光電路3.1.6數(shù)碼管顯示電路顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。如圖3-6。圖3-6數(shù)碼顯示電路該部分由兩個(gè)共陽極LED數(shù)碼管和一個(gè)帶公共端的8電阻排組成,用來顯示搶答器信號(hào)的具體路數(shù)和倒計(jì)時(shí),數(shù)碼管的使能端接到P1.6和P1.7,其余7個(gè)引腳分別單片機(jī)P0口相連,根據(jù)單片機(jī)引腳與數(shù)碼管的連接關(guān)系,可以列出顯示不同數(shù)字的段選碼。從而準(zhǔn)確的輸出搶答路數(shù)和時(shí)間。3.1.7發(fā)聲電路我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。如圖3-7。圖3-7發(fā)聲電路3.2軟件實(shí)現(xiàn)及其仿真系統(tǒng)軟件由主程序、定時(shí)中斷程序和INT0中斷服務(wù)程序組成。主程序的功能主要是完成內(nèi)部各寄存單元的初始化,對(duì)接口電路的初始化,內(nèi)部定時(shí)器的初始化,中斷的初始化及調(diào)用顯示程序?qū)Τ跏紶顟B(tài)的顯示以及對(duì)外部信號(hào)的等待處理,也就是說完成前期的準(zhǔn)備工作等待隨時(shí)對(duì)外部信號(hào)進(jìn)行響應(yīng)。系統(tǒng)完成初始化后,循環(huán)檢查各個(gè)功能,當(dāng)開始鍵按下,外部中斷0開始執(zhí)行,定時(shí)器開始30秒倒計(jì)時(shí),同時(shí)也判斷是否有搶答鍵按下,當(dāng)?shù)褂?jì)時(shí)時(shí)間到或著有人搶答,單片機(jī)進(jìn)入相應(yīng)的功能處理。本次作品的調(diào)試是通過單片機(jī)和編寫程序來調(diào)試的。首先,把編好的程序稍入單片機(jī)中,在利用單片機(jī)放到我們的電路板里進(jìn)行每項(xiàng)功能的校驗(yàn)與調(diào)試,剛開始時(shí)我們的電路有些問題,經(jīng)過修改電路后在重新調(diào)試才出功能,需要每實(shí)現(xiàn)一個(gè)功能就并入另外一個(gè)功能,最后使它們完整的結(jié)合在一起才算成功。具體操作:1、主持人按下開始鍵,顯示搶答時(shí)間從30的倒計(jì)時(shí),同時(shí)揚(yáng)聲器響,顯示如圖3-8所示;圖3-82、3號(hào)選手按下鍵搶答成功,數(shù)碼管顯示3號(hào),并且對(duì)應(yīng)的3號(hào)發(fā)光二極管發(fā)亮,立即進(jìn)入答題狀態(tài)如圖3-9所示;圖3-93、若6位選手均未能在設(shè)定時(shí)間內(nèi)正常搶答,系統(tǒng)同樣進(jìn)入報(bào)警狀態(tài),最后4秒數(shù)碼管閃爍著顯示,本系統(tǒng)所有的報(bào)警時(shí)間都設(shè)置為4s,30S時(shí)間結(jié)束后回到零狀態(tài),如圖3-10所示。圖圖3-10綜合各個(gè)測(cè)試合果,發(fā)現(xiàn)完全符合題目的要求,所以所有測(cè)試完全成功。4總結(jié)通過一個(gè)月的努力,我們順利的完成了搶答器的制作,成功的完了此次實(shí)訓(xùn),此次實(shí)訓(xùn)相對(duì)來說程序比較多,也有很多值得我們?nèi)W(xué)習(xí)的地方。從作品的構(gòu)思、整體調(diào)試這是一個(gè)比較復(fù)雜的過程,這是一次對(duì)我們的考驗(yàn),這是給我們的一個(gè)鍛煉機(jī)會(huì)。我們很珍惜此次實(shí)訓(xùn),用心的去完成每個(gè)步驟,努力去達(dá)到所要得到的理想效果。作品完成了,我感覺到我們的各方面的能力都上了一層,包括畫硬件電路圖、畫流程圖、編程、設(shè)置等等。實(shí)訓(xùn)能促進(jìn)我們的進(jìn)步,能夠使我們對(duì)學(xué)習(xí)本專業(yè)增加信心,鍛煉了我們各方面的能力。下面說說我在做個(gè)系統(tǒng)的時(shí)候遇到的問題:自己對(duì)單片機(jī)的程度設(shè)計(jì)還不是非常得心應(yīng)手,應(yīng)該努力惡補(bǔ)一下。對(duì)電路不熟悉,對(duì)電路的不熟悉在設(shè)計(jì)過程中成為了我的絆腳石。編程時(shí)不夠仔細(xì),往往一個(gè)小錯(cuò)誤就導(dǎo)致了功能不能實(shí)現(xiàn)。除了遇到的問題一一解決之外,我還學(xué)到了非常多的東西,我發(fā)現(xiàn)單片機(jī)的是非常強(qiáng)大,什么事情都能做,我還在設(shè)計(jì)之余學(xué)習(xí)了單片機(jī)的目前發(fā)展規(guī)律和市場(chǎng),希望以后自己在這方面做做文章。參考文獻(xiàn)[1]胡漢才.單片機(jī)原理及其接口技術(shù)(第二版)[M].北京:清華大學(xué)出版社,2004[2]周堅(jiān).單片機(jī)C語言輕松入門[M].北京:航空航天大學(xué)出版社[3]王文峰.數(shù)碼顯示六路搶答器的設(shè)計(jì)[J].井岡山師范學(xué)院學(xué)報(bào).2000.05:20-21[4]陳越等.ISD全系列單片語音錄放電路設(shè)計(jì)與應(yīng)用[M].電子工業(yè)出版社.2005[5]楊曉輝、張彤、姜俊海.智能搶答器的設(shè)計(jì)與制作[J].長(zhǎng)春大學(xué)學(xué)報(bào).2000.06:24-25附錄一:源程序:#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintuchart,m,dd,temp=0xfe;sbitd1=P3^0;bitflag1,flag2;ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};ucharcodedz[]={0xdb,0xee,0xed,0xeb,0xe7,0xde,0xdd,0xd7};voidinti();voidjc();voiddelay(uchar);voidxs();voidbuzzer();main(){ while(1) { inti(); while(flag2) { xs(); jc(); } }}voidinti(){ EA=1; TMOD=1; ET0=1; ET1=1; TR1=1; EX0=1; IT0=1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=(65536-3000)/256; TL1=(65536-3000)%256; P2=0xff; dd=0; flag2=1; flag1=0;}voidjc(){ ucharg,s; P3=0x0f; delay(10); if(P1!=0x0f) g=P1&0x0f; P1=0xf0; s=P1&0xf0; g=s|g; for(s=0;s<8;s++) if(g==dz[s])break; if(s==0) { dd=3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論