基于ARM嵌入式系統(tǒng)的交通燈設(shè)計說明_第1頁
基于ARM嵌入式系統(tǒng)的交通燈設(shè)計說明_第2頁
基于ARM嵌入式系統(tǒng)的交通燈設(shè)計說明_第3頁
基于ARM嵌入式系統(tǒng)的交通燈設(shè)計說明_第4頁
基于ARM嵌入式系統(tǒng)的交通燈設(shè)計說明_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、嵌入式系統(tǒng)專業(yè):電子信息科學(xué)與技術(shù)學(xué)號:姓名:學(xué)院:基于 ARM 嵌入式系統(tǒng)的交通燈設(shè)計摘要: 隨著移動設(shè)備的流行和發(fā)展,嵌入式系統(tǒng)已經(jīng)成為一個熱點(diǎn)。它并不是最近出現(xiàn)的新技術(shù),只是隨著微電子技術(shù)和計算機(jī)技術(shù)的發(fā)展,微控制芯片功能越來越大, 而嵌入微控制芯片的設(shè)備和系統(tǒng)越來越多,從而使得這種技術(shù)越來越引人注目。它對軟硬件的體積大小、成本、功耗和可靠性都提出了嚴(yán)格的要求。嵌入式系統(tǒng)的功能越來越強(qiáng)大,實(shí)現(xiàn)也越來越復(fù)雜,隨之出現(xiàn)的就是可靠性大大降低。 最近的一種趨勢是一個功能強(qiáng)大的嵌入式系統(tǒng)通常需要一種操作系統(tǒng)來給予支持,這種操作系統(tǒng)是已經(jīng)成熟并且穩(wěn)定的,可以是嵌入式的Linux , WINCE等等。

2、本文所要研究的就是基于ARM 嵌入式系統(tǒng)的交通燈系統(tǒng)的設(shè)計與實(shí)現(xiàn)。本設(shè)計采用了飛利浦的32 位 ARM 微處理器LPC2138 作為核心處理器【關(guān)鍵詞】嵌入式系統(tǒng)ARM LPC2138 交通燈Under the ARM embedded system s the system of traffic lightsAbstract : With the prevalence of mobile devices and development of embedded systems has become a hot spot. It is not a recent emergence of new

3、technology, just as micro-electronics technology and the development of computer technology, micro-chip control functions more and more, and control of micro-chips embedded in the equipment and systems more and more, making the technology more Reply People attention. Hardware and software of its siz

4、e, cost, power consumption and reliability have made stringent requirements. Embedded systems function more powerful, and more and more complicated, then there is the reliability greatly reduced. A recent trend is a powerful embedded systems usually need a operating system to support the operating s

5、ystem is already mature and stable, can be embedded Linux, WINCE,and so on. This paper is to study under the ARM embedded system sthe system of traffic lights design and implementation. This design uses Philipss 32 as the LPC2138 ARM microprocessor core processors.【 Keywords 】 Embedded Systems ARM L

6、PC2138 traffic lights目錄1 設(shè)計的目的與意義 42 設(shè)計的內(nèi)容 43 設(shè)計方案 51.1 設(shè)計思路 51.2 總體設(shè)計框圖 54 硬件設(shè)計 64.1 LPC2138芯片介紹及設(shè)計 64.2 LPC2138芯片最小系統(tǒng)硬件設(shè)計 74.3 系統(tǒng)電源電路設(shè)計 74.4 晶振與復(fù)位電路 84.5 LED 循環(huán)顯示設(shè)計 84.6 數(shù)碼管倒計時顯示硬件設(shè)計 94.7 蜂鳴器設(shè)計 1 05 軟件設(shè)計 105.1 交通燈控制軟件流程圖 1 05.2 ARM 交通燈模擬控制程序設(shè)計 116 設(shè)計心得體會及總結(jié) 127 參考文獻(xiàn) 13一 設(shè)計的目的與意義通過設(shè)計,培養(yǎng)自己綜合運(yùn)用所學(xué)知識、獨(dú)

