版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
嵌入式系統(tǒng)應(yīng)用綜合實(shí)踐課程設(shè)計(jì)(報(bào)告)《嵌入式系統(tǒng)應(yīng)用綜合實(shí)踐》課程設(shè)計(jì)(報(bào)告)題目:基于ARM的交通燈設(shè)計(jì)摘要本文所要研究的就是基于ARM嵌入式系統(tǒng)的交通燈系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。主要介紹了嵌入式實(shí)時(shí)操作系統(tǒng)中的最小系統(tǒng)的各個(gè)組成部分,其中包括電源、時(shí)鐘、復(fù)位、存儲(chǔ)器、JTAG接口電路原理圖及交通燈電路圖的設(shè)計(jì)。隨著移動(dòng)設(shè)備的流行和發(fā)展,嵌入式系統(tǒng)已經(jīng)成為一個(gè)熱點(diǎn)。它并不是最近出現(xiàn)的新技術(shù),只是隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,微控制芯片功能越來(lái)越大,而嵌入微控制芯片的設(shè)備和系統(tǒng)越來(lái)越多,從而使得這種技術(shù)越來(lái)越引人注目。它對(duì)軟硬件的體積大小、成本、功耗和可靠性都提出了嚴(yán)格的要求。嵌入式系統(tǒng)的功能越來(lái)越強(qiáng)大,實(shí)現(xiàn)也越來(lái)越復(fù)雜,隨之出現(xiàn)的就是可靠性大大降低。最近的一種趨勢(shì)是一個(gè)功能強(qiáng)大的嵌入式系統(tǒng)通常需要一種操作系統(tǒng)來(lái)給予支持,這種操作系統(tǒng)是已經(jīng)成熟并且穩(wěn)定的,可以是嵌入式的Linux,WVINCE等等。隨著移動(dòng)設(shè)備的流行和發(fā)展,嵌入式系統(tǒng)已經(jīng)成為一個(gè)熱點(diǎn)。它并不是最近出現(xiàn)的新技術(shù),只是隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,微控制芯片功能越來(lái)越大,而嵌入微控制芯片的設(shè)備和本文所要研究的就是基于ARM嵌入式系統(tǒng)的交通燈系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。本設(shè)計(jì)采用了飛利浦的32位ARM微處理器LPC2200作為核心處理器。關(guān)鍵詞:嵌入式系統(tǒng)ARMLPC2138交通燈目錄第1章概述 41.1課題背景 41.2課題現(xiàn)狀 4第2章總體設(shè)計(jì)方案 52.1設(shè)計(jì)思路 52.2總體設(shè)計(jì)框圖 6第3章硬件設(shè)計(jì) 73.1交通燈模塊硬件設(shè)計(jì) 73.2LPC2138芯片介紹及設(shè)計(jì) 73.3LPC2138芯片最小系統(tǒng)硬件設(shè)計(jì) 73.4系統(tǒng)電源電路設(shè)計(jì) 83.5晶振與復(fù)位電路 83.6LED循環(huán)顯示設(shè)計(jì) 93.7數(shù)碼管倒計(jì)時(shí)顯示硬件設(shè)計(jì) 103.8整機(jī)電路圖 11第4章軟件設(shè)計(jì) 124.1交通燈控制軟件流程圖 124.2ARM交通燈模擬控制程序設(shè)計(jì) 12總結(jié) 14參考文獻(xiàn) 15附錄 16嵌入式系統(tǒng)應(yīng)用綜合實(shí)踐課程設(shè)計(jì)(報(bào)告) 第1章概述1.1課題背景交通信號(hào)燈指揮著人和各種車(chē)輛的安全運(yùn)行,實(shí)現(xiàn)紅、黃、綠燈的自動(dòng)指揮是城鄉(xiāng)交通管理現(xiàn)代化的重要課題.在城鄉(xiāng)街道的十字交叉路口,為了保證交通秩序和行人安全,一般在每條道路上各有一組紅、黃、綠交通信號(hào)燈,其中紅燈亮,表示該條道路禁止通行;黃燈亮,表示該條道路上未過(guò)停車(chē)線的車(chē)輛停止通行,已過(guò)停車(chē)線的車(chē)輛繼續(xù)通行;綠燈亮,表示該條道路允許通行.交通燈控制電路自動(dòng)控制十字路口兩組紅、黃、綠交通燈的狀態(tài)轉(zhuǎn)換,指揮各種車(chē)輛和行人安全通行,實(shí)現(xiàn)十字路口城鄉(xiāng)交通管理自動(dòng)化.本文為了實(shí)現(xiàn)交通道路的管理,力求交通管理先進(jìn)性、科學(xué)化.分析應(yīng)用了單片機(jī)實(shí)現(xiàn)智能交通燈管制的控制系統(tǒng),以及該系統(tǒng)軟、硬件設(shè)計(jì)方法,實(shí)驗(yàn)證明該系統(tǒng)實(shí)現(xiàn)簡(jiǎn)單、經(jīng)濟(jì),能夠有效地疏導(dǎo)交通,提高交通路口的通行能力。1.2課題現(xiàn)狀交通燈在人類(lèi)道路交通發(fā)展過(guò)程中扮演著非常重要的色,而我國(guó)是一個(gè)人口超級(jí)大國(guó),汽車(chē)工業(yè)的發(fā)展正在快速增長(zhǎng)的階段,因此限制車(chē)輛的增加不是解決問(wèn)題的好方法。而采取增加供給,即大量修筑道路基礎(chǔ)設(shè)施的方法,在資源、環(huán)境矛盾越來(lái)越突出的今天,面對(duì)越來(lái)越擁擠的交通,有限的源和財(cái)力以及環(huán)境的壓力,也將受到限制。這就需要依靠除限制需求和提供道路設(shè)施之外的其他方法來(lái)滿足日益增長(zhǎng)的交通需求。隨著經(jīng)濟(jì)的發(fā)展,城市現(xiàn)代化程度不斷提高,交通需求和交通量迅速增長(zhǎng),城市交通網(wǎng)絡(luò)中交通擁擠日益嚴(yán)重,道路運(yùn)輸所帶來(lái)的交通擁堵、交通事故和環(huán)境污染等負(fù)面效應(yīng)也日益突出,逐步成為經(jīng)濟(jì)和社會(huì)發(fā)展中的全球性共同問(wèn)題。交通問(wèn)題已經(jīng)日益成為世界性的難題,城市交通事故、交通阻塞和交通污染問(wèn)題愈加突出。為了解決車(chē)和路的矛盾,常用的有兩種方法:一是控制需求,最直接的辦法就是限制車(chē)輛的增加;二是增加供給,也就是修路。但是這兩個(gè)辦法都有其局限性。第2章總體設(shè)計(jì)方案2.1設(shè)計(jì)思路利用LPC2131ARM芯片實(shí)現(xiàn)單路交通燈的控制:a實(shí)現(xiàn)紅、綠、黃燈的循環(huán)控制。使用紅、黃、綠三種不同顏色的LED燈實(shí)現(xiàn)此功能,由南往北方向紅、黃、綠三個(gè)燈依次接在P1.18、P1.19、P1.20上,由北往南方向的紅、黃、綠三個(gè)燈依次接在P1.21、P1.22、P1.23上,人行道用紅、綠兩個(gè)燈控制,依次接在P1.24、P1.25上,用軟件控制燈的亮與滅來(lái)控制車(chē)輛和行人的通行。b用數(shù)碼管顯示倒計(jì)時(shí)??梢岳脛?dòng)態(tài)顯示或靜態(tài)顯示,串行并出或者并行并出實(shí)現(xiàn)。c南北方向控制車(chē)輛的綠燈熄滅的同時(shí),控制蜂鳴器響2秒來(lái)作為警報(bào)。蜂鳴器接P0.7引腳。交通路口示意圖如圖3.1車(chē)輛遇到紅燈停綠燈行的行走情況,紅綠燈時(shí)間均為60s,切換時(shí)間為10s,最后5s為黃燈閃爍。公共場(chǎng)所公共場(chǎng)所公共場(chǎng)所圖2.1交通路口示意圖2.2總體設(shè)計(jì)框圖用ARM7系列芯片LPC2138作為系統(tǒng)的主控芯片,控制交通燈的循環(huán)點(diǎn)亮并顯示燈亮?xí)r間(采用倒計(jì)時(shí)顯示),當(dāng)定時(shí)時(shí)間到的時(shí)候控制蜂鳴器響來(lái)提醒人們注意紅綠燈的狀態(tài)。交通燈循環(huán)交通燈循環(huán)蜂鳴器LPC2131最小系統(tǒng)倒計(jì)時(shí)顯示圖2.2交通燈總體設(shè)計(jì)框圖第3章硬件設(shè)計(jì)3.1交通燈模塊硬件設(shè)計(jì)根據(jù)設(shè)計(jì)任務(wù)要求,自行選擇電子元件,畫(huà)出電氣原理圖,并調(diào)試。一個(gè)完整的系統(tǒng)除了主控芯片以外,還需配上電源系統(tǒng)、時(shí)鐘電路、復(fù)位電路等。獨(dú)立的芯片是不能工作的。3.2LPC2138芯片介紹及設(shè)計(jì)LPC2138是基于一個(gè)支持實(shí)時(shí)仿真和嵌入式跟蹤的32位ARM7TDMI-STM的微控制器,并帶有32kB的嵌入的高速Flash存儲(chǔ)器。128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu),使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行。對(duì)代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb。模式將代碼規(guī)模降低超過(guò)30%,而性能的損失卻很小。較小的封裝和極低的功耗使LPC2131可理想地用于小型系統(tǒng)中,具有以下一些特性:(1)小型LQFP64封裝。(2)8k的片內(nèi)靜態(tài)RAM和32k的片內(nèi)Flash程序存儲(chǔ)器。(3)1個(gè)10位D/A轉(zhuǎn)換器。(4)兩個(gè)32位定時(shí)器/計(jì)數(shù)器(帶四路捕獲和四路比較通道)、PWM單元。(5)有9個(gè)邊沿或電平觸發(fā)的外部中斷引腳。(6)片內(nèi)晶振頻率范圍:1~30MHz。(7)有低功耗模式。3.3LPC2138芯片最小系統(tǒng)硬件設(shè)計(jì)圖3.1為L(zhǎng)PC2138芯片的原理圖,64個(gè)引腳,采用3.3V電源供電,設(shè)計(jì)所需外接器件的網(wǎng)絡(luò)名已經(jīng)標(biāo)出。圖3.1LPC2138芯片的原理圖3.4系統(tǒng)電源電路設(shè)計(jì)本電源運(yùn)用5V的直流電源(圖3.2所示)。通過(guò)DS2434芯片將5V電壓轉(zhuǎn)換為3.3V電壓,為L(zhǎng)PC2138芯片供電,LPC2138芯片所能承受的電壓范圍是3V~3.6V。圖3.2直流電源電路設(shè)計(jì)3.5晶振與復(fù)位電路系統(tǒng)的晶振電路如圖3.3所示LPC2138芯片采用11.0592MHz的晶振作為振蕩時(shí)鐘源,通過(guò)對(duì)芯片的進(jìn)行軟件設(shè)計(jì)可以將晶體振蕩器的頻率分頻為所需的頻率;系統(tǒng)的復(fù)位電路如圖3.4所示,SP708S芯片的7號(hào)引腳連接到主控芯片的復(fù)位引腳上,按下復(fù)位鍵S2時(shí),系統(tǒng)將會(huì)復(fù)位到初始的狀態(tài)。圖3.3系統(tǒng)的晶振電路圖 圖3.4系統(tǒng)的復(fù)位電路圖3.6LED循環(huán)顯示設(shè)計(jì)由南向北和由北向南車(chē)道各用一組紅、綠、黃三色的指示燈,指揮車(chē)輛通行。綠燈是通行信號(hào),面對(duì)綠燈的車(chē)輛可以直行,紅燈是禁止通行信號(hào),面對(duì)紅燈的車(chē)輛必須在路口的停車(chē)線后停車(chē)。黃燈是警告信號(hào),面對(duì)黃燈的車(chē)輛不能越過(guò)停車(chē)線,但車(chē)輛已十分接近停車(chē)線而不能安全停車(chē)時(shí)可以繼續(xù)行進(jìn)。50s5s5s50s5s5s南北通道綠燈亮綠燈閃黃燈閃紅燈亮紅燈閃黃燈閃人行道紅燈亮紅燈亮紅燈亮綠燈亮紅燈亮紅燈亮表3.1紅綠燈時(shí)間分配時(shí)間表上表說(shuō)明南北通道綠燈亮、綠燈閃黃燈閃時(shí)人行道都是紅燈亮,只有車(chē)道紅燈亮(車(chē)輛完全停下來(lái))時(shí)人行道綠燈才亮,這樣保證了過(guò)馬路的行人人身安全,避免了不必要的交通事故。硬件電路連接圖如圖3.5所示。圖3.5指示燈硬件電路連接圖交通燈LED的發(fā)光和熄滅的控制,是通過(guò)控制GPIO寄存器組來(lái)完成的,須先將引腳P1.18~P1.25通過(guò)引腳功能選擇寄存器PINSEL1,設(shè)置為GPIO方式;再設(shè)置GPIO方向寄存器1(IO1DIR),對(duì)應(yīng)的引腳設(shè)置為輸出方向。要點(diǎn)亮LED1~LED8需要使用GPIO清零寄存器1(IO1CLR)的對(duì)應(yīng)位設(shè)置為1,即在引腳P1.18~P1.25上加邏輯低電平,即可點(diǎn)亮這些燈。與之相反,要熄滅這些燈,則要用GPIO輸出置位寄存器1(IO1SET)將對(duì)應(yīng)的位置位即可。3.7數(shù)碼管倒計(jì)時(shí)顯示硬件設(shè)計(jì)數(shù)碼管是一種很普遍的顯示器件,數(shù)碼管的主要部分是七段發(fā)光二極管;數(shù)碼管分為共陰極和共陽(yáng)極兩種,為了保護(hù)各段LED,需外加限流電阻。有的產(chǎn)品還附加有一個(gè)小數(shù)點(diǎn),因此有人也稱(chēng)之為八段式發(fā)光二極管。圖3.6數(shù)碼管外形圖及陰陽(yáng)兩極連接示意圖如圖3.6所示,數(shù)碼管由8個(gè)發(fā)光段(第八段表示小數(shù)點(diǎn))的不同組合,從而實(shí)現(xiàn)十六進(jìn)制數(shù)的顯示。通過(guò)段選端可以控制數(shù)碼管顯示內(nèi)容,位選端用于控制整個(gè)數(shù)碼管是否工作:對(duì)于共陰極數(shù)碼管,位選端要接低電平,對(duì)于共陽(yáng)極數(shù)碼管,位選端接高電平。數(shù)碼管有兩種顯示方式:動(dòng)態(tài)顯示和靜態(tài)顯示。靜態(tài)顯示讓數(shù)碼管要點(diǎn)亮的數(shù)碼管同時(shí)持續(xù)點(diǎn)亮;動(dòng)態(tài)顯示則利用了人眼的視覺(jué)暫留原理,在一個(gè)時(shí)間內(nèi)只點(diǎn)亮一個(gè)數(shù)碼管。本次設(shè)計(jì)采用2位一體的數(shù)碼管,數(shù)碼管的2條位選線連接ARM的通用I/O口;數(shù)碼管的8個(gè)段選端連接74HC595芯片的并行I/O輸出接口,74HC595再與ARM的SPI0模式進(jìn)行通信,接受ARM發(fā)送過(guò)來(lái)的數(shù)據(jù)。數(shù)碼管硬件電路連接圖如圖3.7所示。圖3.7數(shù)碼管硬件電路連接圖3.8整機(jī)電路圖整機(jī)電路圖如圖3.8所示圖3.8整機(jī)電路圖第4章軟件設(shè)計(jì)4.1交通燈控制軟件流程圖圖4.1為ARM模擬交通燈控制程序流程圖,主程序主要完成倒計(jì)時(shí)顯示及控制蜂鳴器,中斷服務(wù)程序主要控制那些燈亮以及亮的時(shí)間。開(kāi)始開(kāi)始定時(shí)器0初始化初始化中斷,開(kāi)中斷交通燈倒計(jì)時(shí)顯示中斷服務(wù)程序流程圖系統(tǒng)保護(hù)現(xiàn)場(chǎng)車(chē)道紅燈計(jì)數(shù)變量-1車(chē)道綠燈閃爍計(jì)數(shù)-1車(chē)道紅燈閃爍計(jì)數(shù)-1黃燈閃爍計(jì)數(shù)-1車(chē)道閃爍黃燈計(jì)數(shù)-1車(chē)道綠燈計(jì)數(shù)-10<=Flag<50115<=flag<120110<=flag<11560<=flag<11050<=flag<55中斷返回55<flag<60flag==120flag=0,清零計(jì)數(shù)變量NYNYflag==55or115控制蜂鳴器響2秒NY主程序流程圖圖4.1ARM模擬交通燈控制程序流程圖4.2ARM交通燈模擬控制程序設(shè)計(jì)定時(shí)器控制原理:定時(shí)器對(duì)外設(shè)時(shí)鐘Fpclk周期進(jìn)行計(jì)數(shù),根據(jù)4個(gè)匹配寄存器的設(shè)定可設(shè)置為匹配(即達(dá)到匹配寄存器指定的定時(shí)值)時(shí)產(chǎn)生中斷或執(zhí)行其他操作。ARMLPC2138有兩個(gè)32位定時(shí)器,定時(shí)器0和定時(shí)器1,本次設(shè)計(jì)僅適用定時(shí)器0,選定定時(shí)器0中斷為向量IRQ。設(shè)置P0、P1口為GPIO輸出狀態(tài),初始化定時(shí)器,選定定時(shí)器0中斷為向量IRQ,并初始化SPI接口,根據(jù)設(shè)計(jì)要求編寫(xiě)軟件程序。根據(jù)事先畫(huà)好的程序流程圖,用C語(yǔ)言編寫(xiě)程序,在主程序中對(duì)需要用到的I/O口進(jìn)行定義,并設(shè)置相應(yīng)的I/O口,比如要求P1.16~P1.23引腳為GPIO功能,則通過(guò)對(duì)引腳功能選擇寄存器PINSEL1將對(duì)應(yīng)的引腳設(shè)置為GPIO方式并設(shè)置GPIO方向,在GPIO方向寄存器IO1DIR里設(shè)置,之后對(duì)定時(shí)器0進(jìn)行初始化,并開(kāi)相應(yīng)的中斷。然后進(jìn)入大循環(huán)進(jìn)行倒計(jì)時(shí)顯示、控制蜂鳴器的蜂鳴與否并判斷flag是否加到設(shè)定值,對(duì)flag加到設(shè)定值后進(jìn)行清零,讓flag重新計(jì)數(shù)。中斷服務(wù)程序的設(shè)計(jì),每隔一秒鐘定時(shí)器中斷一次,每中斷一次flag加1根據(jù)LED點(diǎn)亮的先后順序以及點(diǎn)亮的時(shí)間,分別編寫(xiě)相應(yīng)的程序。
總結(jié)通過(guò)這次交通燈設(shè)計(jì),本人在多方面都有所提高。通過(guò)這次交通燈設(shè)計(jì),培養(yǎng)綜合運(yùn)用所學(xué)知識(shí)、獨(dú)立分析和解決實(shí)際問(wèn)題的能力,培養(yǎng)創(chuàng)新意識(shí)和創(chuàng)新能力,并獲得科學(xué)研究的基礎(chǔ)訓(xùn)練。了解所選擇的ARM芯片各個(gè)引腳功能,工作方式,計(jì)數(shù)/定時(shí),I/O口,中斷等的相關(guān)原理,并鞏固學(xué)習(xí)嵌入式的相關(guān)內(nèi)容知識(shí)。通過(guò)軟硬件設(shè)計(jì)實(shí)現(xiàn)利用ARM芯片完成交通燈控制功能。首先查閱相關(guān)文獻(xiàn)資料,熟悉所選ARM芯片。第二步總體設(shè)計(jì)方案規(guī)劃,設(shè)計(jì)車(chē)輛遇到紅燈停綠燈行情況,紅綠燈時(shí)間均為60s,切換時(shí)間為10s,最后5s為黃燈閃爍。接下來(lái)系統(tǒng)硬件設(shè)計(jì),熟悉IO接口,定時(shí)器計(jì)數(shù)器工作原理。最后系統(tǒng)軟件設(shè)計(jì),包括交通信號(hào)燈的工作流程軟件實(shí)現(xiàn),用C語(yǔ)言編程。提高了計(jì)算能力,繪圖能力,熟悉了規(guī)范和標(biāo)準(zhǔn),同時(shí)各科相關(guān)的課程都有了全面的復(fù)習(xí),獨(dú)立思考的能力也有了提高。在這次設(shè)計(jì)過(guò)程中,體現(xiàn)出自己?jiǎn)为?dú)設(shè)計(jì)模具的能力以及綜合運(yùn)用知識(shí)的能力,體會(huì)了學(xué)以致用、突出自己勞動(dòng)成果的喜悅心情,從中發(fā)現(xiàn)自己平時(shí)學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補(bǔ)。
參考文獻(xiàn)[1]張崙編著;32位嵌入式系統(tǒng)硬件設(shè)計(jì)與調(diào)試[M];北京:機(jī)械工業(yè)出版社;2005.[2]馬洪連,等編著;嵌入式系統(tǒng)設(shè)計(jì)教程[M];北京:電子工業(yè)出版社;2006.[3]王田苗主編;嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開(kāi)發(fā)[M];北京:清華大學(xué)出版社;2018.[4]符意德編著;嵌入式系統(tǒng)設(shè)計(jì)原理及應(yīng)用[M];北京:清華大學(xué)出版社;2014.[5]周立功,ARM嵌入式系統(tǒng)基礎(chǔ)教程.北京:北京航空航天大學(xué)出版社,2005.[6]陳純.計(jì)算機(jī)圖像處理技術(shù)與算法.北京:清華大學(xué)出版社,2018.[7]沈勝慶,“嵌入式操作系統(tǒng)的內(nèi)核研究”[J]微計(jì)算機(jī)信息,2016.[8]N.Dillon,“VirtualTapeSetsSaveMoney,Time”,Computer-world32(5),61-61,February1998.[9]黃信兵,閻勤勞,孫晶,田澤.基于Linux的嵌入式LCD設(shè)計(jì)[J].微計(jì)算機(jī)信息,2006.[10]韓磊.基于ARM交通燈的設(shè)計(jì)及程序編譯優(yōu)化研究[D].上海工程技術(shù)大學(xué),2020.
附錄程序清單#include"config.h"#defineLED11<<18 //P1.18南北紅燈#defineLED21<<19 //P1.19南北綠燈#defineLED31<<20 //P1.20南北黃燈#defineLED41<<21 //P1.21南北紅燈#defineLED51<<22 //P1.22南北綠燈#defineLED61<<23 //P1.23南北黃燈#defineLED71<<24 //P1.24馬路紅燈#defineLED81<<25 //P1.25馬路綠燈#defineY0x00900000#defineR0x00240000#defineG0x00480000#defineSEL11<<26 //數(shù)碼管位選1#defineSEL21<<27 //數(shù)碼管位選2#defineHC595_CS0x00000200 //P0.9#defineBEEP0x00000100 //P0.8為蜂鳴器控制unsignedintdat,nb,h,flag;unsignedchartab[]={0XC0,0XF9,0XA4,0XB0,0X99, 0X92,0X82,0XF8,0X80,0X90};/************************************************************定時(shí)器0中斷服務(wù)子程序重裝初值,計(jì)數(shù)增減************************************************************/void__irqIRQ_Time0(void){ unsignedinti; if(flag<=50) { if(flag==0)nb=55; IO1CLR=LED1|LED4|LED8;//車(chē)道紅馬路綠 IO1SET=~(LED1|LED4|LED8); nb--;//南北紅燈時(shí)間秒減1 } if((flag>50)&&(flag<55)) { i=IO1PIN; if((i&R)==0) IO1SET=R; else IO1CLR=R;//紅燈每秒閃爍一次 nb--; //紅燈時(shí)間減1 } if(flag==55) { IO1CLR=LED3|LED6|LED7;//車(chē)道黃馬路紅 IO1SET=~(LED3|LED6|LED7); h=5; } if((55<flag)&&(flag<60)) { i=IO1SET; if((i&Y)==0) IO1SET=Y; else { IO1CLR=Y; } //黃燈閃爍 h--; //黃燈時(shí)間秒減1 }if((60<=flag)&&(flag<110)) { if(flag==60)nb=51; IO1CLR=LED2|LED5|LED7;//車(chē)道綠馬路紅 IO1SET=~(LED2|LED5|LED7); nb--;//綠燈時(shí)間減1 }if((110<=flag)&&(flag<115))//計(jì)數(shù)慢一個(gè)周期后重新開(kāi)始計(jì)數(shù) { i=IO1SET; if((i&G)==0) IO1SET=G; else { IO1CLR=G; } //綠燈閃爍 nb--; //綠燈時(shí)間減1 } if(flag==115) { h=5; IO1CLR=LED3|LED6|LED7;//車(chē)道黃馬路紅 IO1SET=~(LED3|LED6|LED7); } if((115<flag)&&(flag<120)) { i=IO1SET; if((i&Y)==0) IO1SET=Y; else { IO1CLR=Y; } //黃燈閃爍 h--; //黃燈時(shí)間減1 }flag++;T0IR=0x01;//清除中斷標(biāo)志VICVectAddr=0x00;//通知VIC中斷處理結(jié)束}/**************************************************************Time0Init()定時(shí)器0定時(shí)中斷初始化*************************************************************/voidTime0Init(void){T0PR=99;//設(shè)置定時(shí)器0分頻為100分頻得110592HzT0MCR=0x03;//匹配通道0匹配中斷并復(fù)位T0TCT0MR0=110592;//比較值(1秒定時(shí)值)T0TCR=0x03;//啟動(dòng)并復(fù)位T0TCT0TCR=0x01;VICIntSelect=0x00;//所有中斷通道設(shè)置為IRQ中斷VICVectCntl0=0x24;//定時(shí)器0中斷通道分配最高優(yōu)先級(jí)VICVectAddr0=(uint32)IRQ_Time0;//設(shè)置中斷服務(wù)程序地址向量VICIntEnable=0x00000010;//使能定時(shí)器0中斷}/***********************************************************voidSPImasterInit()SPI初始化***********************************************************/voidSPImasterInit(){ unsignedintfdiv; fdiv=8; S0PCCR=fdiv&0xfe; S0PCR=(0<<3)|(1<<4)|(1<<5)|(0<<6)|(1<<7);}/*************************************************************HC595_SendDat()向74HC595發(fā)送一字節(jié)數(shù)據(jù)************************************************************/voidHC595_SendDat(unsignedintdat){ IO0CLR=HC595_CS; S0PDR=dat; while(0==(S0PSR&0x80));//等待數(shù)據(jù)發(fā)送完畢 IO0SET=HC595_CS;} /************************************************************Delay_NS()長(zhǎng)軟件1ms延時(shí)***************************************************************/voidDelay_Ns(unsignedintdly){ while(dly--) //dlyms延時(shí) { unsignedintj; for(j=1;j<=613;j++) //1ms延時(shí) ; }}/*************************************************************voidLED_Display()*功能:LED數(shù)碼管顯示************************************************************/voidLED_Display(){ if((flag<55)||((60<=flag)&&(flag<115))) { dat=nb/10; //顯示十位數(shù)據(jù) HC595_SendDat(tab[dat]); IO1SET=SEL1; //打開(kāi)數(shù)碼管位選1 Delay_Ns(20)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店管理師筆試題及客戶服務(wù)技巧含答案
- 家具制造企業(yè)營(yíng)銷(xiāo)部長(zhǎng)面試題集
- 汽車(chē)銷(xiāo)售客服面試問(wèn)題與答案
- 通信工程師面試題及5G網(wǎng)絡(luò)架構(gòu)含答案
- 2025年智能化食品加工設(shè)備研發(fā)項(xiàng)目可行性研究報(bào)告
- 2025年人工智能在醫(yī)療健康中的應(yīng)用可行性研究報(bào)告
- 2025年智能化運(yùn)營(yíng)管理系統(tǒng)項(xiàng)目可行性研究報(bào)告
- 2025年網(wǎng)絡(luò)直播平臺(tái)創(chuàng)新項(xiàng)目可行性研究報(bào)告
- 2025年老年人日間照護(hù)中心建設(shè)可行性研究報(bào)告
- 星辰光芒之旅
- CJ/T 454-2014城鎮(zhèn)供水水量計(jì)量?jī)x表的配備和管理通則
- 人防工程設(shè)計(jì)培訓(xùn)課件
- 食品供應(yīng)商管理方案
- 2025年幼兒園教師招聘考試試卷及答案
- 《企業(yè)組織管理概述》課件
- 采購(gòu)組長(zhǎng)述職報(bào)告
- 世界贈(zèng)予我的合唱簡(jiǎn)譜SSAA
- 加氣站氣瓶充裝質(zhì)量保證體系手冊(cè)2024版
- NB/T 11553-2024煤礦地表移動(dòng)觀測(cè)與數(shù)據(jù)處理技術(shù)規(guī)范
- 鹽城方言大詞典ab
- 華邦液壓真空滾揉機(jī)安全操作規(guī)程
評(píng)論
0/150
提交評(píng)論