版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
......嵌入式系統(tǒng)設計專題實踐交通燈控制系統(tǒng)專業(yè):電子信息工程班級:電子1102班學生姓名:王石巖學號:1110910213指導教師:高華.....目錄HYPERLINK一、方案設計與論證3HYPERLINK1.1系統(tǒng)任務描述3HYPERLINK1.2系統(tǒng)方案設計4HYPERLINK1.3系統(tǒng)框圖5HYPERLINK二、硬件電路設計5HYPERLINK2.1K60P144M100SF2RM最小系統(tǒng)設計5HYPERLINK2.2數(shù)碼管顯示模塊設計7HYPERLINK2.3交通燈指示模塊設計8HYPERLINK三、系統(tǒng)軟件設計8HYPERLINK3.1系統(tǒng)軟件流程圖8HYPERLINK3.2500ms定時器子程序設計9HYPERLINK3.3計數(shù)顯示子程序設計10HYPERLINK四、系統(tǒng)調(diào)試12HYPERLINK4.1硬件調(diào)試11HYPERLINK4.2軟件調(diào)試11HYPERLINK4.3綜合調(diào)試12HYPERLINK五、總結12HYPERLINK六、心得體會12HYPERLINK七、附錄13HYPERLINK7.1系統(tǒng)實物圖13HYPERLINK7.2程序代碼14HYPERLINK7.3參考文獻19摘要當前伴隨著信息化社會的快速發(fā)展,國家不斷走向繁榮昌盛。與此同時,快節(jié)奏也成為當代人們在各大城市的主要特征。當今社會上汽車越來越多,為了減少城市交通阻塞和維持良好穩(wěn)定的交通次序、加強對道路的管理力度。因此合理設計交通燈控制系統(tǒng)對維護道路安全和社會交通次序有著不可替代的作用。本文主要闡述交通燈控制系統(tǒng)的設計原理和過程,采用飛思卡爾K60作為系統(tǒng)的控制芯片,對系統(tǒng)的軟件和硬件進行模塊化設計,最終實現(xiàn)了基于飛思卡爾K60芯片的交通燈控制系統(tǒng)。該系統(tǒng)用紅、黃、綠三種顏色的發(fā)光二極管來代替三種實際中的交通燈,在控制器的驅(qū)動下來形象化的演示實際中交通燈的運行模式和工作過程。最終該系統(tǒng)實現(xiàn)了對車輛直行、左轉(zhuǎn)、停止等待等基本功能。能夠有效地對城市中的車輛產(chǎn)生明確的指導和控制。關鍵詞:交通燈K60P144M100SF2RM數(shù)碼管定時顯示一、方案設計與論證系統(tǒng)任務描述本次設計中根據(jù)實際需要,結合嵌入式系統(tǒng)的特點,完成對交通燈的控制系統(tǒng)設計。系統(tǒng)功能包括實現(xiàn)對車輛的直行,左拐、停止等待等功能?;陲w思卡爾K60P144M100SF2RM控制器,實現(xiàn)對車輛進行指導控制。本系統(tǒng)中主要由控制器最小系統(tǒng)、數(shù)碼管顯示模塊、交通燈模塊等相關模塊構成。系統(tǒng)任務包括三個環(huán)節(jié)。假設十字路口南北方向為主干車道,東西方向為支干道。狀態(tài)一:南北方向、東西方向均設有紅、黃、綠三個指示燈。首先南北方向綠燈亮一分鐘、東西方向紅燈亮一分鐘。此時處于向北方向的車輛處于綠燈狀態(tài),可以直行通過十字路口,而處于向東方向的車輛由于是紅燈等待則不能前行,需在線外等待向東方向的綠燈來臨才能前行。狀態(tài)二:一分鐘之后,北方向的綠燈變?yōu)辄S燈亮,且亮十秒鐘。而在向東方向的紅燈還沒轉(zhuǎn)變狀態(tài),紅燈此時會連續(xù)閃爍10秒鐘,作為東西方向?qū)⒆兂删G燈通行狀態(tài)的提示。與此同時,向西方向的左轉(zhuǎn)指示燈會變亮,也是亮10秒鐘,車輛可以左轉(zhuǎn)。狀態(tài)三:10秒鐘過后,北方向的黃燈滅,紅燈亮60秒,處于主干道上的車輛不能直行通過。與此同時東方向的紅燈會滅,綠燈亮60秒,處于干道上的車輛可以直行。向北方向的車輛不能左轉(zhuǎn)。左轉(zhuǎn)指示燈會熄滅。狀態(tài)三執(zhí)行完畢重新進入狀態(tài)一開始執(zhí)行,整過過程在K60控制器上電以后就進入工作狀態(tài),無需人工干預。圖1—1為系統(tǒng)的工作狀態(tài)圖:狀態(tài)二10秒狀態(tài)三60狀態(tài)二10秒狀態(tài)三60秒狀態(tài)一60秒:圖1—1系統(tǒng)的工作狀態(tài)圖圖1—2系統(tǒng)的工作方式圖1.2系統(tǒng)方案設計本系統(tǒng)基于K60P144M100SF2RM控制器設計的交通燈控制系統(tǒng)。設計過程主要采用自上向下的設計思路和模塊化設計的設計思想,對軟件和各個硬件模塊進行獨立設計,綜合調(diào)試。軟件包括顯示、定時器、GPIO、時鐘等設置。硬件電路包括由三極管驅(qū)動的數(shù)碼管顯示電路以及交通燈顯示電路。1.3系統(tǒng)框圖電源電源交交通燈指示模塊數(shù)碼管顯示計時模塊K60P144M100SF2RM數(shù)碼管顯示計時模塊K60P144M100SF2RM控制器最小系統(tǒng)圖1—3系統(tǒng)框圖二、硬件電路設計本系統(tǒng)中硬件系統(tǒng)包括K60P144M100SF2RM最小系統(tǒng)設計、數(shù)碼管顯示模塊、交通燈顯示模塊。采用模塊化設計的思想對以上模塊進行設計。2.1K60P144M100SF2RM最小系統(tǒng)設計Kinetis是低功耗可擴展和在工業(yè)上使用混合信號ARMCortex-M4系列MCU的最好的組合。Kinetis系列MCU結合了最新的低功耗革新技術和高性能,高精密混合信號功能與連通,人機界面,安全及外設廣泛。Kinetis
MCUs使用了飛思卡爾和ARM第三方合作伙伴的市場領先的捆綁模式。所有Kinetis系列都包涵強大的邏輯、通信和時序陣列和帶有伴隨著閃存大小和I/O數(shù)量的集成度等級的控制外圍部件。Kinetis產(chǎn)品組合內(nèi)核具有以下特點:ARMCortex-M4內(nèi)核帶DSP指令,性能可達1.25DMIPS/MHz<部分Kinetis系列提供浮點單元>;32通道的DMA可用于外設和存儲器數(shù)據(jù)傳輸并減少CPU干預;提供不同級別的CPU頻率50MHz、72MHz和100MHz〔部分Kinetis系列提供120MHz和150MHz>;10種低功耗操作模式用于優(yōu)化外設活動和喚醒時間以延長電池的壽命;行業(yè)領先的快速喚醒時間。正是由于K60控制器在性能上有較多的優(yōu)點和較低的功耗,因而適合用來開發(fā)交通燈控制系統(tǒng)。以下為本控制器的最小系統(tǒng)原理圖:<1><2><3>圖2—1最小系統(tǒng)原理圖2.2數(shù)碼管顯示模塊設計數(shù)碼管分為七段和八段兩種。根據(jù)極性也可分為共陰和共陽兩種類別。其原理是根據(jù)發(fā)光二極管的組合成顯示0~9,還包括字母A,B,C,D,E,F等。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極<COM>的數(shù)碼管,共陰數(shù)碼管在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮,當某一字段的陽極為低電平時,相應字段就不亮。圖2—2數(shù)碼管工作原理圖分別對三個狀態(tài)進行計時,個位和十位分別用一個數(shù)碼管顯示,每次計時加一的時間是1s。以下是本模塊的原理圖:圖2—3數(shù)碼管顯示模塊原理圖其中由數(shù)碼管的位選端和段選端進行控制數(shù)碼管的顯示程序。根據(jù)PNP三極管的導通原理,當位選端為低電平時,三極管導通,根據(jù)共陽極編碼進行合理設置即可。此外用三極管驅(qū)動數(shù)碼管的原因是三極管顯示更明亮一些。用數(shù)碼管顯示效果比較直觀。2.3交通燈指示模塊設計本模塊用紅、黃、綠三種顏色的發(fā)光二極管來代替實際中的交通指示燈。紅燈亮則表示車輛停止等待,黃燈亮則表示綠燈在向紅燈的跳變過程中允許已經(jīng)越過規(guī)定線的車輛繼續(xù)前行。綠燈則表示車輛可以直行通過。在此系統(tǒng)中,一共有7個指示燈。圖2—4交通燈指示模塊原理圖三、系統(tǒng)軟件設計3.1系統(tǒng)軟件流程圖在系統(tǒng)的軟件設計時,需要對系統(tǒng)時鐘進行設計,以滿足對本次系統(tǒng)的功能需求。還需對GPIO端口進行初始化設置,500ms定時延遲設置。然后需要考慮交通燈的三個工作狀態(tài),合理安排顯示與計數(shù)的時序關系。開始開始系統(tǒng)初始化程序系統(tǒng)初始化程序交通指示燈交替亮滅交通指示燈交替亮滅時鐘設置500ms500ms定時器設置計數(shù)結束?計數(shù)結束? N計數(shù)程序計數(shù)程序數(shù)碼管顯示數(shù)碼管顯示 Y結束結束圖3—1系統(tǒng)軟件流程圖3.2500ms定時器子程序設計開始本模塊是將產(chǎn)生500ms定時器,讓在計數(shù)器計數(shù)時提供計時間隔,同時也可作為數(shù)碼管個位和十位的刷新時間,即每次數(shù)碼管顯示更新遞增一個數(shù)字經(jīng)過的時間是1s。以下是本模塊的子程序軟件流程圖:開始設置設置LPTMR定時器設置count_val設置count_val比較值觸發(fā)輸出觸發(fā)輸出1KHzLPO時鐘計數(shù)1KHzLPO時鐘計數(shù)清除標志位清除標志位ReachReachcount_v值?結束Y結束 N圖3—2定時器子程序軟件流程圖3.3計數(shù)顯示子程序設計計數(shù)顯示是在定時器運行前提下進行工作的。數(shù)碼管每刷新一個數(shù)時,時間是1s。這樣的好處是顯示與指示燈狀態(tài)同步起來。同時也能做到效果比較直觀。以下是此部分模塊的流程圖:開始開始dis_0=0dis_1=0dis_0=0dis_1=0dis_2=0初始化1000ms定時器1000ms定時器數(shù)碼管譯碼指示燈亮數(shù)碼管譯碼指示燈亮dis_0++dis_0++dis_0<60dis_0<60Y1000ms1000ms定時器數(shù)碼管譯碼指示燈亮1000ms數(shù)碼管譯碼指示燈亮1000ms定時器數(shù)碼管譯碼指示燈亮 N數(shù)碼管譯碼指示燈亮dis_2++dis_2++dis_2<60?dis_1++dis_2<60?dis_1++dis_1<10?Ydis_1<10?Y N結束結束N圖3—3計數(shù)顯示模塊流程圖四、系統(tǒng)調(diào)試4.1硬件調(diào)試在硬件調(diào)試時,K60最小系統(tǒng)的調(diào)試就是用集成Mini核心板進行調(diào)試,當系統(tǒng)上電后,將系統(tǒng)示例程序下載到開發(fā)板中,用一個示例LED等進行測試能否正常運行。在GPIO端口進行初始化后,應對端口進行合理設置。在對核心板程序下載成功后,在程序能正確運行時,可以根據(jù)共陽數(shù)碼管的特點進行測試,對顯示電路能否正常工作進行測試。驗看數(shù)碼管計數(shù)時是否與預想的一樣,若不一樣營及時修正程序。最終使結果出現(xiàn)與預期一樣。4.2軟件調(diào)試在軟件調(diào)試時,在IARforARM6.30版本平臺上進行編程下載,通過J—LinkJI進行下載到K60核心板中。在調(diào)試時可以用單步調(diào)試,全速運行,設置斷點等方式。與此同時觀看寄存器和變量的值在調(diào)試中常常發(fā)揮著重要作用。在修改和完善程序后,最終下載到核心板中運行。以下是IAR開發(fā)界面:圖4—1IAR開發(fā)界面圖4.3綜合調(diào)試在綜合調(diào)試時,首先應確保硬件和軟件都調(diào)試完畢,將程序下載到硬件系統(tǒng)中后,首先應注意以下事項;在上電之前應用數(shù)字萬用表檢測硬件電路的電源VCC和地是否導通,若導通,應及時檢查后確保不能讓電源和地短路;同時檢測電路是否有虛焊現(xiàn)象,應及時解決這些可能對結果造成不良影響的問題,然后才能上電。上電之后,觀看實驗效果,看數(shù)碼管刷新時間和交通指示燈亮滅是否和預期相同,若時序不符合要求,應及時調(diào)整硬件或者軟件。在與核心板連接線時,應避免與IO口短接,造成數(shù)碼管顯示亂碼或者顯示效果不佳。五、總結本次基于飛思卡爾K60P144M100SF2RM控制器設計的交通燈控制系統(tǒng),通過合理的軟件設計和硬件設計,實現(xiàn)了交通燈綠燈亮60秒,黃燈亮10秒,紅燈亮60秒,對南北主干道方向和東西支干道車輛進行直行和左轉(zhuǎn)控制。用紅、綠、黃LED發(fā)光二極管代替實際中的交通指示燈,用數(shù)碼管對亮滅時間進行計時,使結果直觀。六、心得體會本次關于嵌入式系統(tǒng)設計專題實踐,通過用基于Cortex-M4內(nèi)核的K60P144M100SF2RM控制器,我對嵌入式系統(tǒng)設計有了進一步的認識。在本次系統(tǒng)設計過程中,主要采用的是模塊化設計的思想和自頂向下的設計原則,將功能細化,每一功能對應一個功能子程序。在軟件設計時我進一步體會到了畫流程圖的重要性。面對一個系統(tǒng)設計時,我們首先應該將功能劃分和細化,每一部分可以畫一些單個的子程序流程圖,這樣在軟件設計時可以會在思緒上要清晰一些。調(diào)試步驟則采用硬件和軟件分開調(diào)試,最后再綜合調(diào)試的方案。在軟件調(diào)試時,我們首先將程序編譯通過后,經(jīng)過J-Link下載到核心板中,然后可以在線仿真和調(diào)試。在調(diào)試時,除了首先全速運行程序外,如果運行結果不太理想,這時我們可以采用單步調(diào)試,設置斷點等方式進行調(diào)試。還有需要注意的是,在燒寫程序時,不能直接從核心板上拔下J-Link,應斷電后小心取下。關于軟件調(diào)試和軟件編寫在本次實踐中我的感悟還是挺多的。在硬件調(diào)試時,一開始在程序正常運行時數(shù)碼管始終效果不明顯,后來分析得知是驅(qū)動電流不大造成數(shù)碼管顯示比較暗的。最后的解決辦法是在數(shù)碼管的位選端加了三極管進行放大,最終數(shù)碼管顯示的效果才會直觀,明亮。在測試LED燈的好壞時,我由于沒有考慮到發(fā)光二極管的導通電壓,以為這個直徑較大的發(fā)光二極管應該在3.3V電壓時是不會擊穿的。因而也為了簡易就沒有加上限流電阻。最后在測試時,在接上3.3V電壓時,紅色和黃色的LED發(fā)光二極管都在瞬間被擊穿,只有綠燈能夠正常導通發(fā)光。所幸的是核心板有短路保護模式,不然結果是比較嚴重的。最終我還是都接上了330歐姆的限流電阻,才解決這個問題。這些都是我在不了解元器件的前提下所犯的錯誤。通過此次實踐,也讓我吸取了這一點教訓。在實驗之前,應對元器件有了基本的了解才能去利用它們進行設計。通過這次交通燈的實驗,我學會并了解了一些嵌入式與單片機的相同和不同之處,更讓我感到了嵌入式的強大。以往在單片機的學習和課程設計中,一些知識點并不會顯的十分復雜,而現(xiàn)在的嵌入式系涉及到了更多的知識和復雜的理論。因為嵌入式不僅僅是一個高級的一些的單片機,而是涉及到了系統(tǒng)的概念,從功能上還是應用、實時、穩(wěn)定上都要優(yōu)于單片機。另外,從做交通燈的實驗中,學習和鞏固了以前的編程知識,還有對天一些電路的分析,數(shù)電模電的知識等。更重要的是在這次實驗中,得到了動手能力和思維方式的鍛煉。做為一名自動化專業(yè)的學生,動手能力和思維方式的鍛煉是成為得要的,特別在以后遇到問題時要有解決問題的能力。七、附錄7.1系統(tǒng)實物圖·〔1〔2〔3圖7—1系統(tǒng)實物圖7.2程序代碼:voidmain<void>{//intm=0;//printf<"TWR-K60N512GPIOExample!\n">;//uinti=0;/*Turnonallportclocks*/SIM_SCGC5=SIM_SCGC5_PORTA_MASK|SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTC_MASK|SIM_SCGC5_PORTD_MASK|SIM_SCGC5_PORTE_MASK;/*EnableGPIOAandGPIOEinterruptsinNVIC*///enable_irq<87>;//GPIOAVectoris103.IRQ#is103-16=87//enable_irq<91>;//GPIOEVectoris107.IRQ#is107-16=91/*InitializeGPIOonTWR-K60N512*/init_gpio<>;gpio_set<PORTB,21,1>;gpio_set<PORTB,20,1>;gpio_set<PORTA,17,0>;gpio_set<PORTA,16,0>;gpio_set<PORTA,15,0>;gpio_set<PORTA,14,0>;gpio_set<PORTA,13,0>;gpio_set<PORTA,12,0>;data7<>;while<1>{for<dis_0=0;dis_0<62;dis_0++>{if<dis_0<=60>{gpio_set<PORTA,17,1>;gpio_set<PORTA,16,1>;data7<>;//time_delay_ms<1000>;gpio_set<PORTB,20,0>;//time_delay_ms<1000>;Gpio_set_Pin<PORT_D,dis_code[dis_0%10]>;//gpio_set<PORTB,20,1>;time_delay_ms<500>;//data7<>;//delay<>;gpio_set<PORTB,20,1>;data7<>;gpio_set<PORTB,21,0>;Gpio_set_Pin<PORT_D,dis_code[dis_0/10]>;//time_delay_ms<100>;//data7<>;//delay<>;time_delay_ms<500>;data7<>;gpio_set<PORTB,21,1>;//time_delay_ms<1000>;}if<dis_0>60>{gpio_set<PORTB,21,1>;gpio_set<PORTB,20,1>;gpio_set<PORTA,17,0>;//gpio_set<PORTA,13,1>;for<dis_1=0;dis_1<12;dis_1++>{if<dis_1<=10>{gpio_set<PORTA,15,1>;gpio_set<PORTA,13,1>;data7<>;//time_delay_ms<1000>;gpio_set<PORTB,20,0>;//time_delay_ms<1000>;Gpio_set_Pin<PORT_D,dis_code[dis_1]>;//gpio_set<PORTB,20,1>;time_delay_ms<500>;gpio_set<PORTA,16,1>;//delay<>;time_delay_ms<500>;gpio_set<PORTA,16,0>;//data7<>;//delay<>;///io_set<PORTB,20,1>;//data7<>;//gpio_set<PORTB,21,0>;//Gpio_set_Pin<PORT_D,dis_code[dis_1/10]>;//time_delay_ms<100>;//data7<>;//delay<>;//time_delay_ms<500>;//data7<>;//gpio_set<PORTB,21,1>;//time_delay_ms<1000>;}if<dis_1>10>{gpio_set<PORTB,20,1>;gpio_set<PORTB,21,1>;gpio_set<PORTA,16,0>;gpio_set<PORTA,15,0>;gpio_set<PORTA,13,0>;for<dis_2=0;dis_2<61;dis_2++>{if<dis_2<60>{gpio_set<PORTA,14,1>;gpio_set<PORTA,12,1>;data7<>;//time_delay_ms<1000>;gpio_set<PORTB,20,0>;//time_delay_ms<1000>;Gpio_set_Pin<PORT_D,dis_code[dis_2%10]>;//gpio_set<PORTB,20,1>;time_delay_ms<500>;//data7<>;//delay<>;gpio_set<PORTB,20,1>;data7<>;gpio_set<PORTB,21,0>;Gpio_set_Pin<PORT_D,dis_code[dis_2/10]>;//time_delay_ms<100>;//data7<>;//delay<>;time_delay_ms<500>;data7<>;gpio_set<PORTB,21,1>;}if<dis_2>=60>{gpio_set<PORTB,20,1>;gpio_set<PORTB,21,1>;gpio_set<PORTA,14,0>;gpio_set<PORTA,12,0>;//gpio_set<PORTA,13,0>;}//time_delay_ms<1000>;}}}}}}}voidinit_gpio<>{//SetPTA19andPTE26<connectedtoSW1andSW2>forGPIOfunctionality,fallingIRQ,//andtouseinternalpull-ups.<pindefaultstoinputstate>//PORTA_PCR19=PORT_PCR_MUX<1>|PORT_PCR_IRQC<0xA>|PORT_PCR_PE_MASK|PORT_PCR_PS_MASK;//PORTE_PCR26=PORT_PCR_MUX<1>|PORT_PCR_IRQC<0xA>|PORT_PCR_PE_MASK|PORT_PCR_PS_MASK;//SetPTB10,PTB21,PTB21,andPTB23<connectedtoLED's>forGPIOfunctionality//修改適合本電路板PORTB_PCR20=<0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉首大學《電工與電子技術》2021-2022學年期末試卷
- 《機床夾具設計》試題14
- 吉林藝術學院《影視概念設計解析》2021-2022學年第一學期期末試卷
- 吉林藝術學院《視唱Ⅱ》2021-2022學年第一學期期末試卷
- 吉林藝術學院《和聲Ⅱ》2021-2022學年第一學期期末試卷
- 珠海離婚協(xié)議書范文
- 2024年多方合作合同范本
- 吉林師范大學《信息動畫設計》2021-2022學年第一學期期末試卷
- 2022年公務員多省聯(lián)考《申論》真題(重慶二卷)及答案解析
- 女婿與女婿離婚協(xié)議書范文模板
- 優(yōu)秀工作總結范文:閥門專業(yè)技術工作總結
- 按鍵外觀及可靠性測試檢驗標準
- 安防監(jiān)控系統(tǒng)室外施工安裝規(guī)范標準
- 胸痛鑒別診斷
- 元明粉比重表
- 房地產(chǎn)估價理論與方法重要公式整理
- 房地產(chǎn)項目投資成本測算參考表
- 提高護士對搶救藥品知曉率PDCA案例精編版
- 大學英語四級改錯題12篇
- 正余弦定理知識點權威總結18頁
- 淺議小升初數(shù)學教學銜接
評論
0/150
提交評論