7、立分析和解決實(shí)際問題的能力,培養(yǎng)創(chuàng)新意識和創(chuàng)新能力,并獲得科學(xué)研究的基礎(chǔ)訓(xùn)練,加深對ARM 芯片的了解;熟悉ARM 芯片各個引腳的功能,工作方式,計數(shù)/ 定時, I/O 口,中斷等相關(guān)原理,鞏固學(xué)習(xí)嵌入式的相關(guān)內(nèi)容知識。二 設(shè)計的內(nèi)容利用 ARM 芯片模擬實(shí)現(xiàn)交通燈控制。自行選擇所需ARM 芯片,查閱相關(guān)文獻(xiàn)資料,熟悉所選ARM 芯片,了解所選ARM 芯片各個引腳功能,工作方式,計數(shù)/ 定時, I/O 口,中斷等相關(guān)原理,通過軟硬件設(shè)計實(shí)現(xiàn)利用ARM 芯片完成交通燈的模擬控制。三設(shè)計方案3.1 設(shè)計思路利用LPC2131ARM 芯片實(shí)現(xiàn)單路交通燈的控制:a實(shí)現(xiàn)紅、綠、黃燈的循環(huán)控制。使用紅、黃

8、、綠三種不同顏色的 LED燈實(shí)現(xiàn)此功能, 由南往北方向紅、黃、綠三個燈依次接在P1.18、P1.19、P1.20上,由北往南方向的紅、黃、綠三個燈依次接在 P1.21、P1.22、P1.23上,人行道用紅、綠兩個燈控制,依次接在 P1.24、P1.25上,用軟件控制燈的亮與滅來控制車輛和行人的通行。b用數(shù)碼管顯示倒計時??梢岳脛討B(tài)顯示或靜態(tài)顯示,串行并出或者并行并出實(shí)現(xiàn)。c南北方向控制車輛的綠燈熄滅的同時,控制蜂鳴器響2秒來作為警報。蜂鳴器接P0.7引腳。交通路口示意圖如圖 3.1車輛遇到紅燈停綠燈行的行走情況,紅綠燈時間均為 60s , 切換時間為10s ,最后5s為黃燈閃爍。公 共 場

9、所圖3.13.2 總體設(shè)計框圖用ARM7系列芯片LPC2138作為系統(tǒng)的主控芯片,控制交通燈的循環(huán)點(diǎn)亮并顯示燈 亮?xí)r間(采用倒計時顯示),當(dāng)定時時間到的時候控制蜂鳴器響來提醒人們注意紅綠燈的狀O圖3.2四硬件設(shè)計根據(jù)設(shè)計任務(wù)要求,自行選擇電子元件,畫出電氣原理圖,并調(diào)試。一個完整的系統(tǒng)除了主控芯片以外,還需配上電源系統(tǒng)、時鐘電路、復(fù)位電路等。獨(dú)立的芯片是不能工作的。4.1 LPC2138 芯片介紹及設(shè)計LPC2138 是基于一個支持實(shí)時仿真和嵌入式跟蹤的32位 ARM7TDMI-STM CPU的微控制器,并帶有 32kB 的嵌入的高速 Flash存儲器。128位寬度的存儲器接口和獨(dú) 特的加速結(jié)

10、構(gòu),使32位代碼能夠在最大時鐘速率下運(yùn)行。對代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb.模式將代碼規(guī)卞II降低超過 30% ,而性能的損失卻很小。較小的封裝和 極低的功耗使 LPC2131 可理想地用于小型系統(tǒng)中,具有以下一些特性: 小型LQFP64封裝 8k的片內(nèi)靜態(tài)RAM和32k的片內(nèi)Flash 程序存儲器。 片內(nèi)Boot裝載軟件實(shí)現(xiàn)在系統(tǒng)/在應(yīng)用中編程(ISP/SAP )單扇 區(qū)或整片擦除時間為 400ms 。256字節(jié)行編程時間為 1ms。 1個10位D/A轉(zhuǎn)換器 兩個32位定時器/計數(shù)器(帶四路捕獲和四路比較通道)、PWM單元(6路輸出)和看門狗 實(shí)時時鐘具有獨(dú)立的電源和時鐘源,

