搶答器的設(shè)計(jì)_第1頁
搶答器的設(shè)計(jì)_第2頁
搶答器的設(shè)計(jì)_第3頁
搶答器的設(shè)計(jì)_第4頁
搶答器的設(shè)計(jì)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

...wd......wd......wd...編號:課程設(shè)計(jì)說明書〔專業(yè)工程設(shè)計(jì)〕題目:基于51單片機(jī)八路搶答器的設(shè)計(jì)院〔系〕:信息與通信學(xué)院專業(yè):微電子科學(xué)與工程學(xué)生姓名:xxx學(xué)號:1300240120指導(dǎo)教師:xx2016年12月17日摘要隨著科學(xué)技術(shù)的開展和普及,各種各樣的競賽越來越多,其中搶答器的作用也就顯而易見。目前很多搶答器根本上采用小規(guī)模數(shù)字集成電路設(shè)計(jì),使用起來不夠理想。因此設(shè)計(jì)一更易于使用和區(qū)分度高的搶答器成了非常迫切的任務(wù)?,F(xiàn)在單片機(jī)已進(jìn)入各個領(lǐng)域,以其功耗小、智能化而著稱,所以假設(shè)利用單片機(jī)來設(shè)計(jì)搶答器,便使以上問題得以解決.針對以上情況,本文設(shè)計(jì)出以STC89C52RC單片機(jī)為核心的八路搶答器。我們采用了數(shù)字顯示器直接指示,自動鎖存顯示結(jié)果,并自動復(fù)位的設(shè)計(jì)思想,它能根據(jù)不同的搶答輸入信號,經(jīng)過單片機(jī)的控制處理并產(chǎn)生不同的與輸入信號相對應(yīng)的輸出信號,最后通過LED數(shù)碼管顯示相應(yīng)的路數(shù),即使兩組的搶答時間相差幾微秒,也可分辨出是哪組優(yōu)先按下的按鍵,它充分利用了單片機(jī)系統(tǒng)的優(yōu)點(diǎn),具有構(gòu)造簡單、功能強(qiáng)大、可靠性好、實(shí)用性強(qiáng)的特點(diǎn)。本設(shè)計(jì)是以八路搶答為根本理念??紤]到依需設(shè)定限時答復(fù)的功能,利用51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時器/計(jì)數(shù)器定時和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)展計(jì)時,同時使數(shù)碼管能夠正確地顯示時間。用開關(guān)做鍵盤輸出,揚(yáng)聲器及LED指示燈發(fā)出提示。同時系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開場后搶答才有效,如果在開場搶答前搶答為犯規(guī);滿時后系統(tǒng)計(jì)時自動復(fù)位及主控強(qiáng)制復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。【關(guān)鍵詞】STC89C52RC;共陰數(shù)碼管;按鍵;蜂鳴器ABSTRACTWiththedevelopmentandpopularizationofscienceandtechnology,avarietyofcompetitionsmoreandmore,inwhichtheroleoftheResponderwillbeobvious.Atpresent,alotofanswerbasicallyusingsmall-scaledigitalintegratedcircuitdesign,useitisnotideal.Sodesignamoreeasy-to-useandhigh-definitionoftheResponderhasbecomeaveryurgenttask.NowMCUhasenteredvariousfields,withitspowerconsumptionissmall,intelligentandknown,soiftheuseofsingle-chipdesigntoanswer,sothattheaboveproblemscanberesolved.Inviewoftheabove,thisdesigntoSTC89C52RCsinglechipasthecoreoftheeight-.Weusethedirectdisplayofdigitaldisplay,automaticallylatchthedisplayresults,andautomaticallyresetthedesign,itcananswerinaccordancewiththedifferentinputsignals,throughthemicrocontrollercontrolandproducedifferentinputsignalcorrespondingtotheoutputsignal,andfinallythroughLEDdigitaltubeshowsthecorrespondingnumberofroad,evenifthetwogroupsoftheanswertimedifferenceofafewmicroseconds,whichcanbedistinguishedwhichgroupofprioritypressthebutton,whichmakesfulluseoftheadvantagesofSCMsystemwithasimple,powerful,reliableGood,practicalandstrongfeatures.

