

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 嵌入式硬件課程設(shè)計報告</p><p> 嵌入式系統(tǒng)硬件課程設(shè)計題目</p><p><b> 電梯系統(tǒng)</b></p><p><b> 一、實驗目的</b></p><p> 1、熟悉ARM開發(fā)板的基本使用和基本開發(fā)流程。</p><p>
2、 2、加強對嵌入式操作系統(tǒng)的了解,加強對課內(nèi)知識的使用。</p><p> 3、熟悉基本的單片機開發(fā)環(huán)境。</p><p> 4、鍛煉一定團隊合作能力以及對嵌入式問題的解決能力。</p><p><b> 二、實驗儀器及設(shè)備</b></p><p> 安裝開發(fā)環(huán)境的PC機 ARM7實驗板及相應鏈接線 AK S
3、eries Emulator仿真器 </p><p><b> 三、實驗內(nèi)容或任務</b></p><p><b> 1、基本實驗</b></p><p> 內(nèi)容1:ARM(LPC2131)&ADS V1.2環(huán)境熟悉</p><p> LPC2131 硬件環(huán)境介紹;</p>
4、;<p><b> ADS 工具簡介;</b></p><p> 要求:了解LPC2131 Demo Board 資源、環(huán)境;掌握ADS工具使用。</p><p> 內(nèi)容2:ADS 模板工具& ARM C語言程序設(shè)計</p><p> ADS環(huán)境中編程模板的理解與使用;</p><p>
5、使用ADS工具,基于LPC2131進行簡單的C程序設(shè)計;</p><p> 要求:熟練掌握ADS工具的使用,掌握ARM C程序設(shè)計、調(diào)試技術(shù);</p><p> 內(nèi)容3:GPIO Output(LED、Beep)實驗</p><p> 理解ARM 芯片引腳功能選擇;</p><p> 理解GPIO的使用設(shè)置、輸出驅(qū)動方法;</p
6、><p> 熟練掌握ADS工具,基于LPC2131進行簡單的C程序設(shè)計;</p><p> 要求:實現(xiàn)一個秒閃航標燈和蜂鳴。</p><p> 內(nèi)容4:GPIO Input(Key Input)實驗</p><p> 理解ARM 芯片引腳功能選擇;</p><p> 理解GPIO的使用設(shè)置、輸入驅(qū)動方法;<
7、/p><p> 熟練掌握ADS工具,基于LPC2131進行簡單的C程序設(shè)計;</p><p> 要求:實現(xiàn)一個秒閃航標燈和可按鍵控制的蜂鳴器。</p><p> 內(nèi)容5:Eint VIC實驗</p><p> 理解ARM 芯片引腳功能選擇;</p><p> 理解外中斷的含義與應用;</p><
8、;p> 熟練掌握ADS工具,基于LPC2131進行簡單的C程序設(shè)計;</p><p> 要求:實現(xiàn)一個秒閃航標燈和可按鍵控制的蜂鳴器(用外中斷方式實現(xiàn))。</p><p><b> 內(nèi)容6:定時器</b></p><p> 理解ARM 芯片引腳功能選擇;</p><p> 理解GPIO的使用設(shè)置、輸入/輸
9、出驅(qū)動方法;</p><p> 熟練掌握ADS工具,基于LPC2131進行簡單的C程序設(shè)計;</p><p> 要求:基于ucosII的GPIO、定時器、RTC、串口等綜合實驗。</p><p> 內(nèi)容7:異步串行口UART</p><p> 理解ARM 芯片引腳功能選擇;</p><p> 理解GPIO的使
10、用設(shè)置、輸入/輸出驅(qū)動方法;</p><p> 理解UART串行通信原理,學習ARM UART資源的驅(qū)動編程;</p><p> 熟練掌握ADS工具,基于LPC2131進行簡單的C程序設(shè)計;</p><p> 要求:結(jié)合前邊內(nèi)容,實現(xiàn)LPC2131和PC端串行傳輸數(shù)據(jù)信息。</p><p><b> 2.、選題實驗</
11、b></p><p><b> 電梯控制系統(tǒng)</b></p><p> 要求該控制器應具備如下功能:</p><p> 通過鍵盤輸入樓層,輸入之后數(shù)碼管從當前位置向上或向下運行。流水燈表示運動方向。</p><p> 流水燈在運行中顯示電梯正在運行的方向,并且在電梯到達時在該樓層亮閃3次。</p>
12、;<p> 運行到對應樓層,顯示樓層號。</p><p><b> 燈表示運行樓層</b></p><p> 可同時滿足多用戶需求。達到該系統(tǒng)與現(xiàn)實電梯系統(tǒng)的一致性。</p><p> 數(shù)碼管數(shù)字大小增減表示向上、向下。</p><p><b> 四、設(shè)計過程</b><
13、/p><p><b> 設(shè)計方案:</b></p><p> 本課題需要設(shè)計出一個模擬的電梯系統(tǒng),與現(xiàn)實聯(lián)系緊密,設(shè)計出一個符合人性化的電梯系統(tǒng),通過鍵盤輸入按鍵方式模擬用戶按鍵,對不同樓層用戶自動選擇優(yōu)先級,與現(xiàn)實中的電梯系統(tǒng)達到一致。</p><p> 使用AK Series Emulator仿真器連接PC與ARM7開發(fā)板,PC連接ARM
14、7供電。</p><p><b> 連接實物圖如下:</b></p><p> 其余需要通過編程完成。</p><p> 程序中的主要模塊設(shè)計:</p><p> 電梯向上或者向下搜索函數(shù)。</p><p> 主要完成電梯的向上向下搜索任務。如果還有按鍵的狀態(tài)處于按下狀態(tài)。則會把按下的樓
15、層數(shù)存儲于目標樓層中。</p><p> int8 searchup()</p><p><b> {</b></p><p><b> int8 i;</b></p><p> for(i = current; layer[i] == unpressed && i <
16、; maxlayer; i++);</p><p> if( i != maxlayer)</p><p><b> {</b></p><p> target = i;</p><p><b> return 1;</b></p><p><b> }
17、</b></p><p> return -1;</p><p><b> }</b></p><p> int8 searchdown()</p><p><b> {</b></p><p><b> int8 i;</b>
18、</p><p> for(i = current; layer[i] == unpressed && i >= 0; i--);</p><p> if( i >= 0)</p><p><b> {</b></p><p> target = i;</p><
19、p><b> return 1;</b></p><p><b> }</b></p><p> return -1;</p><p><b> }</b></p><p><b> 電梯活動任務函數(shù):</b></p>&l
20、t;p> 判斷目標樓層與當前樓層關(guān)系并且做出判斷是電梯進入上升、下降或者停止的活動。并且控制數(shù)碼管與電梯樓層一起運動。</p><p> void LiftAct(void *pdata)</p><p><b> {</b></p><p> pdata = pdata;</p><p> MSPI_S
21、endData(DISP_TAB[current]);</p><p> OSTimeDly(OS_TICKS_PER_SEC << 1);</p><p> uartInit();</p><p><b> while(1)</b></p><p><b> {</b><
22、/p><p> if (target > current)</p><p><b> {</b></p><p> liftstate = up;</p><p> current ++;</p><p><b> } </b></p><
23、p> else if(target < current)</p><p><b> {</b></p><p> liftstate = down;</p><p> current --;</p><p><b> } </b></p><p>
24、else if(target == current )</p><p><b> {</b></p><p> layer[current] = unpressed; </p><p> liftstate = arrive;</p><p><b> } </b></p&g
25、t;<p> MSPI_SendData(DISP_TAB[current]);</p><p> OSTimeDly(OS_TICKS_PER_SEC << 1);</p><p><b> }</b></p><p><b> }</b></p><p>&l
26、t;b> 找尋下個目標函數(shù):</b></p><p> 通過電梯的狀態(tài)。判斷電梯運行的下一個目標。實現(xiàn)模擬系統(tǒng)與現(xiàn)實電梯的結(jié)合??膳袛嘞葷M足哪一個用戶的需求。</p><p> void FindTarget(void *pdata) </p><p><b> {</b></p><p>
27、int8 flag;</p><p> pdata = pdata;</p><p><b> while(1)</b></p><p><b> {</b></p><p> if(liftstate == up || liftstate == stop)</p><p
28、><b> {</b></p><p> flag = searchup();</p><p> if(flag == -1)//if not find,find down</p><p> searchdown();</p><p><b> }</b></p>
29、;<p> else if(liftstate == down)</p><p><b> {</b></p><p> flag = searchdown();</p><p> if(flag == -1)</p><p> searchup();//if not find,find
30、 up </p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 程序運行流程圖:</b></p><p><b> 五、實驗
31、過程</b></p><p><b> 實驗步驟:</b></p><p> 1、連接PC、仿真器與AM7開發(fā)板。安裝仿真器AK Series Emulator驅(qū)動。打開ASD環(huán)境,加載仿真器驅(qū)動。</p><p> 2、熟悉基本的開發(fā)步驟,開始做基本實驗,對ARM7開發(fā)板的使用做一個基本的了解并且按要求完成基本實驗需要達到的
32、要求。</p><p> 3、熟悉AXD開發(fā)環(huán)境。對需要完成的程序列出具體框架。通過配合完成此次試驗電梯系統(tǒng)的大部分代碼。</p><p> 4、將代碼加以整合,調(diào)試程序,完成既定要求并且燒入開發(fā)板。完成此次實驗的要求并且加以優(yōu)化改善。</p><p><b> 遇到的問題:</b></p><p> 此次試驗的
33、過程中,剛開始很難做到滿足不同用戶的需求,并且選擇優(yōu)先級,與現(xiàn)實中電梯的功能達到一致。</p><p> 程序調(diào)試的過程中用PC輸入數(shù)據(jù)無法到達開發(fā)板,未建立按鍵輸入,沒有與開發(fā)板建立通訊,使程序無法執(zhí)行。</p><p><b> 解決辦法:</b></p><p> 通過使用AXD環(huán)境下的U-COSII操作系統(tǒng)對代碼進行任務處理。使部
34、分程序可以并行。其次通過編寫更多模塊如:電梯運動模塊,電梯向上向下搜索模塊,查找下一樓層模塊。達到了電梯運行時的智能化??勺詣訚M足多用戶需求。程序會自動判斷電梯正在運行的狀態(tài),通過判斷狀態(tài),記錄下個目標樓層,會優(yōu)先滿足在當前狀態(tài)下的樓層的用戶的需求。達到了與現(xiàn)實中電梯運行模式的一致。</p><p> 對代碼進行多次調(diào)試,找出代碼中并不報錯但是會影響程序優(yōu)劣的錯誤并且加以改善。找出了其中無法完成開發(fā)板與PC機建
35、立通訊的錯誤。是程序得以運行。</p><p><b> 實驗結(jié)果:</b></p><p> 通過鍵盤按鍵輸入樓層數(shù),發(fā)送到開發(fā)板,數(shù)碼管和LED燈初始化時會停留在電梯的第一層。接受到數(shù)據(jù)后數(shù)碼管會自動變化到該樓層,并且LED燈在數(shù)碼管變化的同時會顯示電梯當前的運動狀態(tài),上或者下。在程序運行的任何期間都可以從鍵盤輸入電梯的樓層數(shù)。而且程序會自動判斷要滿足的用戶的
36、優(yōu)先級。</p><p> 此次試驗達到的效果基本與現(xiàn)實中電梯的運行模式達到了一致。</p><p> 六、實驗總結(jié)和實驗心得</p><p> 此次試驗從開始接觸開發(fā)到最終完成課題經(jīng)歷了許多問題。主要是對代碼的編寫以及調(diào)試。喝多時候代碼無法滿足該試驗的功能,在一次次的不斷努力中終于達到了完成此次試驗的最終效果。</p><p> 通
37、過本次試驗,是我更加認識到了課本知識的重要性。理論知識是與實踐并行的,同時在試驗中也遇到了很多的困難。不斷的查閱資料,不斷的對程序需要的代碼加以編寫、改動。在試驗的過程中,也感受到了一個小團隊協(xié)作的重要性,雖然僅僅只有兩人,但是在合作方面也是需要講究一定的方式方法和配合分工的。希望在日后的學習生活中,有更多的這種將理論知識付諸于實踐中的課程設(shè)計,讓我們從理論與能力兩個層面上達到更高的層次。</p><p> 嵌
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《嵌入式系統(tǒng)設(shè)計》課程設(shè)計報告
- 嵌入式課程設(shè)計報告2
- 嵌入式課程設(shè)計報告---嵌入式文件鎖應用
- 嵌入式課程設(shè)計報告 (2)
- 嵌入式課程設(shè)計報告91452
- 嵌入式系統(tǒng)綜述課程設(shè)計
- 嵌入式課程設(shè)計
- 嵌入式課程設(shè)計
- 嵌入式課程設(shè)計---嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)
- 課程設(shè)計---嵌入式系統(tǒng)項目設(shè)計
- 嵌入式觸摸屏課程設(shè)計---arm嵌入式系統(tǒng)
- 嵌入式課程設(shè)計報告--數(shù)字相框
- 嵌入式課程設(shè)計
- 嵌入式課程設(shè)計
- 嵌入式課程設(shè)計
- 嵌入式課程設(shè)計
- 嵌入式課程設(shè)計報告--qtopia移植
- 鹽城工學院嵌入式系統(tǒng)課程設(shè)計報告
- 嵌入式系統(tǒng)開發(fā)設(shè)計課程設(shè)計
- 嵌入式課程設(shè)計報告畢業(yè)論文
評論
0/150
提交評論