11、在節(jié)電模式下極大地降低了功耗 多個串行接口,包括 2個16C550 工業(yè)標(biāo)準(zhǔn) UART、2個高速I2C接口 (400 kbit/s )、SPITM 和具有緩沖作用和數(shù)據(jù)長度可變功能的SSP。多達(dá)47個5V的通用I/O 口;向量中斷控制器,可配置優(yōu)先級和向量 地址 9個邊沿或電平觸發(fā)的外部中斷引腳 片內(nèi)晶振頻率范圍:130 MHz 。 通過片內(nèi)PLL可實(shí)現(xiàn)最大為60MHz的CPU操作頻率,PLL的穩(wěn)定時間 為 100us 低功耗模式:空閑和掉電。 可通過個別使能/禁止外部功能和外圍時鐘分頻來優(yōu)化功耗。 通過外部中斷將處理器從掉電模式中喚醒。 單電源,具有上電復(fù)位(POR)和掉電檢測(BOD )電

12、路: CPU 操作電壓范圍:3.0V3.6 V (3.3 V 10 % ), I/O 口可承受5V的電壓。4.2 LPC2138 芯片最小系統(tǒng)硬件設(shè)計圖4.5為LPC2138芯片的原理圖,64個引腳,采用3.3V電源供電,設(shè)計所需外接 器件的網(wǎng)絡(luò)名已經(jīng)標(biāo)出。PCl21 IWMi AD.6 CAPUP0.22- ADL? CAK.C hLATCK。RTXCP1.1P7RACEPKT3RTXC:VbsVDDAPLHTRACEPKT1PO.2J 心0用 Jig I DPL1-TRACEPK71POfcADO_ 1CAM.1MAT02血* ADC .2 CAP” MATO 3P0.30 ADO JEI

13、CTJ CAPO.OP0J7 GAPJ_2 MATH 2 敞 16 UKmiATC工七 APOH Ml5.RIlIDn:ADI5 PL21PIFESTAT0PLltfTRACEPKTOPO14 DCD1 SICT: SDA1 PUiPWEiTATlPO.U DTR1 NIATl.l AD14PC.l i DSRl KUTl X API 3PD-ll CTSl.CAPl.t 0cLiPL23.MPESTAT2PO.1O.RTS1 CAPl.C ADU PC P rbOl.PWKEJKTJ POT1D1E皿 I圖4.14.3 系統(tǒng)電源電路設(shè)計本電源運(yùn)用5V的直流電源(圖3.5所示)。通過DS243

14、4芯片將5V電壓轉(zhuǎn)換為3.3V 電壓,為LPC2138 芯片供電,LPC2138 芯片所能承受的電壓范圍是 3V3.6V (圖4.2 所示)。通過濾波電路(圖 4.3所示)可以很好地濾去轉(zhuǎn)換后電壓中的毛刺。圖4.2圖4.34.4 晶振與復(fù)位電路系統(tǒng)的晶振電路如圖 4.4所示LPC2138芯片采用11.0592MHz的晶振作為振蕩時鐘源,通過對芯片的進(jìn)行軟件設(shè)計可以將晶體振蕩器的頻率分頻為所需的頻率;系統(tǒng)的復(fù)位電路如圖4.5所示,SP708S芯片的7號引腳連接到主控芯片的復(fù)位引腳( nRST )上,按下復(fù)位 鍵S2時,系統(tǒng)將會復(fù)位到初始的狀態(tài)。圖4.4圖4.54.5 LED循環(huán)顯示設(shè)計由南向北和

15、由北向南車道各用一組紅、綠、黃三色的指示燈,指揮車輛通行。綠燈是 通行信號,面對綠燈的車輛可以直行,紅燈是禁止通行信號, 面對紅燈的車輛必須在路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以繼續(xù)行進(jìn)。具體紅綠燈時間分配時間如表4-1所示。表4 1 :50s5s5s50s5s5s南北通道綠燈亮綠燈閃黃燈閃紅燈亮紅燈閃黃燈閃人行道紅燈亮紅燈亮紅燈亮綠燈亮紅燈亮紅燈亮上表說明南北通道綠燈亮、綠燈閃黃燈閃時人行道都是紅燈亮,只有車道紅燈亮(車輛完全停下來)時人行道綠燈才亮,這樣保證了過馬路的行人人身安全,避免了不必要的交通事故。硬彳電路連接圖

