《嵌入式系統(tǒng)原理與應(yīng)用》綜合設(shè)計(jì)課程設(shè)計(jì)交通信號(hào)燈控制器設(shè)計(jì)_第1頁
《嵌入式系統(tǒng)原理與應(yīng)用》綜合設(shè)計(jì)課程設(shè)計(jì)交通信號(hào)燈控制器設(shè)計(jì)_第2頁
《嵌入式系統(tǒng)原理與應(yīng)用》綜合設(shè)計(jì)課程設(shè)計(jì)交通信號(hào)燈控制器設(shè)計(jì)_第3頁
《嵌入式系統(tǒng)原理與應(yīng)用》綜合設(shè)計(jì)課程設(shè)計(jì)交通信號(hào)燈控制器設(shè)計(jì)_第4頁
《嵌入式系統(tǒng)原理與應(yīng)用》綜合設(shè)計(jì)課程設(shè)計(jì)交通信號(hào)燈控制器設(shè)計(jì)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.嵌入式系統(tǒng)原理與應(yīng)用綜合設(shè)計(jì)交通信號(hào)燈控制器設(shè)計(jì)系 部:電子與信息工程系專業(yè)班級(jí):姓 名:學(xué) 號(hào):小組成員:指導(dǎo)教師:時(shí) 間:2011.5.302011.6.24完 成 日 期 2011年 6月目錄1.緒論.22.課程設(shè)計(jì)要求及實(shí)驗(yàn)設(shè)備與器材.22.1課程設(shè)計(jì)題目.22.2課程設(shè)計(jì)目的.22.3設(shè)計(jì)要求.32.4工作流程.32.5實(shí)驗(yàn)設(shè)備與器材.33.硬件設(shè)計(jì).43.1設(shè)計(jì)系統(tǒng)介紹及原理框圖.43.2電源供電系統(tǒng).43.3arm開發(fā)板.53.4led顯示系統(tǒng).53.5鍵盤系統(tǒng).73.6原理電路圖.94.軟件設(shè)計(jì)方案.54.1程序流程圖.54.2方案論證.74.3調(diào)試過程.74.4運(yùn)行結(jié)果.7

2、4.4.1結(jié)果分析.84.4.2體會(huì)與收獲.8參考文獻(xiàn).10特別致謝.10附錄.15 1.緒論嵌入式計(jì)算機(jī)系統(tǒng)的出現(xiàn),是現(xiàn)代計(jì)算機(jī)發(fā)展歷史山的里程碑。嵌入式系統(tǒng)誕生于微型計(jì)算機(jī)時(shí)代,與通用計(jì)算機(jī)的發(fā)展道路完全不同,形成了獨(dú)立的單芯片的技術(shù)發(fā)展道路。由于嵌入式系統(tǒng)的誕生,現(xiàn)代計(jì)算機(jī)領(lǐng)域出現(xiàn)了通用計(jì)算機(jī)與嵌入式計(jì)算機(jī)兩大分支。不可兼顧的技術(shù)發(fā)展道路,形成了兩大分支的獨(dú)立發(fā)展:通用計(jì)算機(jī)按照高速、海量的技術(shù)發(fā)展;嵌入式計(jì)算機(jī)系統(tǒng)則為滿足對(duì)象系統(tǒng)按照嵌入式智能化控制要求發(fā)展。由于獨(dú)立的分工發(fā)展,20世紀(jì)末,現(xiàn)代計(jì)算機(jī)的兩大分支都得到了迅猛的發(fā)展。2.課程設(shè)計(jì)要求及實(shí)驗(yàn)設(shè)備與器材2.1課程設(shè)計(jì)題目模擬交

