基于DSP實現(xiàn)道路交通燈控制系統(tǒng)設(shè)計_第1頁
基于DSP實現(xiàn)道路交通燈控制系統(tǒng)設(shè)計_第2頁
基于DSP實現(xiàn)道路交通燈控制系統(tǒng)設(shè)計_第3頁
基于DSP實現(xiàn)道路交通燈控制系統(tǒng)設(shè)計_第4頁
基于DSP實現(xiàn)道路交通燈控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1引言12項目設(shè)計實現(xiàn)功能22.1交通燈控制要求22.2液晶顯示器控制33項目實現(xiàn)方案33.1項目設(shè)計整體思路33.2設(shè)計原理53.2.1CPU定時器原理53.2.2DSP外設(shè)中斷擴(kuò)展模塊63.2.3發(fā)光二極原理63.2.4TMS320F28xDSP的I/O73.2.5液晶顯示器控制原理84程序設(shè)計94.1程序總體設(shè)計94.2程序編寫(見附頁)105心得體會1010DSP原理及應(yīng)用基于DSP實現(xiàn)道路交通燈控制系統(tǒng)設(shè)計摘要:DSP數(shù)字信號處理,是一門涉及多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。隨著計算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號處理技術(shù)應(yīng)運(yùn)而生并得到迅速發(fā)展。數(shù)字信號處理是一種通過使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來處理現(xiàn)實信號的方法。本次設(shè)計是基于dsp原理設(shè)計交通燈控制系統(tǒng)軟硬件系統(tǒng),利用發(fā)光二極管亮滅模擬交通信號,數(shù)碼管倒計時時間,利用 TMS320F2812 DSP片上定時器產(chǎn)生時鐘計數(shù),設(shè)計模擬實際生活中的十字路口交通燈。關(guān)鍵字:DSP;TMS320F2812;發(fā)光二極管;交通燈;Abstract:DSPdigitalsignalprocessing,isamultidisciplinaryandwidelyappliedinmanyfieldsoftheemergingdiscipline.Alongwiththecomputerandtherapiddevelopmentofinformationtechnology,digitalsignalprocessingtechnologytoemergeasthetimesrequireanddeveloprapidly.Digitalsignalprocessingisthroughtheuseofamathematicalskillstoperformtheconversionorextractionofinformation,todealwithrealsignalmethod.ThedesignisbasedontheprincipleofDSPdesignoftrafficlightcontrolsystemsoftwareandhardwaresystem,usinglight-emittingdiodestoeliminatesimulatedtrafficsignalcountdowntime,digitaltube,theuseofTMS320F2812DSPon-chiptimergeneratesaclockcounting,designedtosimulatetheactuallifeofthecrossroadstrafficlights.Keyword:DSP;TMS320F2812;lightemittingdiode;trafficlights;1引言交通是經(jīng)濟(jì)、社會發(fā)展的基礎(chǔ)性產(chǎn)業(yè),是社會、經(jīng)濟(jì)活動中人流、物流、資金流和信息流的主要流動方式?,F(xiàn)代社會中,如果沒有高效運(yùn)轉(zhuǎn)的交通運(yùn)輸體系,就不可能有經(jīng)濟(jì)的持續(xù)發(fā)展。然而,隨著社會經(jīng)濟(jì)的發(fā)展,機(jī)動車輛迅速增加,人們在賺取由機(jī)動車輛所帶來的巨額利潤以及充分享受汽車帶來的巨大便利的同時,越來越被交通擁堵、交通事故頻發(fā)、環(huán)境污染加劇和燃油損耗上升等諸多問題所困擾。隨著交通的不斷發(fā)展和汽車化進(jìn)程的加快,交通擁擠加劇,交通事故頻發(fā),交通環(huán)境惡化,已經(jīng)成為引人注目的城市問題之一。交通問題不僅在發(fā)展中國家,就在發(fā)達(dá)國家也是一個令人困擾的嚴(yán)重問題。眾所周知,緩解交通擁擠的最直接和最有效辦法是提高路網(wǎng)的通信能力。但無論哪個國家的大城市,不可能無限制地修建道路,不論是資金1DSP原理及應(yīng)用因素還是土地因素,都限制了道路的無節(jié)制增長。因此,無限制地修建道路難滿足日益增長的交通需求。與此同時,通過限制車輛增加削減交通需求也受到客觀因素的制約而無法取得滿意的結(jié)果。事實上,由于交通系統(tǒng)是一個相當(dāng)復(fù)雜的大系統(tǒng),無論單獨從車輛方面考慮還是從道路方面考慮,都很難從根本上解決問題。道路交通系統(tǒng)是一個地區(qū)、一個城市的主要組成部份,這個系統(tǒng)的運(yùn)行狀況如何,直接反映了一個地區(qū)、一個城市的現(xiàn)代化管理水平。在這一系統(tǒng)中,道路不僅僅是易變化的部分,而其它組成部分則存在著較大的可變性和隨機(jī)性。只有對這一系統(tǒng)的組成及其運(yùn)行機(jī)理進(jìn)行科學(xué)客觀的分析研究,對能制定出科學(xué)有效的管理和控制對策,從而保障系統(tǒng)的有效運(yùn)行。2項目設(shè)計實現(xiàn)功能2.1交通燈控制要求交通燈分紅黃綠三色,東、南、西、北各一組,用燈光信號實現(xiàn)對交通的控制:綠燈信號表示通行,黃燈表示警告,紅燈禁止通行,燈光閃爍表示信號即將改變。計時顯示:液晶屏幕上8×8點陣顯示0-9計數(shù)。正常交通控制信號順序:正常交通燈信號自動變換:⑴南北方向綠燈,東西紅燈 (20秒)。⑵南北方向綠燈閃爍。⑶南北方向黃燈。⑷南北方向紅燈,東西方向黃燈。⑸東西方向綠燈(20秒)。⑹東西方向綠燈閃爍。⑺東西方向黃燈。⑻返回⑴循環(huán)控制。緊急情況處理:模仿緊急情況 (重要車隊通過、急救車通過等 )發(fā)生時,交通警察手動控制⑴當(dāng)任意方向通行剩余時間多于 10秒,將時間改成10秒。2DSP原理及應(yīng)用⑵正常變換到四面紅燈(20秒)。⑶直接返回正常信號順序的下一個通行信號 (跳過閃爍綠燈、黃燈狀態(tài) )。2.2液晶顯示器控制本次設(shè)計使用ICETEK-F2812-A板,ICETEK-F2812-A是一塊以TMS320F2812DSP為核心的DSP擴(kuò)展評估板,它通過擴(kuò)展接口與實驗箱的顯示 /控制模塊連接,可以控制其各種外圍設(shè)備。液晶顯示模塊的訪問、控制是由 2812DSP對擴(kuò)展擴(kuò)展接口的操作完成??刂茢U(kuò)展口的尋址:命令控制擴(kuò)展接口的地址為 0x108001,數(shù)據(jù)控制擴(kuò)展接口的地址為0x108003和0x108004,輔助控制擴(kuò)展接口的地址為 0x108002??梢杂^察到液晶顯示從 0到9的計數(shù)。靈活使用控制字,可以實現(xiàn)復(fù)雜多變的顯示。當(dāng)使用點陣圖形顯示時需要在 DSP內(nèi)存中建立圖形存儲緩沖;適當(dāng)更新顯示可取得動畫效果。在實際生活中觀察點陣顯示的霓虹燈廣告、交通指示牌、報站牌等領(lǐng)會這種控制的具體應(yīng)用。3項目實現(xiàn)方案3.1項目設(shè)計整體思路根據(jù)DSP的硬件中斷、定時器、I/O訪問原理。用定時器定時。用 I/O口控制紅綠黃燈的開關(guān),用硬件中斷模擬緊急情況發(fā)生(如:急救車,消防車)。有緊急情況發(fā)生,兩向全紅,以便讓緊急車通過。緊急車通過后,交通的恢復(fù)中斷前的狀態(tài)。3DSP原理及應(yīng)用中斷服務(wù)流程設(shè)計總流程圖4DSP原理及應(yīng)用3.2設(shè)計原理3.2.1CPU定時器原理F2810/F2812芯片內(nèi)部有3個32位CPU定時器(TIMER0/1/2),其中定時器1和定時器2預(yù)留給實時操作系統(tǒng)使用(如DSPBIOS),只有CPU定時器0用戶可以在應(yīng)用程序中使用。定時器功能框圖如下:在F281x芯片中,向CPU申請中斷的定時器中斷信號(TINT0、TINT1及TINT2)連接方式如下圖:為保證定時器正常,需要進(jìn)行一下操作:首先將計數(shù)值寫入32位計數(shù)寄存器(TIMH:TIM)內(nèi),該計數(shù)值放在周期寄存器( PRDH:PRD)中;然后按SYSCLOCKOUT的頻率對計數(shù)值進(jìn)5DSP原理及應(yīng)用行減計數(shù)。當(dāng)計數(shù)器的值計到 0時,定時器會產(chǎn)生一個中斷脈沖輸出。3.2.2DSP外設(shè)中斷擴(kuò)展模塊2812的CPU為了能夠及時有效的處理好各個外設(shè)的中斷請求, 設(shè)計了一個專門處理外設(shè)中斷的擴(kuò)展模塊( thePeripheralInterruptExpansionblock ),叫做外設(shè)中斷控制器PIE,它能夠?qū)Ω鞣N中斷請求源(例如來自于外設(shè)或者其他外部引腳的請求)做出判斷以及相應(yīng)的決策。PIE可以支持96個不同的中斷,這些中斷分成了 12個組,每個組有8個中斷,而且每個組都被反饋到CPU內(nèi)核的12條中斷線中的某一條上(INT1-INT12)。PIE目前只使用了96個終端中的45個,其他的等待將來的功能擴(kuò)展。2812的中斷是3級中斷機(jī)制,分別是外設(shè)級, PIE級以及CPU級,對于某一個具體的外設(shè)中斷請求,任意一級的不許可, CPU最終都不會執(zhí)行該外設(shè)中斷。3.2.3發(fā)光二極原理顯示/控制模塊上的發(fā)光二極管是由連接在 F2812DSP擴(kuò)展擴(kuò)展接口上的寄存器 EWR和SNR控制的。這兩個寄存器均為 6位寄存器,其位定義見下表:6DSP原理及應(yīng)用兩個寄存器的地址均映射到 F2812DSP的擴(kuò)展空間,地址為108007H,DSP通過對擴(kuò)展區(qū)域該地址的寫操作來修改兩個寄存器上各位的狀態(tài),當(dāng)寄存器某位取‘ 1’值時,相應(yīng)指示燈被點亮,取‘ 0’值則熄滅。當(dāng)寫入108007H的數(shù)據(jù)(8位有效值)的高兩位為‘00’時,數(shù)據(jù)的低6位將寫入EWR寄存器;當(dāng)高兩位的值為‘01’時,寫入SNR寄存器。3.2.4TMS320F28xDSP 的I/OTMS320F28xDSP的I/O空間大部分被保留用于外部擴(kuò)展。在擴(kuò)展時一般將帶有控制能的寄存器或分離地址訪問的存儲單元的地址映射到I/O空間,訪問這部分的單元又稱I/O 端口訪問。例如:可將控制指示燈組的寄存器或鎖存器映射到一個 I/O 端口地址上;A/D、D/A等專用芯片控制端和狀態(tài)寄存器也常映射到 I/O 端口上??傊贗/O 空間中擴(kuò)展的設(shè)備一般重點用于控制, 而使用大片連續(xù)存儲空間的存儲器單元一般映射到數(shù)據(jù)空間。ICETEK-F2812-A板將指示燈、DIP開關(guān)、A/D和D/A的控制端等映射在I/O 空間。在程序中,訪問I/O 端口的語句較為簡單。7DSP原理及應(yīng)用3.2.5液晶顯示器控制原理顯示開關(guān):0x3f 打開顯示;0x3e關(guān)閉顯示;設(shè)置顯示起始行:0x0c0+起始行取值,其中起始行取值為 0至63;設(shè)置操作頁:0x0b8+頁號,其中頁號取值為0-7;設(shè)置操作列:0x40+列號,其中列號為取值為 0-63;寫顯示數(shù)據(jù):在使用命令控制字選擇操作位置(頁數(shù)、列數(shù))之后,可以將待顯示的數(shù)據(jù)寫入液晶顯示模塊的緩存。將數(shù)據(jù)發(fā)送到相應(yīng)數(shù)據(jù)控制擴(kuò)展接口即可。液晶顯示器與DSP的連接:數(shù)據(jù)信號的傳送:由于液晶顯示模塊相對運(yùn)行在8MHz主頻下的DSP屬于較為慢速設(shè)備,連接時需要考慮數(shù)據(jù)線上信號的等待問題;8DSP原理及應(yīng)用電平轉(zhuǎn)換:由于DSP為3.3V設(shè)備,而液晶顯示模塊屬于 5V設(shè)備,所以在連接控制線、數(shù)據(jù)線時需要加電平隔離和轉(zhuǎn)換設(shè)備。4程序設(shè)計4.1程序總體設(shè)計①根據(jù)設(shè)計要求,由于控制是由不同的各種狀態(tài)按順序發(fā)生的 , 我們可以采用狀態(tài)機(jī)制控制方法來解決此問題。這種方法是:首先列舉所有可能發(fā)生的狀態(tài);然后將這些狀態(tài)編號,按順序產(chǎn)生這些狀態(tài);狀態(tài)延續(xù)的時間用程序控制,對于突發(fā)情況,可采用在正常順序的控制中插入特殊控制序列的方式完成。②定時器的設(shè)定,VC5509A定時器是由一個4位的預(yù)定標(biāo)值PSC和一個16位的減法計數(shù)的計數(shù)器TIM組成。在實際工作中首先是每經(jīng)過一個周期 PSC值減1, 一直減到0后TIM開始減1, 直到減到0后的第一個周期, 計數(shù)器會向CPU發(fā)出中斷請求。③突發(fā)事件設(shè)置, 在實際交通過程中會出現(xiàn)突發(fā)狀況 , 比如說有救護(hù)車或者110緊急車要通過, 此時就可以通過小鍵盤進(jìn)行突發(fā)狀況模擬。通過按鍵進(jìn)入到中斷服務(wù)子程序, 相當(dāng)于原來先要通過的車輛在突發(fā)狀況來了以后就要先讓緊急車輛通過。9DSP原理及應(yīng)用4.2程序編寫(見附頁)5心得體會隨著信息技術(shù)的飛速發(fā)展,數(shù)字信號處理技術(shù)已逐漸發(fā)展成為一門主流技術(shù),它在電子信息,通信,軟件無線電,制動控制,儀表儀器,信息家電等高科技領(lǐng)域得到了越來越廣泛的應(yīng)用。數(shù)字信號處理器由于運(yùn)算速度快,具有可編程特性和接口靈活的特點,使的它在許多電子產(chǎn)品的研制, 開發(fā)與應(yīng)用中,發(fā)揮著越來越重要的作用。采用DSP芯片來實現(xiàn)數(shù)字信號處理系統(tǒng)更是當(dāng)前的發(fā)展趨勢。通過做基于DSP的交通燈的設(shè)計, 進(jìn)一步熟悉DSP芯片及其開發(fā)環(huán)境 CCS的功能。同時對當(dāng)前交通控制的現(xiàn)狀有了進(jìn)一部的了解。為以后的學(xué)習(xí)打下了堅實的基礎(chǔ)。隨著科學(xué)技術(shù)的發(fā)展及各門學(xué)科的相互融合, DSP將有更為廣闊的應(yīng)用前景。交通控制也會更智能,為人們的出行提供更多的便利。附頁#include"scancode.h"#defineSPSA0*(unsignedint*)0x38#defineSPSD0*(unsignedint*)0x39#defineREGISTERCLKMD(*(unsignedint*)0x58)#defineTIM*(int*)0x24#definePRD*(int*)0x25#defineTCR*(int*)0x26#defineIMR*(int*)0x0#defineIFR*(int*)0x1#definePMST*(int*)0x1d#definenStatusNSGreenEWRed160#definenStatusNSFlashEWRed184#definenStatusNSYellowEWRed200#definenStatusNSRedEWYellow216#definenStatusNSRedEWGreen376#definenStatusNSRedEWFlash400#definenStatusNSRedEWYellow1416#definenStatusNSYellowEWRed1