16、如圖4.6所示圖4.6交通燈LED的發(fā)光和熄滅的控制,是通過控制GPIO寄存器組來完成的,須先將引腳P1.18P1.25通過引腳功能選擇寄存器 PINSEL1 ,設(shè)置為GPIO方式;再設(shè)置 GPIO方 向寄存器1 (IO1DIR ),對應(yīng)的引腳設(shè)置為輸出方向。要點(diǎn)亮LED1LED8需要使用GPIO清零寄存器1 (IO1CLR )的對應(yīng)位設(shè)置為1,即在引腳P1.18P1.25上加邏輯低電平, 即可點(diǎn)亮這些燈。與之相反,要熄滅這些燈,則要用 GPIO輸出置位寄存器1 (IO1SET ) 將對應(yīng)的位置位即可。4.6 數(shù)碼管倒計時顯示硬件設(shè)計數(shù)碼管是一種很普遍的顯示器件,數(shù)碼管的主要部分是七段發(fā)光二極

17、管;數(shù)碼管分為共陰極和共陽極兩種,為了保護(hù)各段LED ,需外加限流電阻。有的產(chǎn)品還附加有一個小數(shù)點(diǎn),因此有人也稱之為八段式發(fā)光二極管。db f rfFr網(wǎng) 內(nèi)rf- _1 EO 0-A 0 a *1圖4.7如圖4.7所示,數(shù)碼管由8個發(fā)光段(第八段表示小數(shù)點(diǎn))的不同組合,從而實(shí)現(xiàn)十六進(jìn)制數(shù)的顯示。通過段選端可以控制數(shù)碼管顯示內(nèi)容,位選端用于控制整個數(shù)碼管是否工作:對于共陰極數(shù)碼管,位選端要接低電平,對于共陽極數(shù)碼管,位選端接高電平。數(shù)碼管 有兩種顯示方式:動態(tài)顯示和靜態(tài)顯示。靜態(tài)顯示讓數(shù)碼管要點(diǎn)亮的數(shù)碼管同時持續(xù)點(diǎn)亮;動態(tài)顯示則利用了人眼的視覺暫留原理,在一個時間內(nèi)只點(diǎn)亮一個數(shù)碼管。本次設(shè)計采

18、用2位一體的數(shù)碼管,數(shù)碼管的2條位選線連接 ARM的通用I/O 口;數(shù)碼管的8個段選端連接74HC595 芯片的并行I/O輸出接口,74HC595 再與ARM的SPI0模式進(jìn)行通信,接受ARM發(fā)送過來的數(shù)據(jù)。數(shù)碼管硬件電路連接圖如圖4.8所示。圖4.84.7 蜂鳴器設(shè)計將蜂鳴器正極端接電源,負(fù)極端通過三極管接地,三極管基極通過電阻接到LPC2138芯片的P0.8引腳上。具體硬件電路連接圖如圖4.9所示圖4.9五軟件設(shè)計5.1 交通燈控制軟件流程圖圖5.1為ARM模擬交通燈控制程序流程圖,主程序主要完成倒計時顯示及控制蜂鳴器,中斷服務(wù)程序主要控制那些燈亮以及亮的時間。N .主程序流程圖開始中斷服

19、務(wù)程序流程圖系統(tǒng)保護(hù)現(xiàn)場定時器0初始化初始化中斷,開中斷交通燈倒計時顯示flag=120flag=0,清零計數(shù)變量flag=550r115控制蜂鳴器響2秒0=Flag5050=flag55flag60=flag10110=flag15115=flag20中斷返回車道紅燈計數(shù)變量-1車道紅燈閃爍計數(shù)-1黃燈閃爍計數(shù)-1車道綠燈計數(shù)-1車道綠燈閃爍計數(shù)-1車道閃爍黃燈計數(shù)-1圖5.15.2 ARM交通燈模擬控制程序設(shè)計定時器控制原理:定時器對外設(shè)時鐘 Fpclk周期進(jìn)行計數(shù),根據(jù) 4個匹配寄存器的設(shè) 定可設(shè)置為匹配(即達(dá)到匹配寄存器指定的定時值)時產(chǎn)生中斷或執(zhí)行其他操作。ARMLPC2138 有兩