3、通燈控制器設(shè)計(jì)2.2課程設(shè)計(jì)目的通過本次綜合設(shè)計(jì),運(yùn)用已學(xué)的課程知識(shí),根據(jù)題目要求進(jìn)行軟硬件系統(tǒng)的設(shè)計(jì)和調(diào)試,對(duì)嵌入式系統(tǒng)原理與應(yīng)用課程中涉及的芯片結(jié)構(gòu)、控制原理、硬件和編程等方面有一定的感性認(rèn)識(shí)和實(shí)踐操作能力,從而加深對(duì)本課程知識(shí)點(diǎn)的理解,使學(xué)生應(yīng)用知識(shí)能力、設(shè)計(jì)能力、調(diào)試能力以及報(bào)告撰寫能力等方面有顯著提高。2.3設(shè)計(jì)要求 利用實(shí)驗(yàn)系統(tǒng)的資源來設(shè)計(jì)一個(gè)“模擬交通燈控制器”。 控制面板包括:8位數(shù)碼顯示器、2組交通燈(每組交通燈包括紅、黃和綠3個(gè)燈)、十個(gè)數(shù)字按鍵鍵盤、電源按鍵、電源指示燈和一個(gè)運(yùn)行鍵。具體設(shè)計(jì)要求如下:1.設(shè)計(jì)一交通燈控制系統(tǒng),其結(jié)構(gòu)如圖1.1所示,工作方式滿足上述要求。2

4、.主干道和次干道的通行時(shí)間及黃燈點(diǎn)亮的時(shí)間可以手動(dòng)設(shè)置。3.在沒有手動(dòng)設(shè)置通行時(shí)間時(shí),系統(tǒng)自動(dòng)按表1.1的模式進(jìn)行工作。十字交叉路口的交通燈控制系統(tǒng)的結(jié)構(gòu)圖1.1所示 往南和往北的信號(hào)一致,即紅燈(綠燈或黃燈)同時(shí)亮或同時(shí)熄滅。用兩個(gè)數(shù)碼管來顯示被點(diǎn)亮的指示燈還將點(diǎn)亮多久。往東和往西的方向的信號(hào)一致。其工作方式與南北方向一樣。也采用兩個(gè)數(shù)碼管來倒計(jì)時(shí),當(dāng)南北方向?yàn)榫G燈和黃燈時(shí),東西向的紅燈點(diǎn)亮禁止通行,而東西方向?yàn)榫G燈和黃燈時(shí),南北向的紅燈點(diǎn)亮禁止通行。假設(shè)南北方向?yàn)橹鞲傻?,通行時(shí)間為60秒,東西方向是次干道,通行時(shí)間為30秒,黃燈點(diǎn)亮的時(shí)間均為4秒,則其工作方式如表1.1所示循環(huán)點(diǎn)亮信號(hào)燈。

5、表1.1交通信號(hào)燈工作模式南北向綠燈亮60秒黃燈亮4秒紅燈亮34秒東西向紅燈亮64秒綠燈亮30秒黃燈亮4秒2.4工作流程a. 按下電源鍵,電源指示燈亮;b. 按下運(yùn)行鍵,模擬交通燈控制器工作;c. led實(shí)時(shí)顯示當(dāng)前的交通狀況;d. 紅燈和綠燈的工作順序如下:圖2.1 紅燈工作順序圖圖2.2 綠燈工作順序圖e. 用2位數(shù)碼管實(shí)時(shí)倒計(jì)時(shí)時(shí)間,倒計(jì)時(shí)流程如下:圖2.3 led等結(jié)合數(shù)碼管工作順序圖f.運(yùn)行過程中,若再按下電源鍵,則控制器停止工作,電源指示燈滅。2.5實(shí)驗(yàn)設(shè)備與器材(1)電源模塊(2)arm開發(fā)板lm3s2110(3)1602液晶顯示3.硬件系統(tǒng)設(shè)計(jì)3.1設(shè)計(jì)系統(tǒng)介紹及原理框圖(1)

