




已閱讀5頁(yè),還剩24頁(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)介
單片機(jī)課程設(shè)計(jì)摘 要 隨著科學(xué)技術(shù)的發(fā)展和普及,各種各樣的競(jìng)賽越來(lái)越多,其中搶答器的作用也就顯而易見(jiàn)。目前很多搶答器基本上采用小規(guī)模數(shù)字集成電路設(shè)計(jì),使用起來(lái)不夠理想。因此設(shè)計(jì)一更易于使用和區(qū)分度高的搶答器成了非常迫切的任務(wù)。現(xiàn)在單片機(jī)已進(jìn)入各個(gè)領(lǐng)域,以其功耗小、智能化而著稱,所以若利用單片機(jī)來(lái)設(shè)計(jì)搶答器,便使以上問(wèn)題得以解決.針對(duì)以上情況,本文設(shè)計(jì)出以STC89C51RC單片機(jī)為核心的八路智能搶答器。我們采用了數(shù)碼管直接指示結(jié)果,并自動(dòng)復(fù)位的設(shè)計(jì)思想,它能根據(jù)不同的搶答輸入信號(hào),經(jīng)過(guò)單片機(jī)的控制處理并產(chǎn)生不同的與輸入信號(hào)相對(duì)應(yīng)的輸出信號(hào),最后通過(guò)LED數(shù)碼管顯示相應(yīng)的路數(shù),即使兩組的搶答時(shí)間相差幾微秒,也可分辨出是哪組優(yōu)先按下的按鍵,它充分利用了單片機(jī)系統(tǒng)的優(yōu)點(diǎn),具有結(jié)構(gòu)簡(jiǎn)單、功能強(qiáng)大、可靠性好、實(shí)用性強(qiáng)的特點(diǎn)。本設(shè)計(jì)是以八路智能搶答為基本理念??紤]到依需設(shè)定限時(shí)回答的功能,利用51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間。用開(kāi)關(guān)做鍵盤(pán)輸出,蜂鳴器發(fā)生提示。同時(shí)系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開(kāi)始后搶答才有效,如果在開(kāi)始搶答前搶答為犯規(guī);滿時(shí)后系統(tǒng)計(jì)時(shí)自動(dòng)復(fù)位及主控強(qiáng)制復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無(wú)效非法。關(guān)鍵詞:STC89C51RC 4;數(shù)碼管;按鍵 目錄引言1引言31.設(shè)計(jì)背景41.1課題背景41.2設(shè)計(jì)內(nèi)容41.2.1基本功能42智能搶答器簡(jiǎn)介52.1方案選擇52.2系統(tǒng)設(shè)計(jì)原理53系統(tǒng)組成硬件部分53.1電源的設(shè)計(jì)53.2單片機(jī)最小系統(tǒng)53.3數(shù)碼管顯示電路93.4按鍵輸入電路103.5報(bào)警電路124系統(tǒng)組成軟件部分124.1proteus軟件簡(jiǎn)介125電路仿真結(jié)果14參考文獻(xiàn)16附錄:源程序代碼1729引言最近幾年來(lái),隨著科技的飛速發(fā)展,單片機(jī)領(lǐng)域正在不斷的走向社會(huì)各個(gè)角落,還帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異更新。在實(shí)時(shí)運(yùn)作和自動(dòng)控制的單片機(jī)應(yīng)用到系統(tǒng)中,單片機(jī)如今是作為一個(gè)核心部件來(lái)使用,僅掌握單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)其具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,加以完善?!皢纹瑱C(jī)原理及應(yīng)用課程設(shè)計(jì)”是電子類專業(yè)的學(xué)科基礎(chǔ)科,它是繼“匯編語(yǔ)言程序設(shè)計(jì)”,“接口技術(shù)”等課程之后開(kāi)出的實(shí)踐環(huán)節(jié)課程。1.設(shè)計(jì)背景1.1課題背景由于現(xiàn)在社會(huì)競(jìng)爭(zhēng)力加大,競(jìng)賽類項(xiàng)目十分流行,而其中用到的搶答器更是熱銷,而市場(chǎng)上的搶答器多售價(jià)太高,結(jié)構(gòu)復(fù)雜,因此我們準(zhǔn)備設(shè)計(jì)一款基于單片機(jī)的智能搶答器。該搶答器結(jié)構(gòu)簡(jiǎn)單,功能也是十分簡(jiǎn)潔。1.2設(shè)計(jì)內(nèi)容 1.2.1基本功能1、同時(shí)供8名選手比賽,分別用8個(gè)按鈕K1 K8表示。2、設(shè)置一個(gè)由主持人控制的的開(kāi)始搶答開(kāi)關(guān)K0。3、搶答器開(kāi)始工作,在主持人按下?lián)尨鸢粹oK0后,數(shù)碼管顯示搶答倒計(jì)時(shí)。當(dāng)某一選手最先按下自己的按鈕,則數(shù)碼管顯示該選手號(hào)數(shù),表示該選手搶答成功。在主持人按下開(kāi)始按鈕之前按下?lián)尨鸢粹o的動(dòng)作無(wú)效,并且會(huì)引發(fā)蜂鳴器報(bào)警。4、同時(shí)該設(shè)計(jì)還可以使搶答倒計(jì)時(shí)由主持人自行更改。 5、參賽選手在規(guī)定時(shí)間內(nèi)搶答成功的,則數(shù)碼管會(huì)顯示該選手號(hào)數(shù)和搶答的時(shí)間。如果沒(méi)有人搶答,則本次搶答無(wú)效,系統(tǒng)會(huì)報(bào)警并禁止搶答。2智能搶答器簡(jiǎn)介2.1方案選擇針對(duì)所要實(shí)現(xiàn)的功能,我們選用由STC89C51芯片組成的八路智能搶答系統(tǒng)。2.2系統(tǒng)設(shè)計(jì)原理以STC89C51RC單片機(jī)為核心,起著控制作用。系統(tǒng)包括LED顯示電路、復(fù)位電路、時(shí)鐘電路、按鍵輸入電路。設(shè)計(jì)思路分為五個(gè)模塊:復(fù)位電路、晶振電路模塊、STC89C51RC、LED顯示電路和按鍵輸入電路這五個(gè)模塊。3系統(tǒng)組成硬件部分3.1電源的設(shè)計(jì)系統(tǒng)電源使用外接直流5V3.2單片機(jī)最小系統(tǒng)51單片機(jī)是對(duì)目前所有兼容intel 8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列單片機(jī)的始祖是intel的8031單片機(jī),后來(lái)隨著技術(shù)的發(fā)展,成為目前廣泛應(yīng)用的為單片機(jī)之一。單片機(jī)是在一塊芯片內(nèi)集成了CPU、RAM、ROM、定時(shí)器計(jì)數(shù)器和多功能I/O口等計(jì)算機(jī)所需要的基本功能部件的大規(guī)模集成電路,又稱為MCU。51系列單片機(jī)內(nèi)包含以下幾個(gè)部件:一個(gè)位CPU;一個(gè)片內(nèi)振蕩器及時(shí)鐘電路;4KB的ROM程序存儲(chǔ)器;一個(gè)128B的RAM數(shù)據(jù)存儲(chǔ)器;尋址64KB外部數(shù)據(jù)存儲(chǔ)器和64KB外部程序存儲(chǔ)空間的控制電路;32條可編程的I/O口線;兩個(gè)16位定時(shí)計(jì)數(shù)器;一個(gè)可編程全雙工串行口;個(gè)中斷源、兩個(gè)優(yōu)先級(jí)嵌套中斷結(jié)構(gòu)。如圖2-2-1所示為STC89C51RC單片機(jī)基本構(gòu)造,其基本性能介紹如下:STC89C51RC本身內(nèi)含40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中端口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,STC89C51RC可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。圖2-2-1 STC89C51RC單片機(jī)STC89C51RC的主要特性如下表所示:表2-2-1 STC89C51RC主要功能描述兼容MCS51指令系統(tǒng)32個(gè)可編程I/O線4k字節(jié)可編程閃爍存儲(chǔ)器可編程UARL通道三個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHz2個(gè)外部中斷源,共8個(gè)中斷源2568bit內(nèi)部RAM2個(gè)讀寫(xiě)中斷口線可直接驅(qū)動(dòng)LED軟件設(shè)置睡眠和喚醒功能低功耗空閑和掉電模式STC89C51RC為40腳雙列直插封裝的8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主IC內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19腳)和XTAL2(18腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40腳)和VSS(20腳)為供電端口,分別接+5V電源的正負(fù)端。P0P3 為可編程通用I/O腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0端口(3239腳)被定義為N1功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13腳定義為IR輸入端,10腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12腳、27腳及28腳定義為握手信號(hào)功能端口,連接主板CPU的相應(yīng)功能端,用于當(dāng)前制式的檢測(cè)及會(huì)聚調(diào)整狀態(tài)進(jìn)入的控制功能。P0口:P0口是一組8位漏極開(kāi)路型雙向I/O 口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口P0寫(xiě)“1”時(shí),可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Flash 編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時(shí)/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX)。Flash編程和程序校驗(yàn)期間,P1接收低8位地址。P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口P2寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX RI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)P3口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能P3口還接收一些用于Flash 閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)AL脈沖。對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條 MOVX 和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)STC89C51RC由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。EA/VPP:外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。XTAL1:振蕩器反相放大器的輸出端及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。圖2-2-2 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)說(shuō)明:時(shí)鐘信號(hào)的產(chǎn)生:在MCS-51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,這就是單片機(jī)的時(shí)鐘振蕩電路。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過(guò)觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號(hào)。一般地,電容C2和C3取30pF左右,晶體的振蕩頻率范圍是1.2-12MHz。如果晶體振蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)的運(yùn)行速度也就快。單片機(jī)復(fù)位使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài)下,并從這個(gè)狀態(tài)開(kāi)始工作。單片機(jī)復(fù)位條件:必須使9腳加上持續(xù)兩個(gè)機(jī)器周期(即24個(gè)振蕩周期)的高電平。、3.3數(shù)碼管顯示電路顯示系統(tǒng)采用四位一體數(shù)碼管來(lái)顯示,LED顯示屏作為大型顯示設(shè)備的一種,具有亮度高、價(jià)格低、壽命長(zhǎng)、維護(hù)簡(jiǎn)便等優(yōu)點(diǎn)。LED數(shù)碼管的結(jié)構(gòu)簡(jiǎn)單,分為七段和八段兩種形式,也有共陽(yáng)和共陰之分。以八段共陽(yáng)管為例,它有8個(gè)發(fā)光二極管(比七段多一個(gè)發(fā)光二極管,用來(lái)顯示sP,即點(diǎn)),每個(gè)發(fā)光二極管的陽(yáng)極連在一起,如圖(圖2-2-4)所示。這樣,一個(gè)LED數(shù)碼管就有I根位選線和8根段選線,要想顯示一個(gè)數(shù)值,就要分別對(duì)它們的高低電平來(lái)加以控制。為方便起見(jiàn),本文主要討論八段LED數(shù)碼顯示管,其他類形的顯示管與其類似。圖 LED數(shù)碼管LED 燈的顯示原理:通過(guò)同名管腳上所加電平的高低來(lái)控制發(fā)光二極管是否點(diǎn)亮而顯示不同的字形,如 H,G,F,E,D,C,B,A全亮顯示為8,采用共陰極連接驅(qū)動(dòng)代碼,代碼表如下表(表2-2-2)所示。表2-2-2 驅(qū)動(dòng)代碼表顯示數(shù)值H,G,F,E,D,C,B,A驅(qū)動(dòng)代碼0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH3.4按鍵輸入電路圖2-2-4 按鍵電路按鍵是由一組按壓式或觸摸式開(kāi)關(guān)構(gòu)成的陣列,是一種常用的輸入設(shè)備。鍵盤(pán)可分為編碼式鍵盤(pán)和非編碼式鍵盤(pán)兩種。1.編碼鍵盤(pán)通過(guò)硬件電路產(chǎn)生被按按鍵的鍵碼,這種鍵盤(pán)所需程序簡(jiǎn)單,但硬件電路復(fù)雜、價(jià)格昂貴通常不被單片機(jī)系統(tǒng)采用。2.非編碼鍵盤(pán)常用一些按鍵排列成行列矩陣,其硬件邏輯與按鍵編碼不存在嚴(yán)格的對(duì)應(yīng)關(guān)系,而要由所用的程序來(lái)決定。非編碼鍵盤(pán)的硬件接口簡(jiǎn)單,但是要占用較多的CPU時(shí)間,通常采用可編程鍵盤(pán)管理芯片來(lái)克服這個(gè)缺點(diǎn)。本設(shè)計(jì)使用兩種按鍵,一種是按鍵式非編碼鍵盤(pán)和輕觸式非編碼開(kāi)關(guān)。在接線時(shí)由于有四個(gè)引腳,連接時(shí)需要用萬(wàn)用表進(jìn)行測(cè)量,然后接通兩個(gè)引腳,原理圖如下。要進(jìn)行數(shù)據(jù)的計(jì)算就必須先進(jìn)行數(shù)據(jù)的輸入,也就必須確定按鍵輸入的數(shù)值是什么,這就需要對(duì)鍵盤(pán)進(jìn)行掃描,從而確定究竟是哪個(gè)鍵按下。3.5報(bào)警電路圖2-2-5 報(bào)警電路4系統(tǒng)組成軟件部分4.1proteus軟件簡(jiǎn)介Proteus ISIS是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:(1)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤(pán)和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。(2)支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。(3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。(4)具有強(qiáng)大的原理圖繪制功能。可以仿真51系列、AVR、PIC、ARM、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境。在PROTEUS繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過(guò)程。 PROTEUS 是單片機(jī)課堂教學(xué)的先進(jìn)助手。 PROTEUS不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過(guò)程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。 它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測(cè)、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。 課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)是學(xué)生走向就業(yè)的重要實(shí)踐環(huán)節(jié)。由于PROTEUS提供了實(shí)驗(yàn)室無(wú)法相比的大量的元器件庫(kù),提供了修改電路設(shè)計(jì)的靈活性、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺(tái)。5電路仿真結(jié)果圖2-2-6搶答器初始狀態(tài)圖2-2-7 搶答開(kāi)始后6號(hào)搶答成功,并顯示其搶答時(shí)的剩余時(shí)間圖2-2-8六號(hào)的回答倒計(jì)時(shí)開(kāi)始計(jì)時(shí)圖2-2-9元件清單參考文獻(xiàn)1孫育才.單片微型計(jì)算機(jī)及其應(yīng)用. 南京:東南大學(xué)出版社.20042潘新民 王燕芳.微型計(jì)算機(jī)控制技術(shù). 北京:電子工業(yè)出版社2003 4李群芳.單片機(jī)原理及接口技術(shù).北京:電子工業(yè)出版社,20085李光飛.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo).北京:北京航空航天大學(xué)出版社,2004附錄:源程序代碼#includetypedef unsigned char uchar;typedef unsigned int uint;sbit K0=ff0;/開(kāi)始搶答按鍵sbit beep=gg0;/蜂鳴器sbit K1=ee0;/1號(hào)選手搶答按鍵sbit K2=ee1;/2號(hào)選手搶答按鍵sbit K3=ee2;/3號(hào)選手搶答按鍵sbit K4=ee3;/4號(hào)選手搶答按鍵sbit K5=ee4;/5號(hào)選手搶答按鍵sbit K6=ee5;/6號(hào)選手搶答按鍵sbit K7=ee6;/7號(hào)選手搶答按鍵sbit K8=ee7;/8號(hào)選手搶答按鍵sbit S1=ff1;/答題計(jì)時(shí)鍵sbit S2=ff2;/開(kāi)始搶答時(shí)間調(diào)整鍵sbit S3=ff3;/答題計(jì)時(shí)時(shí)間調(diào)整鍵char s;uchar num=0;char time1;/搶答時(shí)間char time2;/答題限時(shí)時(shí)間uint m,n;/T0,T1定時(shí)器定一秒時(shí)bit flag1,flag2,flag3,flag4;/標(biāo)志位bit aa,bb;/時(shí)間調(diào)整標(biāo)志位/延時(shí)子函數(shù)void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=120;y0;y-);uchar code table1=/共陰數(shù)碼管段碼值0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code table2=/共陰數(shù)碼管位碼值0x7f,0xbf,0xdf,0xef;/初始化子函數(shù)void init()TMOD=0x11;TH0=(65536-2000)/256;TL0=(65536-2000)%256;TH1=(65536-2000)/256;TL1=(65536-2000)%256;ET0=1;ET1=1;EA=1;dd=0x00;time1=10;time2=10;flag2=1;beep=0;/開(kāi)始鍵掃描子函數(shù)void key1()uchar i=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=0;flag4=0;/清除違規(guī)標(biāo)志位aa=0;bb=0;/選手搶答按鍵掃描子函數(shù)void key() uchar i=100;if(K1=0)delay(10);if(K1=0)while(K1=0&i)i-;delay(10);num=1;/數(shù)碼管顯示1號(hào)1TR0=0;/關(guān)閉定時(shí)器0,時(shí)間停止TR1=1;/打開(kāi)定時(shí)器1,使揚(yáng)聲器響一聲flag2=0;/關(guān)閉開(kāi)始鍵標(biāo)志位,使再按其他七個(gè)鍵不會(huì)響應(yīng)if(K2=0)/下面七個(gè)鍵的處理同上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ù)void display()if(flag1=1)/開(kāi)始鍵按下,開(kāi)始計(jì)時(shí)搶答if(num!=0)/如果有人搶答,則顯示相應(yīng)的幾號(hào)dd=table1num;/顯示幾號(hào)搶到了ff=table20;delay(2);dd=0;ff=0xff;else/否則沒(méi)人搶答,則前面不顯示幾號(hào)dd=0x00;ff=0xff;dd=table1s/10;/下面為顯示搶答倒計(jì)時(shí)ff=table21;delay(2);dd=0;ff=0xff;dd=table1s%10;ff=table22;delay(2);ff=0xff;dd=0x00;else/如果開(kāi)始鍵沒(méi)有按下,則顯示F FF(若有違規(guī)者,則顯示違規(guī)號(hào)碼及 FF)或時(shí)間調(diào)整if(flag4=1)/違規(guī)顯示if(num!=0)dd=table1num;/顯示幾號(hào)違規(guī)了ff=table20;delay(2);dd=0x00;ff=0xff;dd=table115;/下面顯示 FF,表示違規(guī)了ff=table21;delay(2);dd=0x00;/消隱ff=0xff;dd=table115;ff=table22;delay(2);dd=0x00;ff=0xff;elsedd=0x00;ff=0xff;else/沒(méi)有人違規(guī)才顯示調(diào)整時(shí)間if(aa=1)dd=0x76;/第一位數(shù)碼管顯示5(S)(表示搶答時(shí)間調(diào)整)ff=table20;delay(2);dd=0x00;ff=0xff;dd=table1time1/10;/下面顯示調(diào)整的搶答時(shí)間ff=table21;delay(2);dd=0x00;ff=0xff;dd=table1time1%10;ff=table22;delay(2);dd=0x00;ff=0xff;else if(bb=1)dd=0x38;/第一位與第二位數(shù)碼管合起來(lái)顯示T,表示答題時(shí)間調(diào)整ff=table20;delay(2);dd=0x00;ff=0xff;dd=table1time2/10;ff=table21;delay(2);dd=0x00;ff=0xff;dd=table1time2%10;ff=table22;delay(2);dd=0x00;ff=0xff;else/否則顯示F FFdd=table115;ff=table20;delay(2);dd=0x00;dd=table115;ff=table21;delay(2);dd=0x00;/消隱ff=0xff;dd=table115;ff=table22;delay(2);dd=0x00;ff=0
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝載車安全操作規(guī)程
- 山西省晉城市2024-2025學(xué)年高一上學(xué)期1月期末聯(lián)考政治試題 含解析
- AIGC商業(yè)應(yīng)用實(shí)戰(zhàn)教程 課件 3-2 結(jié)構(gòu)型商業(yè)文本生成
- 普通水磨石地面施工勞務(wù)協(xié)議
- 樓房裝修合同協(xié)議書(shū)
- 手機(jī)游戲設(shè)計(jì)與用戶需求精準(zhǔn)匹配解決方案設(shè)計(jì)
- 電梯安全施工協(xié)議書(shū)
- 個(gè)人理財(cái)投資規(guī)劃與風(fēng)險(xiǎn)管理
- 腹膜透析術(shù)后護(hù)理查房
- 社會(huì)福利收養(yǎng)服務(wù)行業(yè)相關(guān)投資計(jì)劃提議
- 11470國(guó)際勞務(wù)合作和海外就業(yè)第1章
- 質(zhì)量手冊(cè)與程序文件范本
- 鳥(niǎo)類教學(xué)講解課件
- 乙類互補(bǔ)推挽功率放大電路課件
- 名著導(dǎo)讀《堂吉訶德》教學(xué)課件PPT模板
- 瑜伽生活館營(yíng)銷方案
- 河道疏挖、清淤、填筑堤防工程施工方案
- 戶政知識(shí)技能比武大練兵考試題庫(kù)(完整版)
- 奶牛胚胎移植課件
- 心臟胚胎發(fā)育
- 慢性腎衰竭(慢性腎臟病)診療指南(內(nèi)容清晰)
評(píng)論
0/150
提交評(píng)論