




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、河南工程學(xué)院課程設(shè)計(jì)交通燈設(shè)計(jì)學(xué)生姓名: 李炳華 學(xué) 院: 計(jì)算機(jī)學(xué)院 專業(yè)班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)1342專業(yè)課程: 單片機(jī)原理及應(yīng)用 指導(dǎo)教師: 陶春鳴 2016年 6月27日課程設(shè)計(jì)成績(jī)?cè)u(píng)定標(biāo)準(zhǔn)及成績(jī)序號(hào)評(píng)審項(xiàng)目指 標(biāo)滿分評(píng)分1工作態(tài)度遵守紀(jì)律,學(xué)習(xí)認(rèn)真;作風(fēng)嚴(yán)謹(jǐn),踏實(shí)肯干。 5分2工作量按期圓滿完成規(guī)定的任務(wù),難易程度和工作量符合要求。 20分3出勤情況全勤: 得10分10分有遲到、早退、請(qǐng)假現(xiàn)象: 得8分曠課1天: 得5分曠課2天: 得2分曠課超過(guò)2天: 得0分4設(shè)計(jì)、實(shí)驗(yàn)方案能靈活運(yùn)用相關(guān)專業(yè)知識(shí),有較強(qiáng)的創(chuàng)新意識(shí),有獨(dú)特見(jiàn)解,設(shè)計(jì)有一定應(yīng)用價(jià)值。30分5實(shí)驗(yàn)技能動(dòng)手能力強(qiáng),能獨(dú)立
2、完成安裝、調(diào)試等實(shí)際操作,能解決設(shè)計(jì)及實(shí)驗(yàn)過(guò)程中出現(xiàn)的問(wèn)題。10分6小組表現(xiàn)注重團(tuán)隊(duì)合作,在小組中表現(xiàn)突出,對(duì)設(shè)計(jì)方案的制定及選取起主要作用,在實(shí)驗(yàn)操作過(guò)程中,承擔(dān)主要執(zhí)行者。5分7設(shè)計(jì)報(bào)告質(zhì)量報(bào)告結(jié)構(gòu)嚴(yán)謹(jǐn)合理;文理通順,技術(shù)用語(yǔ)準(zhǔn)確,符合規(guī)范;圖表完備、正確,繪圖準(zhǔn)確、符合國(guó)家標(biāo)準(zhǔn);。20分合 計(jì)評(píng)語(yǔ):等 級(jí): (優(yōu)秀、良好、中等、及格、不及格)評(píng)閱人: 職稱: 日 期: 2016年 6 月27 日目 錄摘要11.1系統(tǒng)設(shè)計(jì)21.2設(shè)計(jì)方案2二、硬件設(shè)計(jì)52.1單片機(jī)簡(jiǎn)介52.2交通燈中的中斷處理流程102.3 系統(tǒng)硬件總電路構(gòu)成及原理10三、軟件設(shè)計(jì)123.1程序主體設(shè)計(jì)流程123.2理論
3、基礎(chǔ)知識(shí)133.3子程序模塊設(shè)計(jì)14四、仿真調(diào)試164.1 protues仿真器164.2集成開(kāi)發(fā)環(huán)境keil164.3軟件調(diào)試流程174.4系統(tǒng)軟件調(diào)試17五、總結(jié)18附錄1整機(jī)原理圖21附錄2 程序清單21摘要近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。 十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來(lái)實(shí)現(xiàn)這井然秩序呢?靠的就是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信號(hào)燈控制方式很多。本系統(tǒng)采用
4、單片機(jī)at89c51為中心器件來(lái)設(shè)計(jì)交通燈控制器,系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展性強(qiáng)。本設(shè)計(jì)就是采用單片機(jī)模擬十字路口交通燈的各種狀態(tài)顯示以及倒計(jì)時(shí)時(shí)間。 本設(shè)計(jì)系統(tǒng)由單片機(jī)i/o口擴(kuò)展系統(tǒng)、交通燈狀態(tài)顯示系統(tǒng)、led數(shù)碼顯示系統(tǒng)、復(fù)位電路等幾大部分組成。系統(tǒng)除基本的交通燈功能外,還具有倒計(jì)時(shí)功能,較好的模擬實(shí)現(xiàn)了十字路口可能出現(xiàn)的狀況。 軟件上采用keilc編程,主要編寫(xiě)了主程序,led數(shù)碼管顯示程序,中斷程序延時(shí)程序等。經(jīng)過(guò)整機(jī)調(diào)試,實(shí)現(xiàn)了對(duì)十字路口交通燈的模擬。中國(guó)車輛數(shù)量不斷增加,交通控制在未來(lái)的交通管理中起著越來(lái)越重要的作用。智能交通燈的管理比重修一條馬路無(wú)論在經(jīng)濟(jì)、交通運(yùn)行速率上都有
5、很好的效益、更加節(jié)約資源。使交管人員有更多的精力投入到管理整個(gè)城市交通控制,帶來(lái)更大的經(jīng)濟(jì)和社會(huì)效益,為創(chuàng)造美好的城市交通形象發(fā)揮更多的作用。關(guān)鍵詞:交通燈;單片機(jī);msc-51;計(jì)時(shí);組員信息: 姓名: 李炳華 趙立松 王洪輝 學(xué)號(hào): 201310913204 201310913118 201310913121一、總體設(shè)計(jì)1.1系統(tǒng)設(shè)計(jì)1.1.1電源提供方案為使模塊穩(wěn)定工作,須有可靠電源。因此考慮了兩種電源方案:方案一:采用獨(dú)立的穩(wěn)壓電源。此方案的優(yōu)點(diǎn)是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點(diǎn)是各模塊都采用獨(dú)立電源,會(huì)使系統(tǒng)復(fù)雜,且可能影響電路電平。方案二:采用單片機(jī)控制模塊提供電源。改方案
6、的優(yōu)點(diǎn)是系統(tǒng)簡(jiǎn)明扼要,節(jié)約成本;缺點(diǎn)是輸出功率不高。綜上所述,我們選擇第二種方案。1.1.2輸入方案題目要求系統(tǒng)能調(diào)節(jié)燈亮?xí)r間,并可處理緊急情況,我們研究了兩種方案方案一:采用8155擴(kuò)展i/o 口及鍵盤(pán),顯示等。該方案的優(yōu)點(diǎn)是:使用靈活可編程,并且有ram,及計(jì)數(shù)器。若用該方案,可提供較多i/o 口,但操作起來(lái)稍顯復(fù)雜。方案二: 直接在i/o口線上接上按鍵開(kāi)關(guān)。由于該系統(tǒng)對(duì)于交通燈的控制,只用單片機(jī)本身的i/o 口就可實(shí)現(xiàn),且本身的計(jì)數(shù)器及ram已經(jīng)夠用。綜上所述,我們選擇第二種方案。1.2設(shè)計(jì)方案1.2.1單片機(jī)交通控制系統(tǒng)的通行方案設(shè)計(jì)設(shè)在十字路口,分為東西向和南北向,在任一時(shí)刻只有一個(gè)
7、方向通行,另一方向禁行,持續(xù)一定時(shí)間,經(jīng)過(guò)短暫的過(guò)渡時(shí)間,將通行禁行方向?qū)Q。其具體狀態(tài)如下圖所示。圖1 交通狀態(tài)圖1圖2 交通狀態(tài)圖2說(shuō)明:黑色表示亮,白色表示滅。交通狀態(tài)從狀態(tài)1開(kāi)始變換,直至狀態(tài)6然后循環(huán)至狀態(tài)1,周而復(fù)始。表1 表示燈狀態(tài)和行止?fàn)顟B(tài)的關(guān)系方向狀態(tài)1狀態(tài)3狀態(tài)4狀態(tài)6東西向禁行等待變換通行等待變換南北向通行等待變換禁行等待變換東西紅燈1100東西黃燈0001東西綠燈0010南北紅燈0011南北綠燈1000南北黃燈0100在任一個(gè)路口,遇紅燈禁止通行,轉(zhuǎn)綠燈允許通行,之后黃燈亮警告行止?fàn)顟B(tài)將變換。狀態(tài)及紅綠燈狀態(tài)如表1所示。說(shuō)明:0表示滅,1表示亮。1.2.2單片機(jī)交通控制
8、系統(tǒng)的功能要求本設(shè)計(jì)能模擬基本的交通控制系統(tǒng),用紅綠黃燈表示禁行,通行和等待的信號(hào)發(fā)生。 還可以進(jìn)行緊急處理,交通路口出現(xiàn)緊急狀況在所難免,如特大事件發(fā)生,救護(hù)車等急行車通過(guò)等,我們都必須盡量允許其暢通無(wú)阻,畢竟在這種情況下是分秒必爭(zhēng)的,時(shí)時(shí)刻刻關(guān)系著公共財(cái)產(chǎn)安全,個(gè)人生死攸關(guān)等。由此在交通控制中增設(shè)禁停按鍵,就可達(dá)到想此目的。1.2.3單片機(jī)交通控制系統(tǒng)的基本構(gòu)成及原理單片機(jī)設(shè)計(jì)交通燈控制系統(tǒng),可用單片機(jī)直接控制信號(hào)燈的狀態(tài)變化,基本上可以指揮交通的具體通行。本系統(tǒng)在此基礎(chǔ)上,加入了緊急情況處理功能。單片機(jī)最小系統(tǒng)外圍接口電路紅光綠信號(hào)燈按鍵控制電路圖3 系統(tǒng)的總體框圖據(jù)此,本設(shè)計(jì)系統(tǒng)以單片
9、機(jī)為控制核心,連接成最小系統(tǒng),由按鍵設(shè)置模塊產(chǎn)生輸入,信號(hào)燈狀態(tài)模塊。系統(tǒng)的總體框圖如上所示。單片機(jī)上電后,系統(tǒng)進(jìn)入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制,在此過(guò)程中隨時(shí)調(diào)用急停按鍵。二、硬件設(shè)計(jì)2.1單片機(jī)簡(jiǎn)介at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機(jī)。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工
10、業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡(jiǎn)版本。at89c單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。2.1.1.at89c51單片機(jī)的主要特性與mcs-51兼容,4k字節(jié)可編程閃爍存儲(chǔ)器,壽命:1000寫(xiě)/擦循環(huán),數(shù)據(jù)保留時(shí)間:10年,全靜態(tài)工作:0hz-24hz,三級(jí)程序存儲(chǔ)器鎖定,128*8位內(nèi)部ram,32可編程i/o線,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源(兩個(gè)外部中斷源和3個(gè)內(nèi)部中斷源),可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)振蕩器
11、和時(shí)鐘電路。 時(shí)鐘電路:時(shí)鐘電路的作用是產(chǎn)生單片機(jī)工作所需要的時(shí)鐘脈沖序列。中斷系統(tǒng):中斷系統(tǒng)的作用主要是對(duì)外部或內(nèi)部的終端請(qǐng)求進(jìn)行管理與處理。at89s51共有5個(gè)中斷源,其中又2個(gè)外部中斷源和3個(gè)內(nèi)部中斷源。圖4 at89c51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖2.1.2主要引腳功能圖5 at89c51引腳圖vcc:電源電壓gnd:接地p0口:p0口是一組8位雙向i0口。p0口即可作地址數(shù)據(jù)總線使用,又可以作為通用的i/o口使用。當(dāng)cpu訪問(wèn)片外存儲(chǔ)器時(shí),p0口分時(shí)先作低8位地址總線,后作雙向數(shù)據(jù)總線,此時(shí),p0口就不能再作i/o口使用了。在訪問(wèn)期間激活要使用上拉電阻。p1口:pl 是一個(gè)帶內(nèi)部上
12、拉電阻的8準(zhǔn)位雙向io口,p1作為通用的i/o口使用。p2 口:p2 是一個(gè)帶有內(nèi)部上拉電阻的8 位準(zhǔn)雙向io 口,p2即可作為通用的i/o口使用,也可以作為片外存儲(chǔ)器的高8位地址總線,與p0口配合,組成16位片外存儲(chǔ)器單元地址。p3 口:p3 口是一組帶有內(nèi)部上拉電阻的8 位準(zhǔn)雙向i0 口。p3 口除了作為通用的i/o口使用之外,每個(gè)引腳還具有第二功能。表2 具有第二功能的p3口引腳端口引腳第二功能:p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2/int0(外中斷0)p3.3/ int1(外中斷1)p3.4t0(定時(shí)計(jì)數(shù)器0外部輸入)p3.5t1(定時(shí)計(jì)數(shù)器1外部輸入)p3
13、.6/ wr(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)p3.7/ rd外部數(shù)據(jù)存儲(chǔ)器讀選通)rst:復(fù)位輸入。當(dāng)振蕩器工作時(shí),rst引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。wdt 溢出將使該引腳輸出高電平,設(shè)置sfr auxr的disrt0 位(地址8eh)可打開(kāi)或關(guān)閉該功能。disrt0位缺省為reset輸出高電平打開(kāi)狀態(tài)。ale:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ale 仍以時(shí)鐘振蕩頻率的16 輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ale脈沖。對(duì)f1ash存
14、儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(prog)。如有必要,可通過(guò)對(duì)特殊功能寄存器(sfr)區(qū)中的8eh 單元的d0 位置位,可禁止ale 操作。該位置位后,只有一條m0vx和m0vc指令ale才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ale無(wú)效。程序儲(chǔ)存允許()輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)at89s51 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次有效,即輸出兩個(gè)脈沖。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,沒(méi)有兩次有效的信號(hào)。vpp:外部訪問(wèn)允許。欲使cpu僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000hffffh),ea端必須保持低電平(接地)。如ea端為高電平(接vcc端
15、),cpu則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。f1ash存儲(chǔ)器編程時(shí),該引腳加上+12v的編程電壓vcc。xtal1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。2.1.3 mcs51的中斷源8051有5個(gè)中斷源,它們是兩個(gè)外中斷int0(p3.2)和int1(p3.3)、兩個(gè)片內(nèi)定時(shí)/計(jì)數(shù)器溢出中斷tf0和tf1,一個(gè)是片內(nèi)串行口中斷ti或ri,這幾個(gè)中斷源由tcon和scon兩個(gè)特殊功能寄存器進(jìn)行控制,其中5個(gè)中斷源的程序入口。表3 中斷源程序入口入口地址中斷源0003h外部中斷0 ()000bh定時(shí)器0 (t0)0013h外部中斷1 ()001bh定時(shí)器1 (t1)0023h串行口2.2交通燈中
16、的中斷處理流程現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù)有特殊車輛要通過(guò)時(shí)就要進(jìn)行中斷,在中斷之前,先將交通燈中斷前情況保護(hù)好,當(dāng)中斷執(zhí)行后再恢復(fù)現(xiàn)場(chǎng),包括信號(hào)燈顯示電路。中斷打開(kāi)和中斷關(guān)閉為了使特殊車輛通行按一下打開(kāi)中斷開(kāi)關(guān)就可以打開(kāi)中斷,關(guān)閉中斷開(kāi)關(guān)就關(guān)閉中斷。中斷返回執(zhí)行完中斷服務(wù)程序后,必然要返回,即回交通燈信號(hào)回到中斷前狀態(tài)。2.3 系統(tǒng)硬件總電路構(gòu)成及原理實(shí)現(xiàn)本設(shè)計(jì)要求的具體功能,可以選用at89c51單片機(jī)及外圍器件構(gòu)成最小控制系統(tǒng),12個(gè)發(fā)光二極管分成4組紅綠黃三色燈構(gòu)成信號(hào)燈指示模塊和緊急按鈕。2.3.1系統(tǒng)硬件電路構(gòu)成本系統(tǒng)以單片機(jī)為核心,系統(tǒng)硬件電路由狀態(tài)燈,按鍵等組成。圖6 硬件電路總圖其中p
17、1用于控制紅綠黃發(fā)光二極管,xtal1和xtal2接入晶振時(shí)鐘電路,rest引腳接上復(fù)位電路, p3.2即int0緊急情況處理按鍵。2.3.2系統(tǒng)工作原理系統(tǒng)上電或手動(dòng)復(fù)位之后,系統(tǒng)顯示狀態(tài)燈,將狀態(tài)碼值送顯p1口。時(shí)間到達(dá)一個(gè)狀態(tài)所要全部時(shí)間,則要進(jìn)行下一狀態(tài)判斷及銜接,并裝入次狀態(tài)的相應(yīng)狀態(tài)碼值以及時(shí)間值,當(dāng)然,還要開(kāi)啟兩個(gè)外部中斷,其一為緊急情況處理中斷,一旦信號(hào)有效,即k鍵為低電平時(shí)進(jìn)入中斷服務(wù)子程序,東西南北路口的紅燈全亮禁止全部通行,再按一下鍵,中斷結(jié)束返回。其二為系統(tǒng)復(fù)位,若此時(shí)按下復(fù)位按鈕,系統(tǒng)將自動(dòng)恢復(fù)到初始狀態(tài)。2.3.3其它硬件介紹(1)發(fā)光二極管根據(jù)本設(shè)計(jì)的特點(diǎn),紅綠燈
18、的顯示不可少,紅綠燈的顯示采用普通的發(fā)光二極管。每個(gè)方向上設(shè)置紅綠黃燈,總共4組。如果東西紅燈亮,那南北方向就是綠燈亮,反之亦然,所以在硬件上連接圖上也是對(duì)稱分布的。 圖7 信號(hào)燈的連接(2)按鍵控制本設(shè)計(jì)設(shè)置了有2個(gè)鍵:k鍵連接p3.2,復(fù)位按鈕。k鍵一端接地,另一端接對(duì)應(yīng)的p3端口。低電平有效,當(dāng)按鍵按下端口接地,單片機(jī)捕獲到低電平,從而知道相應(yīng)的輸入信息。三、軟件設(shè)計(jì)3.1程序主體設(shè)計(jì)流程全部控制程序?qū)嶋H上分為若干模塊:鍵盤(pán)設(shè)置處理程序,狀態(tài)燈控制程序,led顯示程序緊停程序,中斷服務(wù)子程序,紅綠燈時(shí)間調(diào)整程序等。整個(gè)軟件程序方面主要分兩大部分:主程序部分和中斷處理程序。開(kāi)始系統(tǒng)初始化東
19、西亮綠燈,南北亮紅燈東西,南北方向換向中斷處理子程序處理返回東西綠燈閃爍,然后轉(zhuǎn)換黃燈,同時(shí),南北亮紅燈燈 圖8 系統(tǒng)總流程圖設(shè)計(jì)說(shuō)明:該智能交通燈控制系統(tǒng)的軟件設(shè)計(jì)采用的是順序執(zhí)行并反復(fù)循環(huán)的方法。為了能夠使實(shí)驗(yàn)快速地實(shí)現(xiàn)設(shè)計(jì)目的,我們將每個(gè)工作循環(huán)時(shí)間設(shè)計(jì)定在20s。每紅綠燈轉(zhuǎn)換時(shí),正在通行路口的綠燈開(kāi)始閃爍三次,隨后點(diǎn)亮黃燈,以提醒路人上的行人及車輛,交通燈即將發(fā)生變化。在此期間若中斷按鍵按下則轉(zhuǎn)入中斷服務(wù)子程序進(jìn)行相關(guān)操作。3.2理論基礎(chǔ)知識(shí)3.2.1定時(shí)器原理定時(shí)器工作的基本原理其實(shí)就是給初值,讓它不斷加1直至減完為模值,這個(gè)初值是送到th和tl中的。它是以加法記數(shù)的,并能從全1到全
20、0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以把計(jì)數(shù)器記滿為零所需的計(jì)數(shù)值,即所要求的計(jì)數(shù)值設(shè)定為c,把計(jì)數(shù)初值設(shè)定為tc 可得到如下計(jì)算通式:tc=m-c式中,m為計(jì)數(shù)器模值。計(jì)數(shù)值并不是目的,目的是時(shí)間值,設(shè)計(jì)1次的時(shí)間,即定時(shí)器計(jì)數(shù)脈沖的周期為t0,它是單片機(jī)系統(tǒng)主頻周期的12倍,設(shè)要求的時(shí)間值為t,則有c=tt0。計(jì)算通式變?yōu)椋簍=(mtc)t0模值和計(jì)數(shù)器工作方式有關(guān)。在方式0時(shí)m為8192;在方式1時(shí)m的值為65536;在方式2和3為256。就此可以算出各種方式的最大延時(shí)。如單片機(jī)的主脈沖頻率為12mhz,經(jīng)過(guò)12分頻后,若采用方式最大延時(shí)只有8.129毫秒,采用方式最大延時(shí)也只有65.
21、536毫秒。3.2.2軟件延時(shí)原理mcs-51的工作頻率為12mhz,機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/12mhz)=1us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過(guò)指令的執(zhí)行條數(shù)來(lái)確定1秒的時(shí)間,但同時(shí)由于單片機(jī)的運(yùn)行速度很快其他的指令執(zhí)行時(shí)間可以忽略不計(jì)。3.2.3中斷原理本系統(tǒng)主要使用了外部中斷,中斷信號(hào)有引腳int0和int1輸入,低電平有效,cpu每個(gè)時(shí)鐘周期都會(huì)檢測(cè)int0和int1上的信號(hào),8051允許外部中斷以電平方式或負(fù)邊沿方式兩種中斷方式輸入中斷請(qǐng)求信號(hào),可由用戶通過(guò)設(shè)置tcon中it0和it1位的狀態(tài)來(lái)實(shí)現(xiàn)。以it
22、0為例,it0=0,為電平觸發(fā)方式,it0=1,為邊沿觸發(fā)方式,本設(shè)計(jì)采用邊沿觸發(fā)方式,ie0為其中斷標(biāo)志位,有中斷信號(hào)則置位,中斷服務(wù)子程序響應(yīng)后,ie0自動(dòng)清零。ie中的ea為允許中斷的總控制位,為1開(kāi)啟,ex0為外部中斷允許位,為1開(kāi)啟。在優(yōu)先級(jí)的允許下,一旦有外部中斷信號(hào)產(chǎn)生,單片機(jī)cpu首先保護(hù)斷點(diǎn),pc值進(jìn)棧,然后執(zhí)行相應(yīng)的中斷服務(wù)子程序,執(zhí)行完后,用reti指令返回,此時(shí)cpu會(huì)從堆棧中取保存的斷點(diǎn)地址,送回pc,程序再正常執(zhí)行。 3.3子程序模塊設(shè)計(jì)3.3.1狀態(tài)燈顯示及判斷在本設(shè)計(jì)中,實(shí)際控制的燈只有6個(gè),即:東西紅燈,東西綠燈,東西黃燈,南北紅燈,南北綠燈,南北黃燈。mov
23、 p1,#00h ;南北紅,東西綠setb p1.0 setb p1.4mov r5,#125acall delaymov p1,#00h ;南北紅,東西黃setb p1.0setb p1.5mov r5,#40acall delaymov p1,#00h ;南北綠,東西紅setb p1.1 setb p1.3mov r5,#125acall delaymov p1,#00h ;南北黃,東西紅setb p1.2setb p1.3mov r5,#40acall delay3.3.2緊停及調(diào)整時(shí)間中斷子程序緊停按鍵連接到外部中斷引腳p3.2,即int0捕獲到一個(gè)低電平,則進(jìn)入該中斷進(jìn)行相關(guān)處理。程
24、序如下:int0:;外部中斷服務(wù)程序,中斷后,全紅5秒push p1mov p1,#0setb p1.0setb p1.3mov r5,#25*5acall delaypop p1reti四、仿真調(diào)試4.1 protues仿真器仿真的概念其實(shí)使用非常廣,最終的含義就是使用可控的手段來(lái)模仿真實(shí)的情況。單片機(jī)系統(tǒng)開(kāi)發(fā)中的仿真包括軟件仿真和硬件仿真。軟件仿真這種方法主要是使用計(jì)算機(jī)軟件來(lái)模擬實(shí)際的單片機(jī)運(yùn)行,因此仿真與硬件無(wú)關(guān)的系統(tǒng)具有一定的優(yōu)點(diǎn)。用戶不需要搭建硬件電路就可以對(duì)程序進(jìn)行驗(yàn)證,特別適合于偏重算法的程序。軟件仿真的缺點(diǎn)是無(wú)法完全仿真與硬件相關(guān)的部分,因此最終還要通過(guò)硬件仿真來(lái)完成最后的設(shè)
25、計(jì)。硬件仿真使用附加的硬件來(lái)替代用戶系統(tǒng)的單片機(jī)并完成單片機(jī)全部或大部分的功能。使用了附加硬件后用戶就可以對(duì)程序的運(yùn)行進(jìn)行控制,例如單步、全速、查看資源斷點(diǎn)等。4.2集成開(kāi)發(fā)環(huán)境keilkeil uvision2集成開(kāi)發(fā)環(huán)境主要由以下部分組成:keil uvision2包括:一個(gè)工程管理器,一個(gè)功能豐富并有交互式錯(cuò)誤提示的編輯器選項(xiàng)設(shè)置生成工具,以及在線幫助。使用keil創(chuàng)建源文件并組成應(yīng)用工程加以管理。keil可以自動(dòng)完成編譯匯編鏈接程序的操作;c51編譯器和a51匯編器。vision2 ide創(chuàng)建的源文件可以被c51編譯器或a51匯編器處理生成可重定位的object文件。keil c51編
26、譯器遵照ansi c語(yǔ)言標(biāo)準(zhǔn)支持c語(yǔ)言的所有標(biāo)準(zhǔn)特性,另外還增加了幾個(gè)可以直接支持80c51結(jié)構(gòu)的特性。keil a51宏匯編器支持80c51及其派生系列的所有指令集;lib51庫(kù)管理器。b51庫(kù)管理器可以從由匯編器和編譯器創(chuàng)建的目標(biāo)文件建立目標(biāo)庫(kù),這些庫(kù)是按規(guī)定格式排列的目標(biāo)模塊,可在以后被鏈接器所使用當(dāng)鏈接器處理一個(gè)庫(kù)時(shí)僅僅使用了庫(kù)中程序使用了的目標(biāo)模塊而不是全部加以引用;bl51鏈接器定位器。l51鏈接器使用從庫(kù)中提取出來(lái)的目標(biāo)模塊和由編譯器匯編器生成的目標(biāo)模塊創(chuàng)建一個(gè)絕對(duì)地址目標(biāo)模塊,絕對(duì)地址目標(biāo)文件或模塊包括不可重定位的代碼和數(shù)據(jù)所有的代碼和數(shù)據(jù)都被固定在具體的存儲(chǔ)器單元中。4.3軟
27、件調(diào)試流程啟動(dòng)uvision2,進(jìn)入keil軟件的集成開(kāi)發(fā)環(huán)境;利用keil內(nèi)置的文本編輯器進(jìn)行程序源文件的編輯,因?yàn)閗eil集成的文本編輯器對(duì)中文支持不是很好,可以選擇其他的編輯器(本文使用的文本編輯器是ultraedit32),uvision2能夠自動(dòng)識(shí)別外部改變了的源文件;建立工程,指定針對(duì)哪種單片機(jī)進(jìn)行開(kāi)發(fā),指定對(duì)源程序的編譯、鏈接參數(shù),指定調(diào)試方式(本文采用外部硬件仿真器仿真調(diào)試的方式,即使用protues仿真器仿真),然后對(duì)工程進(jìn)行相關(guān)設(shè)置;設(shè)置好工程后即可進(jìn)行編譯、鏈接。連接仿真器對(duì)軟件進(jìn)行調(diào)試。也可以生成下載到單片機(jī)存儲(chǔ)器上的.hex文件。4.4系統(tǒng)軟件調(diào)試系統(tǒng)的軟件調(diào)試借助于
28、protues,在進(jìn)行系統(tǒng)軟件的連續(xù)調(diào)試之前要先進(jìn)行軟件的初調(diào),就是要使各個(gè)子程序模塊運(yùn)行正確,程序的運(yùn)行流程正確。功能子程序的調(diào)試。能子程序的調(diào)試包括運(yùn)算、采樣、數(shù)字濾波以及pid運(yùn)算等子程序的調(diào)試。在調(diào)試功能子程序時(shí),許多參數(shù)都是未知的,要根據(jù)其所需的條件,給出假定的數(shù)據(jù),使其運(yùn)行,如果能完成預(yù)定的處理功能或與手工計(jì)算的結(jié)果相符,就說(shuō)明該子程序己調(diào)試通過(guò)。調(diào)試時(shí)由小到大,由里到外。例如,調(diào)試pid算法子程序時(shí),先調(diào)通其包含的各個(gè)運(yùn)算子程序和參數(shù)處理子程序,然后將它們連起來(lái)進(jìn)行通調(diào)。通調(diào)時(shí),也是假定一些數(shù)據(jù)、參數(shù)和初始條件,然后運(yùn)行程序。當(dāng)運(yùn)算結(jié)果與手工計(jì)算的結(jié)果相同時(shí),該算法子程序則調(diào)試完
29、成,反之,就要進(jìn)行相應(yīng)的修改。其它子程序的調(diào)試同理;程序流程的調(diào)試。序流程的調(diào)試主要是查看程序運(yùn)行的步驟是否正確,在某時(shí)刻程序運(yùn)行所處的位置是否正確,是否能正確運(yùn)行各個(gè)中斷服務(wù)程序。在調(diào)試過(guò)程中,先將pid算法子程序屏蔽,輸出可控硅導(dǎo)通時(shí)間用一個(gè)固定的常數(shù)代替,在各個(gè)中斷服務(wù)子程序設(shè)置斷點(diǎn),然后運(yùn)行程序,查看程序是否能運(yùn)行到所有的斷點(diǎn),若所有斷點(diǎn)都能運(yùn)行到,則程序流程基本正確。去掉所有斷點(diǎn),再一次運(yùn)行程序,查看可控硅狀態(tài),從而判斷程序流程正確,反之,若程序流程不正確,做相應(yīng)的修改后,重新調(diào)試;功能程序與算法程序的通調(diào)。完成整個(gè)程序流程的調(diào)試后,將pid等算法子程序加入,在算法子程序前或后設(shè)置斷
30、點(diǎn),運(yùn)行整個(gè)程序。當(dāng)程序在斷點(diǎn)處暫停時(shí),查看pid計(jì)算的控制量與手工計(jì)算的值是否相同。多運(yùn)行幾次,若每次的結(jié)果都正確,則說(shuō)明程序各個(gè)部分互相沒(méi)有矛盾,反之,則說(shuō)明算法子程序和其它子程序之間有影響,需要做相應(yīng)的修改后重新調(diào)。五、總結(jié)為期一周的單片機(jī)原理及應(yīng)用課程設(shè)計(jì)的學(xué)習(xí)與實(shí)踐結(jié)束了,在一周的時(shí)間里使我受益頗深,不僅鞏固了在課堂上所學(xué)到的知識(shí),同時(shí)也擴(kuò)展了自己的知識(shí)面,現(xiàn)將我的學(xué)習(xí)實(shí)踐心得做出如下總結(jié):在系統(tǒng)的設(shè)計(jì)與調(diào)試,我覺(jué)得它主要考驗(yàn)?zāi)愕乃季S邏輯能力及你對(duì)指令的熟悉程度。可以說(shuō)在整個(gè)軟件設(shè)計(jì)過(guò)程中,讓我學(xué)會(huì)了很多。當(dāng)然,通過(guò)幾次反復(fù)調(diào)試過(guò)程,使得我對(duì)匯編指令有了更深刻的理解。在整個(gè)課程設(shè)計(jì)過(guò)
31、程我還掌握了一下幾點(diǎn):(1)掌握了電子系統(tǒng)設(shè)計(jì)的流程,熟悉了各種硬件電路以及軟件編程方法。(2)更加深刻地理解了單片機(jī)的各部分組成及特性。(3)熟練使用了各種計(jì)算機(jī)輔助設(shè)計(jì)工具完成設(shè)計(jì),充分掌握了這些工具的使用。(4)學(xué)會(huì)了利用keil uvision2對(duì)匯編語(yǔ)言進(jìn)行編譯過(guò)程。對(duì)protues軟件也有了直觀的學(xué)習(xí)。但是,自己此次設(shè)計(jì)的系統(tǒng)還是很有缺陷的,沒(méi)有做靜動(dòng)態(tài)的數(shù)碼管顯示和一些實(shí)用的中斷保護(hù),在今后的學(xué)習(xí),希望在此基礎(chǔ)上,再將這個(gè)交通燈系統(tǒng)更加豐富,更加貼近實(shí)際的應(yīng)用,并且能夠有所創(chuàng)新。通過(guò)本次的課程設(shè)計(jì),充分意識(shí)到自己所學(xué)的東西還是非常有限的。不過(guò),通過(guò)此次課程設(shè)計(jì),還是學(xué)到了一些書(shū)本上沒(méi)有學(xué)到的東西,為自己以后的學(xué)習(xí)起了很大的幫助。就我個(gè)人而言,很深刻地體會(huì)到一點(diǎn),那就是我們?cè)谠O(shè)計(jì)過(guò)程中一定要有一個(gè)整體的清晰的思路,知道自己的設(shè)計(jì)的對(duì)象的基本功能和核心器件的適用及其
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 超分辨率圖像質(zhì)量評(píng)價(jià)體系構(gòu)建-深度研究
- 特許經(jīng)營(yíng)在瑜伽產(chǎn)業(yè)的應(yīng)用-深度研究
- 高通量微陣列技術(shù)-深度研究
- 數(shù)字技術(shù)對(duì)藝術(shù)史的影響-深度研究
- 近代科技發(fā)展史-深度研究
- 氣候變率與極端天氣-深度研究
- 菌株代謝途徑解析-深度研究
- 2025年產(chǎn)品購(gòu)買合同標(biāo)準(zhǔn)文本
- 2025年住宅維護(hù)合同
- 2025年西安物業(yè)管理合同模板
- 新收入準(zhǔn)則深度解讀和案例分析以及稅會(huì)差異分析
- 大學(xué)美育導(dǎo)引 課件 第五章 體驗(yàn)人生在世-戲劇
- 大學(xué)美育導(dǎo)引 課件 第六章 沉浸光影世界-電影
- 中小學(xué)校課外讀物負(fù)面清單管理措施
- 土石方工程投標(biāo)書(shū)技術(shù)標(biāo)
- 中醫(yī)學(xué)教學(xué)課件經(jīng)絡(luò)與穴位
- 胸腹聯(lián)合傷完整版本
- 裝修店長(zhǎng)述職報(bào)告
- 整體解決方案研究:智慧物聯(lián)網(wǎng)在化肥行業(yè)的應(yīng)用
- 2023年10月自考試題00840第二外語(yǔ)(日語(yǔ))
- 農(nóng)產(chǎn)品市場(chǎng)營(yíng)銷中的市場(chǎng)競(jìng)爭(zhēng)分析
評(píng)論
0/150
提交評(píng)論