6、接通電源時(shí)或系統(tǒng)復(fù)位后,系統(tǒng)按程序給定的時(shí)間工作,即南北向通行60秒,東西向通行30秒,黃燈亮4秒,工作模式如表1.1所示。首先南北向通行,然后東西向通行,如此循環(huán)。 (2)通行時(shí)間的設(shè)置:當(dāng)需要更改主、次干道的通行時(shí)間時(shí),可以用“設(shè)置鍵、增加鍵、減少鍵”進(jìn)行設(shè)置。 第一次按“設(shè)置鍵”時(shí),南北向的綠燈亮,南北向的數(shù)碼管顯示當(dāng)前南北向的通行時(shí)間,并且按每秒3次的頻率閃爍(每秒亮3次暗3次),其余的信號(hào)指示燈和東西向的數(shù)碼管熄滅,此時(shí)可以用“增加鍵”和“減少鍵”來改變南北向的通行時(shí)間。按一次“增加鍵”或“減少鍵”,數(shù)碼管的顯示增加一秒或減小一秒,長(zhǎng)按“增加鍵”或“減少鍵”(按下的時(shí)間超過一秒鐘以上

7、)則數(shù)碼管顯示的時(shí)間按每秒鐘增加或減少10的速度快速變化。 第二次按“設(shè)置鍵”時(shí),南北向的黃燈亮,南北向的數(shù)碼管顯示當(dāng)前南北向黃燈點(diǎn)亮?xí)r間,并且按每秒3次的頻率閃爍每秒亮3次暗3次),其余的信號(hào)指示燈和東西向的數(shù)碼管熄滅,此時(shí)可以用“增加鍵”和“減少鍵”來改變南北向黃燈的點(diǎn)亮?xí)r間。 第三次按“設(shè)置鍵”時(shí),東西向的綠燈亮,東西向的數(shù)碼管顯示當(dāng)前東西向的通行時(shí)間,并且按每秒3次頻率閃爍,此時(shí)可以用“增加鍵”和“減少鍵”來改變東西向的通行時(shí)間。 第四次按“設(shè)置鍵”時(shí),東西向的黃燈亮,東西向的數(shù)碼管顯示當(dāng)前東西向黃燈的點(diǎn)亮?xí)r間,并且按每秒3次頻率閃爍,此時(shí)可以用“增加鍵”和“減少鍵”來改變東西向黃燈的

8、點(diǎn)亮?xí)r間。 第五次按“設(shè)置鍵”時(shí),系統(tǒng)退出設(shè)置狀態(tài),回到交通信號(hào)燈狀態(tài),并且南北向先通行,東西向后通行。“設(shè)置鍵”的功能表圖1.2所示。表1.2設(shè)置鍵的功能按“設(shè)置鍵”的次數(shù)第1次第2次第3次第4次第5次調(diào)整內(nèi)容南北向的綠燈點(diǎn)亮?xí)r間南北向的黃燈點(diǎn)亮?xí)r間東西向的綠燈點(diǎn)亮?xí)r間東西向的黃燈點(diǎn)亮?xí)r間恢復(fù)交通燈工作狀態(tài)調(diào)整范圍099秒09秒09秒09秒3.2電源供電系統(tǒng)本系統(tǒng)采用220v電源供電,應(yīng)設(shè)計(jì)相應(yīng)的穩(wěn)壓電源電路。但課程設(shè)計(jì)受時(shí)間限制,也可采用現(xiàn)成的5v直流穩(wěn)壓電源供電,這樣可節(jié)約設(shè)計(jì)時(shí)間,簡(jiǎn)化設(shè)計(jì)過程。圖3.1電源模塊硬件圖3.3arm開發(fā)板arm建設(shè)選用ti lm3s2110芯片,便于設(shè)計(jì)和

9、調(diào)試。3.4led顯示系統(tǒng)南北向和東西向各采用2個(gè)數(shù)碼管計(jì)時(shí),對(duì)該方向的指示燈的點(diǎn)亮?xí)r間進(jìn)行倒計(jì)時(shí),最長(zhǎng)計(jì)時(shí)范圍為99秒。設(shè)計(jì)時(shí)可利用芯片的pd口和pa口作為字段和位選信號(hào)輸出,經(jīng)驅(qū)動(dòng)芯片后驅(qū)動(dòng)數(shù)碼管顯示倒計(jì)時(shí)時(shí)間,數(shù)碼管采用動(dòng)態(tài)掃描方式顯示。圖3.2數(shù)碼管模塊硬件圖圖3.3led模塊硬件圖3.5 鍵盤系統(tǒng)設(shè)置3個(gè)程序按鍵:設(shè)置鍵、增加鍵、減少鍵,因鍵盤使用頻率很小,建議采用查詢方式來讀取鍵盤。另需配置一個(gè)非程序按鍵:系統(tǒng)復(fù)位鍵。圖3.4 矩陣鍵盤模塊硬件圖3.6原理電路圖 圖3.5 硬件電路圖4.軟件設(shè)計(jì)方案4.1程序流程圖圖3.6 軟件流程圖4.2方案論證電源模塊采用單片機(jī)控制模塊提供電源

