嵌入式系統(tǒng)設計報告基于ARM7的十字路口交通燈控制_第1頁
嵌入式系統(tǒng)設計報告基于ARM7的十字路口交通燈控制_第2頁
嵌入式系統(tǒng)設計報告基于ARM7的十字路口交通燈控制_第3頁
嵌入式系統(tǒng)設計報告基于ARM7的十字路口交通燈控制_第4頁
嵌入式系統(tǒng)設計報告基于ARM7的十字路口交通燈控制_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

..成績評定表學生姓名張書豪班級學號1203060429專業(yè)通信工程課程設計題目十字路口交通燈控制評語組長簽字:成績日期20年月日課程設計任務書學院信息科學與工程專業(yè)通信工程學生姓名張書豪班級學號1203060429課程設計題目十字路口交通燈控制實踐教學要求與任務教學要求1.了解基于ARM7核的LPC2106的管腳功能和特點,掌握I/O控制寄存器的設置方法;2.掌握ARM7應用系統(tǒng)編程開發(fā)方法,能用C語言編寫應用程序;3.熟練掌握ADS1.2軟件的使用以及PROTEUS仿真調試的方法;設計任務1.采用PROTEUS完成十字路口交通燈控制的硬件電路設計,要求單片機選型為飛利浦公司的LPC2106,東西南北方向分別設置紅黃綠3個指示燈,東西方向和南北方向各用1個數(shù)碼管顯示通行時間;2.用ADS1.2編寫C語言應用程序,完成十字路口交通燈控制;3.采用PROTEUS將應用程序裝載在LPC2106中,進行仿真驗證。要求東西方向和南北方向的數(shù)碼管顯示通行時間并倒計時,可以設置成一樣,例如都是9秒倒計時;每當?shù)褂嫊r時間到,完成紅黃綠指示燈的狀態(tài)切換,模擬實現(xiàn)十字路口的交通燈管理控制。指導201年月日專業(yè)負責人:201年月日學院教學副院長:201年月日目錄........................................................................................................設計目的........................................................................................................具體任務........................................................................................................硬件電路設計........................................................................................................源程序........................................................................................................仿真效果........................................................................................................實驗心得體會設計課題十字路口交通燈控制一、設計目的:1.了解基于ARM7核的LPC2106的管腳功能和特點,掌握I/O控制寄存器的設置方法;2.掌握ARM7應用系統(tǒng)編程開發(fā)方法,能用C語言編寫應用程序;3.熟練掌握ADS1.2軟件的使用以及PROTEUS仿真調試的方法;二、具體任務:1.采用PROTEUS完成十字路口交通燈控制的硬件電路設計,要求單片機選型為飛利浦公司的LPC2106,東西南北方向分別設置紅黃綠3個指示燈,東西方向和南北方向各用1個數(shù)碼管顯示通行時間;2.用ADS1.2編寫C語言應用程序,完成十字路口交通燈控制;3.采用PROTEUS將應用程序裝載在LPC2106中,進行仿真驗證。要求東西方向和南北方向的數(shù)碼管顯示通行時間并倒計時,可以設置成一樣,例如都是9秒倒計時;每當?shù)褂嫊r時間到,完成紅黃綠指示燈的狀態(tài)切換,模擬實現(xiàn)十字路口的交通燈管理控制。三、硬件電路設計?!矃⒖枷聢D完成硬件電路設計,用屏幕抓圖的方式將自己設計的PROTEUS電路圖粘貼在下面,并用文字對所設計的電路功能、原理進一步說明自己設計的PROTEUS電路圖附圖〔用屏幕抓圖的方式粘貼:硬件電路說明:1.設置所有I/O口為第一功能,將硬件電路圖按上圖所示連接。2.東西南北四個方向分別裝有紅、黃、綠三燈,通過放置標號的方式連接到LPC2106。3.數(shù)碼管為交通燈一位十進制雙位數(shù)字倒計時顯示,兩個數(shù)碼管顯示同樣的數(shù)字。4.管教控制為P0.0——P0.6用來控制倒計時的個位;P0.8——P0.14用來控制倒計時的十位;P0.16——P0.21用來控制交通燈的顯示,即發(fā)光二極管的顯示。四、源程序?!仓粚語言應用程序附在后面,其它項目文檔不要提供,C語言應用程序要有一定的注釋說明源程序:#include"config.h"#include"LPC2106.h"uint32table1[]={0x21066d,0x210666,0x21064f,0x21065b,0x210606,0x21063f,0x213f6f,0x213f7f,0x213f07,0x213f7d,0x223f6d,0x203f66,0x223f4f,0x203f5b,0x223f06,0x203f3f,0x0c066d,0x0c0666,0x0c064f,0x0c065b,0x0c0606,0x0c063f,0x0c3f6f,0x0c3f7f,0x0c3f07,0x0c3f7d,0x143f6d,0x043f66,0x143f4f,0x043f5b,0x143f06,0x043f3f};//顯示初始化voiddelay<uint32j>{ uint32m,n; for<m=110;m>0;m--> for<n=j;n>0;n-->;}intmain<> { uint32i=0; PINSEL0=0x00000000; //寄存器初始化,選擇其I/0口功能 PINSEL1=0x00000000;//同上 IODIR=0x00003fffff; //方向寄存器設置,設置為輸出 IOCLR=0x00003fffff; //清0寄存器設置 while<1> { for<i=0;i<32;i++> { IOSET=table1[i];//數(shù)碼管和交通燈的顯示 delay<10000>; IOCLR=0x00003fffff;//消影 } } }五、仿真效果。〔用屏幕抓圖的方式將PROTEUS運行仿真效果圖粘貼在下面★東西綠燈亮,南北紅燈亮并進行15秒倒計時:★東西黃燈亮,南北紅燈亮,并進行5秒倒計時:★東西紅燈亮,南北綠燈亮,并進行15倒計時:★東西紅燈亮,南北黃燈亮,并進行5秒倒計時,回到第一張圖重復執(zhí)行:六、實驗心得體會在這二周的課程設計中,我學習到了很多書本上面沒有學習到的知識,以前我們也都只是在上課的時候看著老師操作,聽老師講一些關于嵌入式學習過程中需要注意的內容,需要學習的一些語句,但是一直沒有如此近距離的去接觸過嵌入式的操作。經(jīng)過學習,我們知道學ARM,從硬件上講,一方面就是學習接口電路設計,另一方面就是學習匯編和C語言的板級編程。如果從軟件上講,就是要學習基于ARM處理器的操作系統(tǒng)層面的驅動、移植了。這些對于初學都來說必須明確,要么從硬件著手開始學,要么從操作系統(tǒng)的熟悉到應用開始學,但不管學什么,只要不是純的操作系統(tǒng)級以上基于API的應用層的編程,硬件的寄存器類的東西還是要能看懂的,基于板級的匯編和C編程還是要會的。因此針對于嵌入式系統(tǒng)的硬件層和驅動程的人,ARM的接口電路設計、ARM的C語言和匯編語言編程及調試開發(fā)環(huán)境還是需要掌握的。因此對于初學者必然要把握住方向,自己的目標是什么,自己要在那一層面上走。然后再著手學習較好,與ARM相關的嵌入式系統(tǒng)的較為實際的兩個層面硬件層和驅動層,不管學好了那一層都會很有前途的。在學習嵌入式系統(tǒng)的這兩個星期,我覺得我學到了很多的東西,不僅鞏固了C語言的使用,而且,在實驗指導老師的教導下,我們學會了怎么去使用嵌入式系統(tǒng),我們學會了怎么去講嵌入式系統(tǒng)與protues系統(tǒng)相結合,從而用protues仿真軟件看出我們程序需要體現(xiàn)的結果,也可以再一次的對程序進行一次檢驗。我們的實驗是兩個,第一個實驗是交通燈的設計,在設計交通燈的時候,我們考慮了很多方案,后來,我們選擇了使用共陰極的顯示數(shù)碼管,然后通過計算寫出顯示數(shù)碼管從1到10的顯示代碼。之后就是交通燈顯示問題了,首先要確定什么時候紅燈亮,什么時候綠燈亮,什么時候黃燈又亮,這些都是靠一些十六進制的數(shù)來代表的。寄存器的使用在嵌入式系統(tǒng)設計中是很重要的一個部分,我們最開始了解的就是寄存器PINSEL0和PINSEL1的設置。LPC2106的I/O口全都是3功能服用端口,也就是說即可用作普通輸入輸出端口,又用作第2或第3種功能。設計人員可根據(jù)需要設置兩個32位特殊功能寄存器PINSEL0和PINSEL1。PINSEL0對應引腳P0.0~P0.15,PINSEL1對應引腳P0.16~P0.31。都是寄存器中用兩位來完成1根引腳的功能設置。接下來是GPIO方向寄存器的設置,當管腳配置為GPIO模式時,可使用該寄存器控制管腳的方向。任意管腳的方向位的設置必須與管腳功能一致。輸出置1寄存器,IOSET當管腳配置為GPIO輸出模式時,可使用該寄存器從管腳輸出高電平。寫入1使對應管腳輸出高電平。寫入0無效。如果一個管腳被配置為輸入或第二功能,寫IOSET無效。輸出清零寄存器IOCLR當管腳配置為GPIO輸出模式時,可使用該寄存器從管腳輸出低電平

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論