432#definenTotalTime448#definenStatusHold160#definestatusNSGreenEWRed0#definestatusNSFlashEWRed1#definestatusNSYellowEWRed2#definestatusNSRedEWYellow3#definestatusNSRedEWGreen4#definestatusNSRedEWFlash5#definestatusHold6#defineLCDDELAY1#defineLCDCMDTURNON0x3f#defineLCDCMDTURNOFF0x3e#defineLCDCMDSTARTLINE0xc0#defineLCDCMDPAGE0xb8#defineLCDCMDVERADDRESS0x40ioportunsignedintport3004;//CTR擴(kuò)展寄存器定義ioportunsignedintport8000;ioportunsignedintport8001;ioportunsignedintport8002;ioportunsignedintport8003;ioportunsignedintport8004;

ioportunsignedintport8005;ioportunsignedintport8007;#defineCTRGRport8000#defineCTRLCDCMDRport8001#defineCTRKEY port8001#defineCTRCLKEY port8002#defineCTRLCDCR port8002#defineCTRLCDLCR port8003#defineCTRLCDRCR port8004#defineCTRLA port8005#defineCTRLR port8007voidInitDSP();voidInitTimer();voidInitICETEKCTR();voidinterrupttime(void);voidinterruptxint2(void);//XINT2中斷服務(wù)程序voidSetLEDArray(intnNumber);修改顯示內(nèi)容voidRefreshLEDArray();刷新顯示voidEndICETEKCTR();voidTurnOnLCD();voidLCDCLS();voidDelay(unsignedint10DSP原理及應(yīng)用nDelay);nOldTimeCount=0;elseifInitDSP();//(nTimeCount<nStatusNSYellowEWunsignedintuWork,nTimeCount;初始化DSP,設(shè)置運(yùn)行速度Red1)unsignedintInitICETEKCTR();//初始nNowStatus=statusNSYellowuLightStatusEW,uLightStatusSN;化顯示/控制模塊EWRed;unsignedintbHold;InitTimer();//設(shè)置ifunsignedchar定時器中斷(nNowStatus==nOldStatus)ledbuf[8],ledx[8];//根據(jù)計時器計數(shù)切換狀態(tài){unsignedcharled[40]=//根據(jù)狀態(tài)設(shè)置計數(shù)和交通switch{燈狀態(tài)(nNowStatus)0x7E,0x81,0x81,0x7E,0x00,while(1){0x02,0xFF,0x00,{case0xE2,0x91,0x91,0x8E,0x42,if(bHold&&statusNSFlashEWRed:0x89,0x89,0x76,nNowStatus==statusHold)0x38,0x24,0x22,0xFF,0x4F,{nWork1=nTimeCount-nStatus0x89,0x89,0x71,ifNSGreenEWRed;0x7E,0x89,0x89,0x72,0x01,(nTimeCount>=nStatusHold)0xF1,0x09,0x07,{nWork2=nStatusNSYellowEWR0x76,0x89,0x89,0x76,0x4E,ed-nStatusNSFlashEWRed;0x91,0x91,0x7EnNowStatus=nSaveStatus;};nTimeCount=nSaveTimeCount;nWork3=nWork2/3;unsignedcharledkey[10][8]=bHold=0;{}nWork4=nWork3/2;{0x00,0x00,0x7C,0x82,0x82}if,0x82,0x7C,0x00},//0elseif(nWork1>=0&&nWork2>0&&{0x00,0x00,0x00,0x84,0xFE(nTimeCount<nStatusNSGreenEWRnWork3>0&&nWork4>0),0x80,0x00,0x00},//1ed){0x00,0x00,0x84,0xC2,0xA2nNowStatus=statusNSGreenEuLightStatusSN=((nWork1%,0x92,0x8C,0x00},//2WRed;nWork3)<=nWork4)?(0x49):(0x40{0x00,0x00,0x44,0x92,0x92elseif);,0x92,0x6C,0x00},(nTimeCount<nStatusNSFlashEWRbreak;{0x00,0x00,0x30,0x28,0x24ed)case,0xFE,0x20,0x00},nNowStatus=statusNSFlashEstatusNSRedEWFlash:{0x00,0x00,0x4E,0x92,0x92WRed;,0x92,0x62,0x00},elseifnWork1=nTimeCount-nStatus{0x00,0x00,0x7C,0x92,0x92(nTimeCount<nStatusNSYellowEWNSRedEWGreen;,0x92,0x64,0x00},Red){0x00,0x00,0x02,0xC2,0x32nNowStatus=statusNSYellownWork2=nStatusNSRedEWYell,0x0A,0x06,0x00},EWRed;ow1-nStatusNSRedEWFlash;{0x00,0x00,0x6C,0x92,0x92elseif,0x92,0x6C,0x00},(nTimeCount<nStatusNSRedEWYelnWork3=nWork2/3;{0x00,0x00,0x4C,0x92,0x92low),0x92,0x7C,0x00}nNowStatus=statusNSRedEWYnWork4=nWork3/2;};ellow;ifmain()elseif(nWork1>=0&&nWork2>0&&{(nTimeCount<nStatusNSRedEWGrenWork3>0&&nWork4>0)inten)nWork1,nWork2,nWork3,nWork4,tKnNowStatus=statusNSRedEWGuLightStatusEW=((nWork1%ey;reen;nWork3)<=nWork4)?(0x09):(0x00intelseif);nNowStatus,nOldStatus,nOldTime(nTimeCount<nStatusNSRedEWFlabreak;Count,nSaveTimeCount,nSaveStatsh)caseus;nNowStatus=statusNSRedEWFstatusNSGreenEWRed:unsignedintnScanCode;lash;elseifnWork1=nStatusNSGreenEWRenTimeCount=0;bHold=0;(nTimeCount<nStatusNSRedEWYeld/20;uLightStatusEW=uLightStatlow1)ifusSN=0;nNowStatus=statusNSRedEWY(nWork1>0)nNowStatus=0;nOldStatus=1;ellow;{11DSP原理及應(yīng)用nOldTimeCount=nWork2; {nWork2=20-nTimeCount/nWork1; SetLEDArray(nWork2); nSaveStatus=statusNSGreenif } EWRed;(bHold) }{ break; nSaveTimeCount=0;case }if(nWork2>10) statusHold: }{ nWork1=nStatusHold/20; nOldStatus=nNowStatus;if switchnTimeCount=nWork1*10; (nWork1>0) (nNowStatus){ {nWork2=10; casenWork2=20-nTimeCount/nWor statusNSGreenEWRed:} k1;} if uLightStatusEW=0x24;if (nOldTimeCount!=nWork2) uLightStatusSN=0x49;(nOldTimeCount!=nWork2) {{ SetLEDArray(20);nOldTimeCount=nWork2; break;nOldTimeCount=nWork2; caseSetLEDArray(nWork2); statusNSFlashEWRed:SetLEDArray(nWork2); }} } uLightStatusEW=0x24;} break; uLightStatusSN=0x49;break; }case }statusNSRedEWGreen: else SetLEDArr{ ay(0);nWork1=(nStatusNSRedEWGre if(bHold) break;en-nStatusNSRedEWYellow)/20; { caseif statusNSYellowEWRed:(nWork1>0) nSaveStatus=nNowStatus;{ uLightStatusEW=0x24;nSaveTimeCount=nTimeCount uLightStatusSN=0x52;nWork2=20-(nTimeCount-nSt ;atusNSRedEWYellow)/nWork1; SetLEDArray(20);nNowStatus=statusHold; break;if case(bHold) nTimeCount=0; statusNSRedEWYellow:{ if(nSaveStatus==statusNSFlashEW uLightStatusEW=0x12;if(nWork2>10) Red|| uLightStatusSN=0x64;nSaveStatus==statusNSYellowEWR{ ed) SetLEDArray(20);{ break;casenTimeCount=nStatusNSRedEW nSaveStatus=statusNSRedEW statusNSRedEWGreen:Yellow+nWork1*10; Green;uLightStatusEW=0x09;nWork2=10; nSaveTimeCount=nStatusNSR uLightStatusSN=0x64;edEWYellow;} } SetLEDArray(20);} elseif break;if (nSaveStatus==statusNSRedEWFl case(nOldTimeCount!=nWork2) ash|| statusNSRedEWFlash:{ nSaveStatus==statusNSRedEWYellow) uLightStatusEW=0x09;12DSP原理及應(yīng)用uLightStatusSN=0x64;];//初始化ICETEK-CTR板上設(shè)備Delay(LCDDELAY);voidInitICETEKCTR()SetLEDArray(0);CTRLCDCR=0;{break;Delay(LCDDELAY);intk;case}statusHold:}CTRGR=0;//初始化ICETEK-CTRuLightStatusEW=0x24;//將緩存中點陣送發(fā)光二極管顯CTRGR=0x80;uLightStatusSN=0x64;示CTRGR=0;voidRefreshLEDArray()CTRLR=0;//關(guān)閉東西SetLEDArray(20);{方向的交通燈break;inti;CTRLR=0x40;//關(guān)閉南北}for(i=0;i<8;i++)方向的交通燈}{CTRLR=0x0c1;//開啟發(fā)光CTRLR=uLightStatusEW;CTRGR=ledx[i];二極管顯示陣列CTRLR=uLightStatusSN;//設(shè)置CTRLA=ledbuf[i];CTRLR=0xc交通燈狀態(tài)}8;//使能外部中斷RefreshLEDArray();//}for(k=0;k<8;k++)刷新發(fā)光二極管顯示{nScanCode=port8001;//初始化DSP,設(shè)置運(yùn)行速度=8MHzledbuf[k]=0x0ff;//讀鍵盤掃描碼voidInitDSP()//顯示為空白nScanCode&=0x0ff;{ledx[k]=(k<<4);//tKey=CTRCLKEY;REGISTERCLKMD=0;//復(fù)位生成顯示列控制字ifPLL}(nScanCode==SCANCODE_9)REGISTERCLKMD=0x1007;//k=CTRCLKEY;//清除鍵盤break;速度設(shè)置=16MHz緩沖區(qū)}}TurnOnLCD();EndICETEKCTR();//打開顯示exit(0);//設(shè)置定時器參數(shù)、允許中斷LCDCLS();//}voidInitTimer()清除顯示內(nèi)存{CTRLCDCMDR=LCDCMDSTARTLIN//定時器中斷服務(wù)程序,進(jìn)行時鐘unsignedintk;E;//設(shè)置顯示起始行計數(shù)CTRLCDCR=0;voidinterrupttime(void)asm("ssbxINTM");//}{關(guān)中斷,進(jìn)行關(guān)鍵設(shè)置時不許打擾nTimeCount++;//設(shè)置通用定時器voidinterruptxint2(void)//nTimeCount%=nTotalTime;k=PMST;//設(shè)置XINT2中斷服務(wù)程序}PMST寄存器{PMST=k&0xff;//中斷向量bHold=1;//設(shè)置發(fā)光二極管顯示內(nèi)容表起始地址=80H}voidSetLEDArray(intnNumber)IMR=0x0c;//使

溫馨提示

  • 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

提交評論