10、。改方案的優(yōu)點(diǎn)是系統(tǒng)簡(jiǎn)明扼要,節(jié)約成本;缺點(diǎn)是輸出功率不高。 顯示模塊用數(shù)碼管與點(diǎn)陣led 相結(jié)合的方法因?yàn)樵O(shè)計(jì)既要求倒計(jì)時(shí)數(shù)字輸出,又要求有狀態(tài)燈輸出等,為方便觀看并考慮到現(xiàn)實(shí)情況,用數(shù)碼管與led燈分別顯示時(shí)間與提示信息。這種方案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度。輸入模塊采用4*4矩陣鍵盤,由于單片機(jī)/嵌入式實(shí)踐平臺(tái)的試驗(yàn)箱對(duì)于交通燈及數(shù)碼管的控制,只用lm3s2110芯片本身與試驗(yàn)箱管腳相連,通過程序就可實(shí)現(xiàn)。綜上所述,以lm3s2110芯片為核心器件,采用連接8段led數(shù)碼顯示管,4*4矩陣鍵盤電路組成。利用單片機(jī)的優(yōu)勢(shì)設(shè)計(jì)電路直接在管腳上接上按鍵開關(guān)。因?yàn)樵O(shè)計(jì)的時(shí)候僅見和

11、優(yōu)化了電路,所以剩余的管教資源還比較多。由于該系統(tǒng)對(duì)于交通燈以及數(shù)碼管的控制,只需要單片機(jī)本身就可以實(shí)現(xiàn),所以選擇這種方案。4.3調(diào)試過程我們的程序分為2大部分,第一部分是嵌入式lm3s2110芯片上的led燈程序的調(diào)試;第二部分是試驗(yàn)箱上數(shù)碼顯示管與4*4矩陣鍵盤程序的調(diào)試。先把嵌入式lm3s2110芯片與pc機(jī)連接,在pc機(jī)上安裝芯片的驅(qū)動(dòng),路徑為c:program filesiar systemembedded workbench 5.4 kickstartarmdriversluminaryftdi,設(shè)定管腳為gpiob口的pin1pin4,即為芯片上的led3led6。我們的程序是先

12、讓led3和led6點(diǎn)亮50秒,再閃爍5次,再讓led4和led5點(diǎn)亮10秒??墒瞧鸪跏莑ed3和6亮完之后就是led4和5亮,沒有閃爍的過程,后來發(fā)現(xiàn)是程序中的延時(shí)循環(huán)出現(xiàn)了問題,然后經(jīng)過了一次次更改,一次次錯(cuò)誤,最后終于成功的讓交通燈正確點(diǎn)亮。第二部分是把試驗(yàn)箱與嵌入式lm3s2110芯片的管腳依次相連。這次程序還沒有調(diào)試就有一個(gè)大問題出現(xiàn),就是管腳怎么連接。我們需要的是8位顯示管模塊和矩陣鍵盤模塊,8位公陽顯示管模塊中的段和位我們分別定義為gpiod口的pin1pin7,gpioe口的pin0pin1;矩陣鍵盤中的橫向以及縱向分別定義為gpioa口的pin2pin5,gpioc口的pin

13、4pin7。然后根據(jù)我們找到的資料ychd-3和arm2110的管腳圖依次相連,然后再連接地線。第一次的問題是8個(gè)8位數(shù)碼管一次只能顯示一位,可是我們的倒計(jì)時(shí)需要十位和個(gè)位同時(shí)顯示,正當(dāng)我們無從著手時(shí)候,有同學(xué)給了我們一個(gè)建議:利用人眼的視覺暫留,讓數(shù)碼管不斷地刷不斷的閃,只要時(shí)間足夠短暫那我們看起來就像是2位數(shù)碼管同時(shí)亮。改程序,1秒內(nèi)十位個(gè)位互相閃爍50次,果然成功了。期間有許多失敗的經(jīng)歷,就不贅述了。第二次的問題是按鍵與數(shù)碼管沒有互相作用,程序中的提示也是定義按鍵為多余的警告。使能了按鍵后,雖然警告沒有了,可是數(shù)碼管依然不受按鍵控制。找了許多同學(xué)尋求幫助,雖然找出了我們程序中存在的問題,