Thedesignisbasedoneight-wayanswerforthebasicidea.Takingintoaccounttheneedtosetthetimelimittoanswerthefunction,theuseof51MCUandperipheralinterfacetoachievetheanswerinthesystem,theuseofsingle-chiptimer/countertimingandcountingprinciple,thesoftwareandhardwareorganicallycombine,makingthesystemcorrectlyTime,whileallowingthedigitaltubetodisplaythecorrecttime.Withtheswitchtodothekeyboardoutput,speakerandLEDindicator.Atthesametimethesystemcanbeachieved:intheanswer,onlyafterthebeginningoftheanswerisvalid,ifinthebeginningtoanswerbeforeansweringforfoul,fulltimeafterthesystemautomaticallyresetandmasterreset.【Keywords】STC89C52RC,commoncathodedigitaltube,button,buzzer目錄19174引言 16139第一章方案概述2153641.1設(shè)計(jì)目標(biāo)272931.1.1根本功能225621.1.2主要技術(shù)參數(shù)230357第二章硬件設(shè)計(jì)與原理3111762.1總設(shè)計(jì)框圖334482.2硬件設(shè)計(jì)分析3111762.2.1單片機(jī)主控模塊434482.2.2STC89C52芯片簡介4190122.2.3封裝和引腳說明4238532.2.4數(shù)碼管顯示電路724212.2.5按鍵輸入電路9266872.2.5報(bào)警與指示電路1123684第三章軟件仿真11172853.1軟件調(diào)試局部11283743.1.1PROTEUS簡介113.1.224535軟件調(diào)試 123.214377PROTEUS仿真圖 13第四章硬件調(diào)試154.1DXP軟件簡介 154.1.1原理圖154.1.230883PCB圖 154.2實(shí)物圖192861522074結(jié)論16謝辭3088317參考文獻(xiàn)192861822074附錄一總源程序19附錄二原理圖3088332附錄三PCB圖192863222074附錄四元件清單33附錄五實(shí)物圖3088333引言最近幾年來,隨著科技的飛速開展,單片機(jī)領(lǐng)域正在不斷的走向社會各個角落,還帶動傳統(tǒng)控制檢測日新月異更新。在實(shí)時運(yùn)作和自動控制的單片機(jī)應(yīng)用到系統(tǒng)中,單片機(jī)如今是作為一個核心部件來使用,僅掌握單片機(jī)方面知識是不夠的,還應(yīng)根據(jù)其具體硬件構(gòu)造,以及針對具體應(yīng)用對象特點(diǎn)的軟件結(jié)合,加以完善?!皢纹瑱C(jī)原理及應(yīng)用課程設(shè)計(jì)〞是電子類專業(yè)的學(xué)科根基科,它是繼“匯編語言程序設(shè)計(jì)〞,“接口技術(shù)〞等課程之后開出的實(shí)踐環(huán)節(jié)課程。第一章方案概述1.1設(shè)計(jì)目標(biāo)1.1.1根本功能1、同時供8名選手或8個代表隊(duì)參加比賽,分別用8個按鈕K1~K8表示。2、設(shè)置一個系統(tǒng)搶答控制開關(guān)K0,該開關(guān)由主持人控制。3、搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應(yīng)的編號,揚(yáng)聲器發(fā)出聲響提示,并在七段數(shù)碼管上顯示選手號碼。選手搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)去除為止。4、搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定〔如30秒〕。當(dāng)主持人啟動"開場"鍵后,定時器進(jìn)展減計(jì)時。5、參賽選手在設(shè)定的時間內(nèi)進(jìn)展搶答,搶答有效,定時器停頓工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統(tǒng)去除為止。在這段時間如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報(bào)警并制止搶答,定時顯示器上顯示FFF。1.1.2主要技術(shù)參數(shù)1、在搶答中,只有在主持人按“開場〞按鍵后搶答才有效,如果在按“開場〞搶答按鍵前搶答為犯規(guī),系統(tǒng)發(fā)出警報(bào),數(shù)碼管顯示違規(guī)號碼及FF〔如3FF〕。2、搶答限定時間和答復(fù)以下問題的時間是在10~60s設(shè)定。3、數(shù)碼管可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音提示并在數(shù)碼管上正確顯示。4、主持人按下“開場〞按鍵后搶答時間和答復(fù)以下問題時間倒記時在數(shù)碼管上顯示,時間完后系統(tǒng)自動復(fù)位為FFF。5、在搶答時間和倒計(jì)時時間準(zhǔn)備到達(dá)時,系統(tǒng)會發(fā)出警報(bào)提示。6、按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。第二章硬件設(shè)計(jì)與原理以STC89C52RC單片機(jī)為核心,起著控制作用。系統(tǒng)包括數(shù)碼管顯示電路、復(fù)位電路、時鐘電路、按鍵輸入電路和蜂鳴器報(bào)警電路。設(shè)計(jì)思路分為六個模塊:復(fù)位電路、晶振電路模塊、STC89C52RC、數(shù)碼管顯示電路、按鍵輸入電路和蜂鳴器報(bào)警電路這六個模塊。2.1總設(shè)計(jì)框圖設(shè)計(jì)總框圖如以下列圖2-1所示。圖2-1設(shè)計(jì)總框圖2.2硬件設(shè)計(jì)分析2.2.1單片機(jī)主控模塊51單片機(jī)是對目前所有兼容intel8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列單片機(jī)的始祖是intel的8031單片機(jī),后來隨著技術(shù)的開展,成為目前廣泛應(yīng)用的8為單片機(jī)之一。單片機(jī)是在一塊芯片內(nèi)集成了CPU、RAM、ROM、定時器/計(jì)數(shù)器和多功能I/O口等計(jì)算機(jī)所需要的根本功能部件的大規(guī)模集成電路,又稱為MCU。51系列單片機(jī)內(nèi)包含以下幾個部件:一個8位CPU;一個片內(nèi)振蕩器及時鐘電路;4KB的ROM程序存儲器;一個128B的RAM數(shù)據(jù)存儲器;尋址64KB外部數(shù)據(jù)存儲器和64KB外部程序存儲空間的控制電路;32條可編程的I/O口線;兩個16位定時/計(jì)數(shù)器;一個可編程全雙工串行口;5個中斷源、兩個優(yōu)先級嵌套中斷構(gòu)造。2.2.2STC89C52芯片簡介單片機(jī)是微型機(jī)的一個主要分支,在構(gòu)造上的最大特點(diǎn)是把CPU、存儲器、定時器和多種輸入/輸出接口電路集成在一塊超大規(guī)模集成電路芯片上。就其組成和功能而言,一塊單片機(jī)芯片就是一臺計(jì)算機(jī)。它是一種高性能、低功耗的8位CMOS微處理芯片,市場應(yīng)用最多。8KBFlashROM,可以擦除1000次以上,數(shù)據(jù)保存10年。STC89C52RC的主要特性如下表2-1所示。表2-1STC89C52RC的主要功能特性兼容MCS—51指令系統(tǒng)32個可編程I/O線4k字節(jié)可編程閃爍存儲器可編程UARL通道三個16位可編程定時/計(jì)數(shù)器中斷時鐘頻率0-24MHz2個外部中斷源,共8個中斷源256×8bit內(nèi)部RAM2個讀寫中斷口線可直接驅(qū)動LED軟件設(shè)置睡眠和喚醒功能低功耗空閑和掉電模式2.2.3封裝和引腳說明STC89C52單片機(jī)為雙列直插式〔DIP〕芯片,是最常用的有總線擴(kuò)展引腳的DIP40封裝。如圖2-2所示?!?〕.電源及時鐘引腳Vcc:接入電源。Vss:接地。XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端?!?〕.控制線引腳RST:RST是復(fù)位信號輸入端。ALE/PROG:地址鎖存允許信號輸入端。在存取外存儲器時,用于鎖存低8位地址信號。當(dāng)單片機(jī)正常工作后,ALE端就周期性地以時鐘振蕩頻率的1/6固定頻率向外輸出正脈沖信號。此引腳的第2功能PROG是作為編程脈沖輸入端。PSEN:程序存儲器允許輸出端。CPU從外部程序存儲器取指令時,PSEN信號會自動產(chǎn)生負(fù)脈沖,作為外部程序存儲器的選通信號。EA/Vpp:程序存儲器地址允許輸入端。當(dāng)EA為高電平時,CPU執(zhí)行片內(nèi)程序存儲器指令,但當(dāng)PC中的值超過0FFFH時,將自動轉(zhuǎn)向執(zhí)行片外程序存儲器指令;當(dāng)EA為低電平時,CPU只執(zhí)行片外程序存儲器指令?!?〕.并行I/O引腳P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口P0寫“1〞時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址〔低8位〕和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,P0口接收指令字節(jié),而在程序校驗(yàn)時,輸出指令字節(jié),校驗(yàn)時,要求外接上拉電阻。P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動〔吸收或輸出電流〕4個TTL邏輯門電路。對端口寫“1〞,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時/計(jì)數(shù)器2的外部計(jì)數(shù)輸入〔P1.0/T2〕和輸入〔P1.1/T2EX〕。Flash編程和程序校驗(yàn)期間,P1接收低8位地址。P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動〔吸收或輸出電流〕4個TTL邏輯門電路。對端口P2寫“1〞,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器〔例如執(zhí)行MOVX@DPTR指令〕時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器〔如執(zhí)行MOVX@RI指令〕時,P2口輸出P2鎖存器的內(nèi)容。Flash編程或校驗(yàn)時,P2亦接收高位地址和一些控制信號。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動〔吸收或輸出電流〕4個TTL邏輯門電路。對P3口寫入“1〞時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流〔IIL〕。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能P3口還接收一些用于Flash閃速存儲器編程和程序校驗(yàn)的控制信號。如表2-2所示。圖2-2STC89C52單片機(jī)引腳封裝表2-2P3特殊功能口口管腳備選功能P3.0RXD串行輸入口P3.1TXD串行輸出口P3.2/INT0外部中斷0P3.3/INT1外部中斷1P3.4T0記時器0外部輸入P3.5T1記時器1外部輸入P3.6/WR外部數(shù)據(jù)存儲器寫選通P3.7/RD外部數(shù)據(jù)存儲器讀選通單片機(jī)最小系統(tǒng)原理圖如圖2-3所示。圖2-3單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)說明:時鐘信號的產(chǎn)生:在MCS-51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器,這就是單片機(jī)的時鐘振蕩電路。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)展二分頻之后,才成為單片機(jī)的時鐘脈沖信號。一般地,電容C2和C3取30pF左右,晶體的振蕩頻率范圍是1.2-12MHz。如果晶體振蕩頻率高,則系統(tǒng)的時鐘頻率也高,單片機(jī)的運(yùn)行速度也就快。單片機(jī)復(fù)位使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài)下,并從這個狀態(tài)開場工作。單片機(jī)復(fù)位條件:必須使9腳加上持續(xù)兩個機(jī)器周期〔即24個振蕩周期〕的高電平。2.2.4數(shù)碼管顯示電路顯示系統(tǒng)采用四位一體數(shù)碼管來顯示,LED顯示屏作為大型顯示設(shè)備的一種,具有亮度高、價格低、壽命長、維護(hù)簡便等優(yōu)點(diǎn)。LED數(shù)碼管的構(gòu)造簡單,分為七段和八段兩種形式,也有共陽和共陰之分。以八段共陽管為例,它有8個發(fā)光二極管(比七段多一個發(fā)光二極管,用來顯示sP,即點(diǎn)),每個發(fā)光二極管的陽極連在一起,如圖2-4所示。這樣,一個LED數(shù)碼管就有I根位選線和8根段選線,要想顯示一個數(shù)值,就要分別對它們的上下電平來加以控制。為方便起見,本文主要討論共陰八段LED數(shù)碼顯示管,其他類形的顯示管與其類似。圖2-4LED數(shù)碼管LED燈的顯示原理:通過同名管腳上所加電平的上下來控制發(fā)光二極管是否點(diǎn)亮而顯示不同的字形,如H,G,F,E,D,C,B,A全亮顯示為8,采用共陰極連接驅(qū)動代碼,代碼表如下表2-3所示。表2-3LED驅(qū)動代碼顯示數(shù)值H,G,F,E,D,C,B,A驅(qū)動代碼0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH2.2.5按鍵輸入電路按鍵是由一組按壓式或觸摸式開關(guān)構(gòu)成的陣列,是一種常用的輸入設(shè)備。鍵盤可分為編碼式鍵盤和非編碼式鍵盤兩種。1.編碼鍵盤通過硬件電路產(chǎn)生被按按鍵的鍵碼,這種鍵盤所需程序簡單,但硬件電路復(fù)雜、價格昂貴通常不被單片機(jī)系統(tǒng)采用。2.非編碼鍵盤常用一些按鍵排列成行列矩陣,其硬件邏輯與按鍵編碼不存在嚴(yán)格的對應(yīng)關(guān)系,而要由所用的程序來決定。非編碼鍵盤的硬件接口簡單,但是要占用較多的CPU時間,通常采用可編程鍵盤管理芯片來抑制這個缺點(diǎn)。本設(shè)計(jì)使用兩種按鍵,一種是按鍵式非編碼鍵盤和輕觸式非編碼開關(guān)。在接線時由于有四個引腳,連接時需要用萬用表進(jìn)展測量,然后接通兩個引腳,原理圖如圖2-5〔a〕,(b)所示。要進(jìn)展數(shù)據(jù)的計(jì)算就必須先進(jìn)展數(shù)據(jù)的輸入,也就必須確定按鍵輸入的數(shù)值是什么,這就需要對鍵盤進(jìn)展掃描,從而確定終究是哪個鍵按下。圖2-5(a)按鍵電路圖2-5(b)按鍵電路2.2.6報(bào)警與指示電路在電路設(shè)計(jì)當(dāng)中,設(shè)有報(bào)警與指示電路如圖2-6所示,電路在整個電路中起到報(bào)警提示的作用。圖2-6報(bào)警與指示電路第三章軟件仿真一般調(diào)試都是在編寫代碼完之后用來驗(yàn)證電路的準(zhǔn)確與否,通過反復(fù)修改程序代碼來來使電路盡可能完善,但是單單依靠軟件來仿真并不能保證電路能實(shí)現(xiàn)想要的功能,因?yàn)檐浖抡娌⒉幌瘳F(xiàn)實(shí)的一樣。所以還要依靠硬件電路來實(shí)現(xiàn),不斷修改。3.1軟件調(diào)試局部使用Proteus和KeiluVision4軟件來仿真,Proteus軟件是用來仿真電路圖,而KeiluVision4軟件用來編譯代碼和編寫代碼,總程序如附錄一所示。3.1.1PROTEUS簡介ProteusISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:(1)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。(2)支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。(3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時可以觀察各個變量、存放器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如KeilC51uVision2等軟件。(4)具有強(qiáng)大的原理圖繪制功能。可以仿真51系列、AVR、PIC、ARM、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建設(shè)了完備的電子設(shè)計(jì)開發(fā)環(huán)境。在PROTEUS繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。PROTEUS是單片機(jī)課堂教學(xué)的先進(jìn)助手。PROTEUS不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以到達(dá)的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)是學(xué)生走向就業(yè)的重要實(shí)踐環(huán)節(jié)。由于PROTEUS提供了實(shí)驗(yàn)室無法相比的大量的元器件庫,提供了修改電路設(shè)計(jì)的靈活性、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺。3.1.2軟件調(diào)試用軟件來調(diào)試查找編程上的錯誤,可以比擬好的修改電路和程序,使得電路能盡可能完善和正確。如圖3-1為電路連接圖在Proteus的接法。圖3-1Proteus電路原理圖而KeiluVision4用來檢查語法和編譯上的錯誤,用起來比擬方便,它是和Proteus軟件相結(jié)合的,只有編譯沒有問題、正確后才能導(dǎo)入Proteus中得到正確的結(jié)果。如圖3-2是編譯檢查正確后的結(jié)果。圖3-2KeilUvision4編寫程序其次,用KeilUvision4編寫程序,編譯無誤后生成HEX文件,通過在網(wǎng)上買的最小系統(tǒng)來燒錄程序,最小系統(tǒng)燒錄程序很簡單,只需插到電腦的USB接口,在網(wǎng)上下載燒錄STC系列的單片機(jī)的燒錄軟件,找到生成HEX文件,即可下載。3.2Proteus仿真圖以下列圖片為通過Proteus軟件將已經(jīng)用KeilUvision4編寫的程序,編譯無誤后生成HEX文件裝載入單片機(jī)中仿真出來后的結(jié)果。圖3-3〔a〕為仿真的初始畫面,圖3-3〔b〕為6號犯規(guī)仿真結(jié)果圖,圖3-3〔c〕為4號成功搶答的仿真結(jié)果圖,圖3-3〔d〕為搶答時間調(diào)整仿真結(jié)果圖,圖3-3〔e〕為答題時間調(diào)整仿真結(jié)果圖。圖3-3〔a〕仿真初始畫面圖3-3〔b〕6號犯規(guī)圖3-3〔c〕4號成功搶答圖3-3〔d〕搶答時間調(diào)整圖3-3〔e〕答題時間調(diào)整第四章硬件調(diào)試為了能夠更好地完成電路的設(shè)計(jì)我使用DXP這款軟件來制作電路板4.1DXP軟件簡介Altium公司作為EDA領(lǐng)域里的一個領(lǐng)先公司,在原來Protel99SE的根基上,應(yīng)用最先進(jìn)的軟件設(shè)計(jì)方法,于2002年率先推出了一款基于\t"s://zhidao.baidu/question/_blank"Windows2000和WindowsXP操作系統(tǒng)的EDA設(shè)計(jì)軟件ProtelDXP。并于2004年推出了整合Protel完整\t"s://zhidao.baidu/question/_blank"PCB板級設(shè)計(jì)功能的一體化電子產(chǎn)品開發(fā)系統(tǒng)環(huán)境——AltiumDesigner2004版。ProtelDXP在前版本的根基上增加了許多新的功能。新的可定制設(shè)計(jì)環(huán)境功能包括雙顯示器支持,可固定、浮動以及彈出面板,強(qiáng)大的過濾和對象定位功能及增強(qiáng)的用戶界面等。ProtelDXP是第一個將所有設(shè)計(jì)工具集于一身的板級設(shè)計(jì)系統(tǒng),電子設(shè)計(jì)者從最初的工程模塊規(guī)劃到最終形成生產(chǎn)數(shù)據(jù)都可以按照自己的設(shè)計(jì)方式實(shí)現(xiàn)。ProtelDXP運(yùn)行在優(yōu)化的設(shè)計(jì)瀏覽器平臺上,并且具備當(dāng)今所有先進(jìn)的設(shè)計(jì)特點(diǎn),能夠處理各種復(fù)雜的\t"s://zhidao.baidu/question/_blank"PCB設(shè)計(jì)過程。通過設(shè)計(jì)輸入仿真、PCB繪制編輯、拓?fù)渥詣硬季€、信號完整性分析和設(shè)計(jì)輸出等技術(shù)融合,ProtelDXP提供了全面的設(shè)計(jì)解決方案。4.1.1原理圖因?yàn)槭褂肞CB板來焊接電路,所以還會用DXP軟件,這個軟件里面必須先畫原理圖,如圖附錄二為所設(shè)計(jì)電路的原理圖。4.1.2PCB圖在原理圖編譯沒有錯誤后就可以直接導(dǎo)入到PCB工程中,生成設(shè)計(jì)電路的PCB圖,然后進(jìn)展布線排版,調(diào)到適宜的位置后可以進(jìn)展自動布線,不過也可以自己布線,但是必須設(shè)計(jì)好規(guī)則。如圖附錄三是布好線的PCB圖。由于太久沒有使用DXP軟件,對這款軟件也不是很熟練使用,因此在布線上不是很美觀有一些紅色的跳線。4.2實(shí)物圖將做好的PCB圖打印出來后,制好電路板并且打好孔,將如附錄四所示的元件清單按電路圖焊接好,最后檢查調(diào)試好電路,得到實(shí)物如附錄五所示。結(jié)論經(jīng)過近一個月的努力,終于順利完成了課程設(shè)計(jì)。剛開場,頭緒不是很清楚,不知道從哪里入手,但通過教師的耐心指導(dǎo)并和同學(xué)認(rèn)真研究設(shè)計(jì)課題,跑圖書館查資料、確定根本設(shè)計(jì)方案、對所用芯片功能進(jìn)展查找、調(diào)試、上機(jī)仿真等,經(jīng)歷了一次次的困難,從中積累了很多珍貴的經(jīng)歷。在整個設(shè)計(jì)的過程中雖然遇到了很多的問題,比方對之前學(xué)習(xí)的單片機(jī)課程有些淡忘,學(xué)過的知識掌握的不牢靠;對常用的軟件不是很熟練,在應(yīng)用時經(jīng)常通過查找資料來解決等。通過設(shè)計(jì)進(jìn)一步認(rèn)識到了自己的缺乏,讓自己能夠端正學(xué)習(xí)態(tài)度,對自己要嚴(yán)格要求,一切都要實(shí)事求是,不能夠一知半解,要力求明明白白。不能急于求成,在動手之前,頭腦里必須清楚該怎么做,要有總體思路,這一點(diǎn)是很重要的。就目前來說,我的動手能力雖然不是很好,但我想,只要通過我的不懈努力,總會得到提高,這一點(diǎn),我堅(jiān)信。因?yàn)閯e人能做到的,我相信我也一定能做到。在此次的課程設(shè)計(jì)中我最大的體會就是進(jìn)一步認(rèn)識到了理論與實(shí)踐的重要性。一份耕耘,一份收獲。總而言之,此次課程設(shè)計(jì)讓我學(xué)到了好多平時在課堂上學(xué)不到的東西,增加了我的知識運(yùn)用能力,增強(qiáng)我的實(shí)際操作能力,為下一個學(xué)期的畢業(yè)設(shè)計(jì)做好了根基。謝謝教師給我們提供這么好的時機(jī),為我們之后走向工作,走向社會奠定了一個好的根基。謝辭隨著2016年接近尾聲,我的課程設(shè)計(jì)也順利的完成了,通過此次的課程設(shè)計(jì)我從中又學(xué)到了很多課本上學(xué)不到的知識,這也為我下學(xué)期的畢業(yè)設(shè)計(jì)打下了良好的根基,在提高自己的能力的同時又能為自己將要步入工作、社會鋪設(shè)了道路。在這次課程設(shè)計(jì)過程中獲得了各方面的支持,在這里首先向我的指導(dǎo)教師表示最誠摯的感謝,對那些無私的幫助和支持過我的教師和同學(xué),在此我深表謝意。最后再次向所有在課設(shè)設(shè)計(jì)的過程中給予我?guī)椭慕處熀屯瑢W(xué)最誠摯的謝意!參考文獻(xiàn)[1]李群芳,張士軍,黃建.單片微型計(jì)算機(jī)與接口技術(shù).北京:電子工業(yè)出版社,2008[2]張迎新.單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù).北京:國防工業(yè)出版社,1999[3]頂峰.單片微機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)及使用技術(shù).北京:機(jī)械工業(yè)出版社,2007[4]彭偉.單片機(jī)c語音程序設(shè)計(jì)實(shí)例基于protues仿真.北京:電子工業(yè)出版社,2007[5]徐春河.淺談AT89S51[J].制造業(yè)自動化,2010,〔12〕:80-82.[6]吳漢清.常用的典型單片機(jī)資料[J].無線電,2007,(11):72-80.[7]陳汝全.實(shí)用微機(jī)與單片機(jī)控制技術(shù)[M].電子科技大學(xué)出版社.1995.712.[8]李建民.單片機(jī)在溫度控制系統(tǒng)中的應(yīng)用[M].江漢大學(xué)學(xué)報(bào),1996.6210-215.[9]薛玲,孫曼,張志會,夏莉麗,魏希文.基于單片機(jī)AT89S51的溫濕度控制儀[J].2010,37,(7):66-69[10]張毅剛.單片機(jī)原理及接口技術(shù)[M].出版地:北京市豐臺區(qū)成壽寺路,出版社:人民郵電出版社,出版年月:2011年8月第一版[11]郭天祥.51單片機(jī)C語言教程[M].出版地:成都新華路口33號,出版社:電子工業(yè)出版社,出版年月:2009年1月[12]馬杰.C語言程序設(shè)計(jì)根基[M].出版地:廣西桂林市中華路22號,出版社:廣西師范大學(xué)出版社,出版年月:2012年8月第一版附錄一總源程序#include<reg51.h>typedefunsignedcharuchar;typedefunsignedintuint;sbitK0=P3^0;//開場搶答按鍵sbitbeep=P3^7;//蜂鳴器sbitD0=P3^1;//指示燈sbitK1=P1^0;//1號選手搶答按鍵 sbitK2=P1^1;//2號選手搶答按鍵sbitK3=P1^2;//3號選手搶答按鍵sbitK4=P1^3;//4號選手搶答按鍵sbitK5=P1^4;//5號選手搶答按鍵sbitK6=P1^5;//6號選手搶答按鍵sbitK7=P1^6;//7號選手搶答按鍵sbitK8=P1^7;//8號選手搶答按鍵sbitS1=P3^2;//答題計(jì)時鍵sbitS2=P3^3;//開場搶答時間調(diào)整鍵sbitS3=P3^4;//答題計(jì)時時間調(diào)整鍵chars;ucharnum=0;chartime1;//搶答時間chartime2;//答題限時時間uintm,n;//T0,T1定時器定一秒時bitflag1,flag2,flag3,flag4; //標(biāo)志位bitaa,bb;//時間調(diào)整標(biāo)志位//延時子函數(shù)voiddelay(uintz){ uintx,y; for(x=z;x>0;x--) for(y=120;y>0;y--);}ucharcodetable1[]={ //共陰數(shù)碼管段碼值 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71 };ucharcodetable2[]={ //共陰數(shù)碼管位碼值 0xfe,0xfd, 0xfb,0xf7 };//初始化子函數(shù)voidinit(){ TMOD=0x11; TH0=(65536-2000)/256; TL0=(65536-2000)%256; TH1=(65536-2000)/256; TL1=(65536-2000)%256; ET0=1; ET1=1; EA=1; P0=0x00; time1=10; time2=10; flag2=1;}//開場鍵掃描子函數(shù)voidkey1() { uchari=100; if(K0==0) { delay(10); if(K0==0) { while(K0==0&&i) { i--; delay(10); } TR0=1; s=time1; m=0; flag1=1; flag2=1; flag3=1; num=0; beep=1; D0=1; flag4=0; //去除違規(guī)標(biāo)志位 aa=0; bb=0; } }}//選手搶答按鍵掃描子函數(shù)voidkey() { uchari=100; if(K1==0) { delay(10); if(K1==0) { while(K1==0&&i) { i--; delay(10); } num=1; //數(shù)碼管顯示1號"1" TR0=0; //關(guān)閉定時器0,時間停頓 TR1=1; //翻開定時器1,使揚(yáng)聲器響一聲 flag2=0; //關(guān)閉開場鍵標(biāo)志位,使再按其他七個鍵不會響應(yīng) } } if(K2==0) //下面七個鍵的處理同上 { delay(10); if(K2==0) { while(K2==0&&i) { i--; delay(10); } num=2; TR0=0; TR1=1; flag2=0; //重要 } } if(K3==0) { delay(10); if(K3==0) { while(K3==0&&i) { i--; delay(10); } num=3; TR0=0; TR1=1; flag2=0; } } if(K4==0) { delay(10); if(K4==0) { while(K4==0&&i) { i--; delay(10); } num=4; TR0=0; TR1=1; flag2=0; } } if(K5==0) { delay(10); if(K5==0) { while(K5==0&&i) { i--; delay(10); } num=5; TR0=0; TR1=1; flag2=0; } } if(K6==0) { delay(10); if(K6==0) { while(K6==0&&i) { i--; delay(10); } num=6; TR0=0; TR1=1; flag2=0; } } if(K7==0) { delay(10); if(K7==0) { while(K7==0&&i) { i--; delay(10); } num=7; TR0=0; TR1=1; flag2=0; } } if(K8==0) { delay(10); if(K8==0) { while(K8==0&&i) { i--; delay(10); } num=8; TR0=0; TR1=1; flag2=0; } }}//數(shù)碼管顯示子函數(shù)voiddisplay(){ if(flag1==1) //開場鍵按下,開場計(jì)時搶答 { if(num!=0) //如果有人搶答,則顯示相應(yīng)的幾號 { P0=table1[num]; //顯示幾號搶到了 P2=table2[0]; delay(2); P0=0; P2=0xff; } else //否則沒人搶答,則前面不顯示幾號 { P0=0x00; P2=0xff; } P0=table1[s/10]; //下面為顯示搶答倒計(jì)時 P2=table2[2]; delay(2); P0=0; P2=0xff; P0=table1[s%10]; P2=table2[3]; delay(2); P2=0xff; P0=0x00; } else //如果開場鍵沒有按下,則顯示FFF(假設(shè)有違規(guī)者,則顯示違規(guī)號碼及FF)或時間調(diào)整 { if(flag4==1) //違規(guī)顯示 { if(num!=0) { P0=table1[num]; //顯示幾號違規(guī)了 P2=table2[0]; delay(2); P0=0x00; P2=0xff; P0=table1[15]; //下面顯示FF,表示違規(guī)了 P2=table2[2]; delay(2); P0=0x00; //消隱 P2=0xff; P0=table1[15]; P2=table2[3]; delay(2); P0=0x00; P2=0xff; } else { P0=0x00; P2=0xff; } } else //沒有人違規(guī)才顯示調(diào)整時間 { if(aa==1) { P0=0x76; //第一位數(shù)碼管顯示"5(S)"(表示搶答時間調(diào)整) P2=table2[0]; delay(2); P0=0x00; P2=0xff; P0=table1[time1/10]; //下面顯示調(diào)整的搶答時間 P2=table2[2]; delay(2); P0=0x00; P2=0xff; P0=table1[time1%10]; P2=table2[3]; delay(2); P0=0x00; P2=0xff; } elseif(bb==1) { P0=0x38; //第一位與第二位數(shù)碼管合起來顯示"T",表示答題時間調(diào)整 P2=table2[0]; delay(2); P0=0x00; P2=0xff; P0=table1[time2/10]; P2=table2[2]; delay(2); P0=0x00; P2=0xff; P0=table1[time2%10]; P2=table2[3]; delay(2); P0=0x00; P2=0xff; } else //否則

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論