20、個32位定時器,定時器 0和定時器1 ,本次設(shè)計僅適用定時器 0,選定定時器0 中斷為向量IRQ。設(shè)置 P0 、 P1 口為 GPIO 輸出狀態(tài),初始化定時器,選定定時器0 中斷為向量IRQ ,對 VICIntEnable 、 VICIntSelect 、 VICvectCntl 進(jìn)行設(shè)置,初始化 SPI 接口, 根據(jù)設(shè)計要求編寫軟件程序。根據(jù)事先畫好的程序流程圖,用C 語言編寫程序。在主程序中對需要用到的I/O 口進(jìn)行定義,并設(shè)置相應(yīng)的I/O 口,比如要求 P1.18P1.25引腳為GPIO功能,則通過對引腳功能選擇寄存器 PINSEL1 將對應(yīng)的引腳設(shè)置為GPIO 方式并設(shè)置GPIO 方向

21、, 在 GPIO方向寄存器IO1DIR 里設(shè)置,之后對定時器0 進(jìn)行初始化,并開相應(yīng)的中斷。然后進(jìn)入大循環(huán)進(jìn)行倒計時顯示、控制蜂鳴器的蜂鳴與否并判斷flag 是否加到設(shè)定值,對flag 加到設(shè)定值后進(jìn)行清零,讓flag 重新計數(shù)。中斷服務(wù)程序的設(shè)計,每隔一秒鐘定時器中斷一次,每中斷一次flag 加 1 根據(jù) LED 點(diǎn)亮的先后順序以及點(diǎn)亮的時間,分別編寫相應(yīng)的程序。設(shè)計為系統(tǒng)上電即點(diǎn)亮車道紅燈以及馬路綠燈,倒計時50s 紅燈開始閃爍,同時馬路紅燈亮,紅燈閃5s 接著轉(zhuǎn)為黃燈閃5s ,然后車輛通道轉(zhuǎn)為綠燈亮,50s 后綠燈閃5s , 黃燈再閃5s 之后又回到紅燈亮,人行道只在車輛通道紅燈時才亮綠

22、燈。這主要靠在中斷服務(wù)程序中對計數(shù)值flag 的判斷來對正在點(diǎn)亮的燈進(jìn)行定時實(shí)現(xiàn)程序詳細(xì)清單見附錄1六 設(shè)計心得體會及總結(jié)一 周的課程設(shè)計結(jié)束了,在這次的課程設(shè)計中不僅檢驗(yàn)了我所學(xué)習(xí)的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設(shè)計過程中,與同學(xué)分工設(shè)計,和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。學(xué)會了合作,學(xué)會了運(yùn)籌帷幄,學(xué)會了寬容,學(xué)會了理解,也學(xué)會了做人與處世。課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實(shí)踐訓(xùn)練,著是我們邁向社會,從事職業(yè)工作前一個必不少的過程 ”千里之行始于足下”, 通過這次課程設(shè)計,我深深體會到這句千古名言的真正含義我今天認(rèn)真的進(jìn)行課程設(shè)計,學(xué)會