14、但是沒有改變現(xiàn)狀,又一次的束手無策。最后終于發(fā)現(xiàn)原來是管腳的鏈接問題,我們忽略了矩陣鍵盤中的j1模塊和j3模塊的短接。利用跳線帽短接j1模塊的2個(gè)管腳和j3模塊的兩個(gè)管腳。連接之后重新燒入程序,調(diào)試成功了。當(dāng)按下k1鍵時(shí),倒計(jì)時(shí)50秒,按下k2鍵時(shí),倒計(jì)時(shí)10秒,k3鍵40秒,一次類推,一直到100秒。但是因?yàn)槲覀冇昧?位的8段數(shù)碼管,所以當(dāng)?shù)?9秒時(shí)候,自動(dòng)歸零。4.4運(yùn)行結(jié)果4.4.1結(jié)果分析把lm3s2110芯片與pc機(jī)連接后,把led程序進(jìn)行仿真,把程序燒入芯片內(nèi),led1和led6點(diǎn)亮(見圖3.7),亮50秒后,閃爍5次。讓led2和led5點(diǎn)亮(見圖3.8),亮10秒后,閃爍5次。

15、依次往復(fù)循環(huán)。圖4.1led1和led6亮圖4.2 led2和led5亮4.4.2體會(huì)與收獲 這次課程設(shè)計(jì)帶給我們的不僅僅是對(duì)課本知識(shí)的加深的理解,也鍛煉了我們對(duì)于把書本知識(shí)運(yùn)用到實(shí)踐中的能力。平時(shí)在課堂上學(xué)到的東西有的雖然明白了,但是畢竟沒有實(shí)際操作經(jīng)驗(yàn),操作起來容易出錯(cuò);有的只是一知半解,用于實(shí)踐中就出現(xiàn)了問題。對(duì)于知識(shí)的理解知識(shí)單純的停留在書本階段,自己動(dòng)手嘗試了以后,這些知識(shí)對(duì)于我們而言更加鮮活生動(dòng)起來了。從剛剛開始的無從下手,到逐步的知道自己該做什么,該怎么做。不斷地遇到新的問題,不斷地嘗試各種方法解決,即使失敗了也有了經(jīng)驗(yàn)。漸漸的發(fā)現(xiàn)問題,解決問題,遇到新問題,再解決問題,這種循環(huán)

16、讓我們體會(huì)到了靠自覺解決問題的成就感。從實(shí)踐中直接得到的知識(shí)會(huì)比書本上老師傳授所得到的知識(shí)更容易讓我們掌握。當(dāng)然專業(yè)知識(shí)也收獲不少,當(dāng)初的c語言學(xué)的半吊子,考試階段的臨時(shí)抱佛腳讓我們到了關(guān)鍵時(shí)刻都不知道各種語句怎么用,可是又不得不寫出來。當(dāng)然就網(wǎng)上收集資料,學(xué)習(xí)別人的程序,在別人的模板上逐漸修改,漸漸地這段程序的絕大多數(shù)都是我們自己的成果了。還有一些作圖軟件以前從未接觸或者有少許接觸的通過這次的鍛煉也讓我們熟練掌握了它們的用法。參考文獻(xiàn)1 李朝青. 單片機(jī)原理及接口技術(shù)(第 3 版). 北京:北京航空航天大學(xué)出版社,2006 2 何立民. 單片機(jī)應(yīng)用技術(shù)大全. 北京:北京航空航天大學(xué)出版社,1

17、994 第 19 頁3周立功,lm3s2110微控制器eb/ol. 2010年6月。4周立功,arm嵌入式系統(tǒng)基礎(chǔ)教程m.北京:北京航空航天大學(xué)出版社,2004 p213p2165張齊 朱寧西,單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)m.北京:電子工業(yè)出版社,2004 p251p255,p256p260。6張軍 宋濤 avr單片機(jī)c語言程序?qū)嵗鈓.北京:電子工業(yè)出版社,1997 p122p133。7張大明,單片微機(jī)控制應(yīng)用技術(shù)m.北京:機(jī)械工業(yè)出版社,2006 p65p70。特別致謝 本次關(guān)于模擬交通燈設(shè)計(jì)與制作是在王永明老師和徐會(huì)彬老師以及其他輔導(dǎo)老師的悉心指導(dǎo)下,和同組內(nèi)的其他兩位成員的共同討論,互相交

18、流才得以順利完成。經(jīng)過本次設(shè)計(jì)我們把大學(xué)里所學(xué)的理論知識(shí)轉(zhuǎn)為成為實(shí)際的應(yīng)用,既鍛煉了我們的實(shí)際草操作能力,又使理論知識(shí)得到升華,激發(fā)了我們的創(chuàng)新意識(shí)。 特別感謝與我同組的兩位組員,在工作中我們積極配合,互相幫助,勇于創(chuàng)新。更要感謝身邊的同學(xué),雖然不是我們一組的,但是在我們遇到使我們措手不及的時(shí)候,在程序上給我們很多提示很多幫助,感謝他的無償幫助。用過本次設(shè)計(jì)使我們的動(dòng)手能力得到很大的提高,讓我們走出了實(shí)踐盲區(qū),為以后的畢業(yè)設(shè)計(jì)以及工作后的動(dòng)手能力打下堅(jiān)實(shí)的基礎(chǔ)。最后感謝學(xué)院為我們提供了這次機(jī)會(huì)。再次感謝老師們和同學(xué)們的幫助!附錄程序清單#include systeminit.h#define

19、lcden gpio_pin_0 /pb0;#define lcdrs gpio_pin_1 /pb1; unsigned char data; /pd0-pd7;unsigned int shi=48+5,ge=48;void write_com(unsigned char com) /寫命令 gpiopinwrite(gpio_portb_base,lcdrs,0x00); / lcdrs=0; gpiopinwrite(gpio_portd_base,gpio_pin_0|gpio_pin_1|gpio_pin_2| gpio_pin_3|gpio_pin_4|gpio_pin_5|gp