23、腳踏實(shí)地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅(jiān)實(shí)的基礎(chǔ)通過這次交通燈設(shè)計,本人在多方面都有所提高。通過這次交通燈設(shè)計,培養(yǎng)綜合運(yùn)用所學(xué)知識、獨(dú)立分析和解決實(shí)際問題的能力,培養(yǎng)創(chuàng)新意識和創(chuàng)新能力,并獲得科學(xué)研究的基礎(chǔ)訓(xùn)練。了解所選擇的ARM 芯片各個引腳功能,工作方式,計數(shù)/ 定時, I/O 口,中斷等的相關(guān)原理,并鞏固學(xué)習(xí)嵌入式的相關(guān)內(nèi)容知識。通過軟硬件設(shè)計實(shí)現(xiàn)利用ARM 芯片完成交通燈控制功能。首先查閱相關(guān)文獻(xiàn)資料,熟悉所選ARM 芯片。第二步總體設(shè)計方案規(guī)劃,設(shè)計車輛遇到紅燈停綠燈行情況,紅綠燈時間均為60s ,切換時間為10s ,最后 5s 為黃燈閃爍。接下來系統(tǒng)硬件設(shè)計,

24、熟悉IO 接口,定時器計數(shù)器工作原理。最后系統(tǒng)軟件設(shè)計,包括交通信號燈的工作流程軟件實(shí)現(xiàn),用C 語言編程。提高了計算能力,繪圖能力,熟悉了規(guī)范和標(biāo)準(zhǔn),同時各科相關(guān)的課程都有了全面的復(fù)習(xí),獨(dú)立思考的能力也有了提高。在這次設(shè)計過程中,體現(xiàn)出自己單獨(dú)設(shè)計模具的能力以及綜合運(yùn)用知識的能力,體會了學(xué)以致用、突出自己勞動成果的喜悅心情,從中發(fā)現(xiàn)自己平時學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補(bǔ)。在此感謝我們的徐老師.,老師嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣; 老師循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪;這次模具設(shè)計的每個實(shí)驗(yàn)細(xì)節(jié)和每個數(shù)據(jù),都離不開老師您的細(xì)心指導(dǎo)。而您開朗的個性和寬容的態(tài)

25、度,幫助我能夠很順利的完成了這次課程設(shè)計。同時感謝對我?guī)椭^的同學(xué)們,謝謝你們對我的幫助和支持,讓我感受到同學(xué)的友誼。由于本人的設(shè)計能力有限,在設(shè)計過程中難免出現(xiàn)錯誤,懇請老師們多多指教,我十分樂意接受你們的批評與指正,本人將萬分感謝。七 參考文獻(xiàn)【 1 】 . 周立功主編;ARM 嵌入式系統(tǒng)基礎(chǔ)教程M (第 2 版) ;北京:北京航空航天大學(xué)出版社; 2008.【2】.張禍編著;32位嵌入式系統(tǒng)硬彳設(shè)計與調(diào)試M;北京:機(jī)械工業(yè)出版社; 2005.【 3】 .馬洪連,等編著;嵌入式系統(tǒng)設(shè)計教程M ;北京:電子工業(yè)出版社;2006.【 4】 .王田苗主編;嵌入式系統(tǒng)設(shè)計與實(shí)例開發(fā)M ;北京:清華

26、大學(xué)出版社;2003.【 5】 .符意德編著;嵌入式系統(tǒng)設(shè)計原理及應(yīng)用M ;北京:清華大學(xué)出版社;2004.【 6 】 . 沈文斌主編;嵌入式硬件系統(tǒng)設(shè)計與開發(fā)實(shí)例詳解M ; 北京: 電子工業(yè)出版社;2005.【 7】 .江思敏,陳明編著;Protel 電路設(shè)計教程M (第 2 版) ;北京:清華大學(xué)出版社;2006.【 8】 .羅蕾主編;嵌入式實(shí)時操作系統(tǒng)及應(yīng)用開發(fā)M ;北京:北京航空航天大學(xué)出版社;2005.【 9】 .PHILIPS 公司; LPC2114/2124/2138/2212/2214 User Manual; 2004.【 10 】 . 譚浩強(qiáng)編著;C 語言程序設(shè)計M (第

27、3 版) ;北京:清華大學(xué)出版社;2005.【 11 】田澤 . 嵌入式系統(tǒng)開發(fā)與應(yīng)用M ; .北京:北京航空航天大學(xué)出版社,2005.【 12 】馬忠梅,英惠.ARM 嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)(第2 版 )M. ;北京:北京航空航天大學(xué)出版社,2007.【 13 】嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu):C 語言版 M. 北京:清華大學(xué)出版社,1996.【 14 】 王宇行 .ARM 程序分析與設(shè)計M. 北京:北京航空航天大學(xué)出版社,2008.【 15 】胥靜 . 嵌入式系統(tǒng)設(shè)計與開發(fā)實(shí)例詳解:基于ARM 的應(yīng)用 M. 北京:北京航空航天大學(xué)出版社,2005.1:#include config.h#de