20、io_pin_6|gpio_pin_7,com);/pd=com;sysctldelay(5 * (thesysclock / 4000); / 延時(shí) 5msgpiopinwrite(gpio_portb_base,lcden,0xff); / lcden=1; sysctldelay(5 * (thesysclock / 4000); gpiopinwrite(gpio_portb_base,lcden,0x00); / lcden=0; void write_data(unsigned char date)gpiopinwrite(gpio_portb_base,lcdrs,0xff);

21、/ lcdrs=1;gpiopinwrite(gpio_portd_base,gpio_pin_0|gpio_pin_1|gpio_pin_2| gpio_pin_3|gpio_pin_4|gpio_pin_5|gpio_pin_6|gpio_pin_7,date);/pd=date; sysctldelay(5 * (thesysclock / 4000); gpiopinwrite(gpio_portb_base,lcden,0xff); / lcden=1; sysctldelay(5 * (thesysclock / 4000); gpiopinwrite(gpio_portb_bas

22、e,lcden,0x00); / lcden=0;void init()sysctlperienable(sysctl_periph_gpiod); /使能a端口 gpiopintypeout(gpio_portd_base, gpio_pin_0|gpio_pin_1|gpio_pin_2| gpio_pin_3|gpio_pin_4|gpio_pin_5|gpio_pin_6|gpio_pin_7); sysctlperienable(sysctl_periph_gpiob); gpiopintypeout(gpio_portb_base, gpio_pin_0|gpio_pin_1);

23、gpiopinwrite(gpio_portb_base,lcden,0x00); / lcden=0; write_com(0x38);write_com(0x0e);write_com(0x06);write_com(0x01); / 在開始清屏write_com(0x80+0x10); /數(shù)據(jù)指針地址/ 定義led#define led1_periph sysctl_periph_gpiof#define led1_port gpio_portf_base#define led1_pin gpio_pin_1#define led2_periph sysctl_periph_gpiof#

24、define led2_port gpio_portf_base#define led2_pin gpio_pin_2#define led3_periph sysctl_periph_gpiob#define led3_port gpio_portb_base#define led3_pin gpio_pin_0#define led4_periph sysctl_periph_gpiob#define led4_port gpio_portb_base#define led4_pin gpio_pin_1#define led5_periph sysctl_periph_gpiob#def

25、ine led5_port gpio_portb_base#define led5_pin gpio_pin_2#define led6_periph sysctl_periph_gpiob#define led6_port gpio_portb_base#define led6_pin gpio_pin_3#define beep_periph sysctl_periph_gpioh#define beep_port gpio_porth_base#define beep_pin gpio_pin_0unsigned char i;void led1flash () unsigned cha

26、r ucval; ucval = gpiopinread(led1_port, led1_pin); / 翻轉(zhuǎn)led gpiopinwrite(led1_port, led1_pin, ucval); ucval = gpiopinread(led6_port, led6_pin); / 翻轉(zhuǎn)led gpiopinwrite(led6_port, led6_pin, ucval); sysctldelay(500 * (thesysclock / 3000); gpiopinwrite(led1_port, led1_pin, ucval); gpiopinwrite(led6_port, l

27、ed6_pin, ucval); sysctldelay(500 * (thesysclock / 3000); void led2flash () unsigned char ucval; ucval = gpiopinread(led2_port, led2_pin); / 翻轉(zhuǎn)led gpiopinwrite(led2_port, led2_pin, ucval); ucval = gpiopinread(led5_port, led5_pin); / 翻轉(zhuǎn)led gpiopinwrite(led5_port, led5_pin, ucval); sysctldelay(500 * (t

28、hesysclock / 3000); gpiopinwrite(led2_port, led2_pin, ucval); gpiopinwrite(led5_port, led5_pin, ucval); sysctldelay(500 * (thesysclock / 3000); void led3flash () unsigned char ucval; ucval = gpiopinread(led3_port, led3_pin); / 翻轉(zhuǎn)led gpiopinwrite(led3_port, led3_pin, ucval); ucval = gpiopinread(led4_

29、port, led4_pin); gpiopinwrite(led4_port, led4_pin, ucval); / 翻轉(zhuǎn)led sysctldelay(500 * (thesysclock / 3000); gpiopinwrite(led3_port, led3_pin, ucval); gpiopinwrite(led4_port, led4_pin, ucval); sysctldelay(500 * (thesysclock / 3000); void beep() unsigned char ucval; ucval = gpiopinread(beep_port, beep_

30、pin); / 翻轉(zhuǎn)led gpiopinwrite(beep_port, beep_pin, ucval); sysctldelay(100 * (thesysclock / 3000); / 延時(shí)約10ms,消除按鍵抖動(dòng) gpiopinwrite(beep_port, beep_pin, ucval); sysctldelay(100 * (thesysclock / 3000); / 延時(shí)約10ms,消除按鍵抖動(dòng) viod display() /顯示函數(shù) write_com(0x80+0x00); write_data(shi); /write_com(1);write_com(0x80

31、+0x01);/數(shù)據(jù)指針write_data(ge);sysctldelay(1000 * (thesysclock / 4000); ge-; if(ge=47) shi-; ge=57;/ 主函數(shù)(程序入口)int main(void) clockinit(); / 時(shí)鐘初始化:晶振,6mhz sysctlperienable(led1_periph); / 使能led所在的gpio端口 gpiopintypeout(led1_port, led1_pin); / 設(shè)置led所在管腳為輸出 sysctlperienable(led2_periph); / 使能led所在的gpio端口 gp

32、iopintypeout(led2_port, led2_pin); / 設(shè)置led所在管腳為輸出 sysctlperienable(led3_periph); / 使能led所在的gpio端口 gpiopintypeout(led3_port, led3_pin); / 設(shè)置led所在管腳為輸出 sysctlperienable(led4_periph); / 使能led所在的gpio端口 gpiopintypeout(led4_port, led4_pin); / 設(shè)置led所在管腳為輸出 sysctlperienable(led5_periph); / 使能led所在的gpio端口 gp

33、iopintypeout(led5_port, led5_pin); / 設(shè)置led所在管腳為輸出 sysctlperienable(led6_periph); / 使能led所在的gpio端口 gpiopintypeout(led6_port, led6_pin); / 設(shè)置led所在管腳為輸出 sysctlperienable(beep_periph); / 使能led所在的gpio端口 gpiopintypeout(beep_port, beep_pin); / 設(shè)置led所在管腳為輸出 gpiopinwrite(led1_port, led1_pin, 0xff); / 熄滅led gpiopinwrite(led2_port, led2_pin, 0xff); / 熄滅led gpiopinwrite(led3_port, le

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論