28、fine LED1 118#define LED2 119#define LED3 120#define LED4 121#define LED5 122#define LED6 123#define LED7 124#define LED8 125#define Y 0x00900000#define R 0x00240000#define G 0x00480000#define SEL1 126#define SEL2 127#define HC595_CS 0x00000200#define BEEP 0x00000100 unsigned int dat,nb,h,flag;/P1.1

29、8/P1.19/P1.20/P1.21/P1.22/P1.23/P1.24/P1.25南北紅燈 南北綠燈 南北黃燈 南北紅燈 南北綠燈 南北黃燈 馬路紅燈 馬路綠燈/ 數(shù)碼管位選1/ 數(shù)碼管位選2/P0.9/P0.8 為蜂鳴器控制unsigned char tab=0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90;/*定時器 0 中斷服務(wù)子程序重裝初值,計數(shù)增減*/void _irqIRQ_Time0(void)unsigned int i;if(flag50)&(flag55)i=IO1PIN;if(i&R)=0)IO1SET=R;else/

30、 車道紅馬路綠/ 南北紅燈時間秒減1IO1CLR=R; nb-;/ 紅燈每秒閃爍一次/ 紅燈時間減1if(flag=55)IO1CLR=LED3|LED6|LED7;/ 車道黃馬路紅IO1SET=(LED3|LED6|LED7);h=5;if(55flag)&(flag60)i=IO1SET;if(i&Y)=0)IO1SET=Y;else IO1CLR=Y;h-;if(60=flag)&(flag110)if(flag=60) nb=51;IO1CLR=LED2|LED5|LED7;IO1SET=(LED2|LED5|LED7); nb-;/ 綠燈時間減1if(110=flag)&(flag1

31、15)i=IO1SET;if(i&G)=0)IO1SET=G;elseIO1CLR=G; nb-;if(flag=115)h=5;IO1CLR=LED3|LED6|LED7;IO1SET=(LED3|LED6|LED7);if(115flag)&(flag120)/ 黃燈閃爍/ 黃燈時間秒減1/ 車道綠馬路紅/ 計數(shù)慢一個周期后重新開始計數(shù)/ 綠燈閃爍/ 綠燈時間減1/ 車道黃馬路紅i=IO1SET;if(i&Y)=0)IO1SET=Y;elseIO1CLR=Y;h-;flag+;T0IR = 0x01;VICVectAddr = 0x00;/ 黃燈閃爍/ 黃燈時間減1/ 清除中斷標(biāo)志/ 通知

32、 VIC 中斷處理結(jié)束/*Time0Init() 定時器 0 定時中斷初始化/*void Time0Init(void) T0PR = 99;110592HzT0MCR = 0x03;T0MR0 = 110592;T0TCR = 0x03;T0TCR = 0x01;VICIntSelect = 0x00;VICVectCntl0 = 0x24;VICVectAddr0 = (uint32)IRQ_Time0;VICIntEnable = 0x00000010;/ 設(shè)置定時器0 分頻為 100 分頻得/ 匹配通道0 匹配中斷并復(fù)位T0TC/ 比較值 (1 秒定時值)/ 啟動并復(fù)位T0TC/ 所有中斷通道設(shè)置為IRQ 中斷/ 定 時 器 0 中 斷 通 道 分 配 最 高 優(yōu) 先 級/ 設(shè)置中斷服務(wù)程序地址向量/ 使能定時器0 中斷/* void SPImasterInit() SPI 初始化*/void SPImasterInit()unsigned int fdiv;fdiv=8;S0PCCR=fdiv&0xfe;S0PCR=(03)|(14)|(15)|(06)|(1

溫馨提示

  • 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

提交評論