(2021年整理)2013嵌入式系統(tǒng)課程設(shè)計(jì)_第1頁
(2021年整理)2013嵌入式系統(tǒng)課程設(shè)計(jì)_第2頁
(2021年整理)2013嵌入式系統(tǒng)課程設(shè)計(jì)_第3頁
(2021年整理)2013嵌入式系統(tǒng)課程設(shè)計(jì)_第4頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2013嵌入式系統(tǒng)課程設(shè)計(jì)2013嵌入式系統(tǒng)課程設(shè)計(jì) 編輯整理:尊敬的讀者朋友們:這里是精品文檔編輯中心,本文檔內(nèi)容是由我和我的同事精心編輯整理后發(fā)布的,發(fā)布之前我們對文中內(nèi)容進(jìn)行仔細(xì)校對,但是難免會有疏漏的地方,但是任然希望(2013嵌入式系統(tǒng)課程設(shè)計(jì))的內(nèi)容能夠給您的工作和學(xué)習(xí)帶來便利。同時(shí)也真誠的希望收到您的建議和反饋,這將是我們進(jìn)步的源泉,前進(jìn)的動力。本文可編輯可修改,如果覺得對您有幫助請收藏以便隨時(shí)查閱,最后祝您生活愉快 業(yè)績進(jìn)步,以下為2013嵌入式系統(tǒng)課程設(shè)計(jì)的全部內(nèi)容。19軟 件 學(xué) 院課程設(shè)計(jì)報(bào)告書課程名稱 嵌入式系統(tǒng) 設(shè)計(jì)題目 模擬電梯控制系統(tǒng) 專業(yè)班級 學(xué) 號 姓 名 指

2、導(dǎo)教師 2013年 6 月 目錄1 設(shè)計(jì)時(shí)間32 設(shè)計(jì)目的33 設(shè)計(jì)任務(wù)34 設(shè)計(jì)內(nèi)容34.1 總體方案設(shè)計(jì)34.1。1 需求規(guī)定34.1.2核心部件選型44.1.3系統(tǒng)開發(fā)環(huán)境44.2硬件設(shè)計(jì)54。2.1硬件開發(fā)環(huán)境簡介54。3軟件設(shè)計(jì)64.3。1軟件開發(fā)環(huán)境介紹64。3。2主程序設(shè)計(jì)及流程圖74。3.3中斷程序設(shè)計(jì)及流程圖75總結(jié)14參考文獻(xiàn)15成績評定151 設(shè)計(jì)時(shí)間 時(shí)間:2013年6月7日2013年6月14日2 設(shè)計(jì)目的本課程設(shè)計(jì)是學(xué)習(xí)嵌入式系統(tǒng)課程后必要的實(shí)踐教學(xué)環(huán)節(jié)。是檢驗(yàn)學(xué)生是否掌握相關(guān)專業(yè)課程知識的重要手段,以學(xué)生為主體,充分調(diào)動學(xué)生的積極性和創(chuàng)造性,重視學(xué)生實(shí)際動手能力的培

3、養(yǎng)。課程設(shè)計(jì)通過使學(xué)生加深理解、鞏固課堂教學(xué)和平時(shí)實(shí)驗(yàn)內(nèi)容。本次課程設(shè)計(jì)師利用嵌入式系統(tǒng)所學(xué)的知識,設(shè)計(jì)一個(gè)模擬電梯控制系統(tǒng).3 設(shè)計(jì)任務(wù) 模擬電梯系統(tǒng)的設(shè)計(jì)要求如下:(1)通過鍵盤輸入層數(shù),輸入之后led小燈從當(dāng)前位置向上或向下運(yùn)行。(2)運(yùn)行到對應(yīng)的樓層,數(shù)碼管顯示樓層號。(3)led燈表示運(yùn)行樓層。(4)數(shù)碼管數(shù)字大小的增減表示向上、向下.4 設(shè)計(jì)內(nèi)容4.1 總體方案設(shè)計(jì)4.1.1 需求規(guī)定 本設(shè)計(jì)采用at89s51單片機(jī)作為核心,配以適當(dāng)接口作為輸入輸出通道。采用44按鍵矩陣開關(guān)電路作為外呼內(nèi)選呼叫控制.實(shí)際電梯控制系統(tǒng)每層裝有一個(gè)傳感器,從而判斷車廂所在位置,本模型由六個(gè)獨(dú)立按鍵作為

4、樓層到達(dá)信號傳輸給單片機(jī),而后通過74ls164從串口驅(qū)動數(shù)碼管顯示樓層數(shù)。當(dāng)電梯到達(dá)所選層,電梯開門延時(shí)等待進(jìn)人并選層,然后延時(shí)關(guān)門執(zhí)行請求,若無請求則停在本層等待請求.軟件部分使用匯編語言,利用查詢方式來檢測用戶請求的按鍵信息,采用74ls245芯片驅(qū)動發(fā)光二極管。電路由復(fù)位電路復(fù)位后,電梯初始位置在一樓,at89s51將樓層感應(yīng)電路得來的據(jù)通過74ls164驅(qū)動顯示電路顯示出來;如有用戶在廂外呼叫,經(jīng)外呼叫電路把信號輸入單片機(jī),由樓層感應(yīng)電路判斷電梯為上升還是下降狀態(tài),若方向一致則打開電梯門,用戶進(jìn)入后關(guān)門執(zhí)行操作。用戶通過選層電路把目的層告知at89s51,控制電機(jī)把用戶送至目的層,而

5、后系統(tǒng)等待下次呼叫。系統(tǒng)的正常工作由時(shí)鐘電路來保證,顯示電路實(shí)時(shí)顯示電梯所在的樓層位置。4。1.2核心部件選型1。at89s51 at89s51是一個(gè)低功耗,高性能cmos 8位單片機(jī),片內(nèi)含4k bytes isp(in-system programmable)的可反復(fù)擦寫1000次的flash只讀程序存儲器,器件采用atmel公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)mcs51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和isp flash存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的at89s51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。at89s51具有如下特點(diǎn):40個(gè)引腳

6、,4k bytes flash片內(nèi)程序存儲器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(ram),32個(gè)外部雙向輸入/輸出(i/o)口,5個(gè)中斷優(yōu)先級2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(wdt)電路,片內(nèi)時(shí)鐘振蕩器。 此外,at89s51設(shè)計(jì)和配置了振蕩頻率可為0hz并可通過軟件設(shè)置省電模式??臻e模式下,cpu暫停工作,而ram定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存ram的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有pdip、tqfp和plcc等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 4.1。3系統(tǒng)開發(fā)環(huán)境開發(fā)

7、環(huán)境搭建步驟:1、根據(jù)需求確定開發(fā)工具。 2、認(rèn)識并了解開發(fā)板. 3、根據(jù)項(xiàng)目要求,配置嵌入式操作系統(tǒng)。 4、配置主機(jī)環(huán)境:安裝linux。 5、在主機(jī)上制作交叉工具鏈,制作調(diào)試器gdb。 6、使用制作好的交叉工具鏈在主機(jī)上對bootloader進(jìn)行交叉編譯,形成可執(zhí)行的bootloader鏡像文件,通過flash編程器把該bootloader鏡像文件燒寫到目標(biāo)板上的flash中。 7、在主機(jī)上配置串口終端,使用串口線,連接主機(jī)和目標(biāo)板的串口. 8、在主機(jī)上進(jìn)行應(yīng)用程序源代碼編寫。然后在主機(jī)上進(jìn)行源代碼的編寫。然后在主機(jī)上通過交叉編譯,形成可執(zhí)行程序。把該可執(zhí)行程序下載到目標(biāo)板上,然后在目標(biāo)板

8、上啟動該程序.4。2硬件設(shè)計(jì)4。2.1硬件開發(fā)環(huán)境簡介 eeliod270教學(xué)開發(fā)平臺基于intel xscale架構(gòu)最新的pxa270嵌入式微處理器。最高主頻可達(dá)520mhz,可運(yùn)行l(wèi)inux 和linux 2。6。11的linux的操作系統(tǒng),支持tinyx、qt/e等gui嵌入式圖形用戶界面,提供完整的驅(qū)動和應(yīng)用程序.同時(shí)還可以支持最新的windows ce 5。0。net操作系統(tǒng)。4.2。2硬件模塊設(shè)計(jì)1。按鍵輸入模塊: 圖1 按鍵輸入檢測電路圖2. 數(shù)碼管模塊: 圖2 八段數(shù)碼管電路圖3. led顯示模塊: 圖3 led顯示模塊電路圖4。3軟件設(shè)計(jì)4.3.1軟件開發(fā)環(huán)境介紹 ads集成

9、開發(fā)環(huán)境是arm公司推出的arm核微控制器集成開發(fā)工具,英文成熟版本為ads1.2。ads1.2支持arm10之前的所有arm系列微控制器,可以在windows98、windows xp、windows2000以及redhat linux上運(yùn)行。全稱為arm developer suite,他的功能非常強(qiáng)大。他的前身是sdt,sdt是arm公司幾年前的開發(fā)環(huán)境軟件,目前sdt早已經(jīng)不再升級.ads包括了四個(gè)模塊分別是:simulator;c 編譯器;實(shí)時(shí)調(diào)試器;應(yīng)用函數(shù)庫。ads的編譯器調(diào)試器較sdt都有了非常大的改觀, ads1.2提供完整的windows界面開發(fā)環(huán)境。c編譯器效率極高,支持

10、c 以及c+,使工程師可以很方便的使用c語言進(jìn)行開發(fā)。提供軟件模擬仿真功能,使沒有emulators的學(xué)習(xí)者也能夠熟悉arm的指令系統(tǒng).配合fft-ice使用,ads1.2提供強(qiáng)大的實(shí)時(shí)調(diào)試跟蹤功能,片內(nèi)運(yùn)行情況盡在掌握.ads1.2需要硬件支持才能發(fā)揮強(qiáng)大功能。目前支持的硬件調(diào)試器有multi-ice以及兼容multi-ice的調(diào)試工具如fft-ice.ads由命令行開發(fā)工具,arm實(shí)時(shí)庫,gui開發(fā)環(huán)境(code warrior和axd),適用程序和支持軟件組成。4.3。2主程序設(shè)計(jì)及流程圖 圖4 主程序流程圖4.3。3中斷程序設(shè)計(jì)及流程圖 圖5判斷中斷服務(wù)子程序流程圖 4。3。4軟件設(shè)計(jì)

11、定義模塊:#include ”config。h”/ led8led1 8個(gè)led分別由p1.25p1。18控制 */const uint32 leds8 = (0xff 18); / p125:18控制led8led1,低電平點(diǎn)亮 #define hc595_cs (1 next=lnext;lnext=p;vicvectaddr = 0x00; / 中斷處理結(jié)束elsercv_new = 0; / 設(shè)置接收到新的數(shù)據(jù)標(biāo)志vicvectaddr = 0x00; / 中斷處理結(jié)束* 函數(shù)名稱 :uart0_sendbyte()* 函數(shù)功能 :向串口0發(fā)送1字節(jié)數(shù)據(jù)* 入口參數(shù) :dat要發(fā)送的數(shù)

12、據(jù)* 出口參數(shù) :無void uart0_sendbyte (uint8 dat)u0thr = dat; / 要發(fā)送的數(shù)據(jù)* 函數(shù)名稱 :uart0_sendbuf()* 函數(shù)功能 :向串口發(fā)送8字節(jié)數(shù)據(jù)* 入口參數(shù) :無* 出口參數(shù) :無void uart0_sendbuf (void)uint8 i;/for (i=0; i8; i+)uart0_sendbyte(lnextfloor);while ((u0lsr 0x20) = 0); / 等待數(shù)據(jù)發(fā)送完畢主程序模塊: 函數(shù)名稱 :main() 函數(shù)功能 :從串口uart0接收字符串”abcdefgh”,并發(fā)送回上位機(jī)顯示。* 調(diào)試說

13、明 :需要pc串口顯示終端軟件如easyarm.exe。uint8 rcv_data; int main (void)node *p;uint8 start,end; uint8 i,j, sum = 0,k; uint32 temp; l=(linklist)malloc(sizeof(node);lnext=null; uartmode set;start = 1;set。datab = 8;set.stopb = 1;set.parity = 0;rcv_new = 0;loop:pinsel0 = 0x00005505;/ 設(shè)置i/o連接到uart0pinsel1 = 0x000000

14、00;iodir = hc595_cs; pinsel2 = pinsel2 & (0x08); / p125:16連接gpioio1dir = leds8; / 設(shè)置led1控制口為輸出mspi_init(); / 初始化spi接口uart0_init(115200, set); / 串口初始化u0fcr = 0x01; / 使能fifo,并設(shè)置觸發(fā)點(diǎn)為8字節(jié)u0ier = 0x01; / 允許rbr中斷,即接收中斷irqenable(); / 使能irq中斷/ 使能uart0中斷 */vicintselect = 0x00000000; / 設(shè)置所有的通道為irq中斷vicvectcntl

15、0 = 0x20 0x06; / uart0分配到irq slot0,最高優(yōu)先級vicvectaddr0 = (uint32)irq_uart0;/ 設(shè)置uart0向量地址vicintenable = 1 0x06; / 使能uart0中斷 p=lnext;while (1)if (rcv_new = 1)rcv_new =0;end = rcv_buf0-48;uart0_sendbyte(pfloor);/uart0_sendbuf();if(start end)for(i=start; i=end; i+) for(j=start; j=end; j+) sum += led_tblj;

16、io1set = ((sum) 18);delayns(20);io1clr = ((sum) =end; j-) sum += led_tblj;io1set = ((sum) 18);delayns(20);io1clr = ((sum) 18); delayns(20); rcv_data = mspi_senddata(disp_tabi);/ 發(fā)送顯示數(shù)據(jù) /delayns(20); / 延時(shí) sum =0; for(k=0;k4;k+) pinsel0 = 0x00000000; / 設(shè)置管腳連接gpioio0dir = beep; / 設(shè)置beep控制口為輸出 io0set =

17、beep; / beep 停止蜂鳴delayns(20);io0clr = beep; / beep 蜂鳴delayns(20);io0set = beep; start = end; goto loop; rcv_data = mspi_senddata(disp_tabend-48);/ 發(fā)送顯示數(shù)據(jù) delayns(40); / 延時(shí) return 0;5總結(jié)通過這次課程設(shè)計(jì)我學(xué)到很多知識,這些知識不僅僅是課本上的,更多的是實(shí)際操作中的,學(xué)會了很多新的解題思路,并且還學(xué)會了遇到困難的時(shí)候如何與同學(xué)一起溝通來完成任務(wù),為以后的工作奠定了良好的團(tuán)隊(duì)合作基礎(chǔ)。當(dāng)然設(shè)計(jì)中還遇到了一些問題,比如:當(dāng)輸入的樓層有多個(gè)時(shí),因?yàn)榫彺鏀?shù)組只有八個(gè),所以會有丟失數(shù)據(jù)的現(xiàn)象。后來請教同學(xué)得到了正確的解決辦法:緩存用鏈表來存數(shù)據(jù),這樣既可以避免數(shù)據(jù)丟失,而且在用完一個(gè)數(shù)據(jù)后可以及時(shí)釋放,避免了空間的浪費(fèi)。還遇到的問題有電梯只能按照輸入的順序來運(yùn)作,不能夠判斷最優(yōu)路徑。還是經(jīng)過與同學(xué)的討論最終得出了解決辦法:在電梯運(yùn)作之前,對緩存的數(shù)據(jù)進(jìn)行優(yōu)化排序,選出最優(yōu)路徑再運(yùn)作。在這次課設(shè)中我還學(xué)到了很多書本上沒有的關(guān)于arm的知識,arm是一門很實(shí)用的課程,如果能夠掌握好,將會對以后的學(xué)習(xí)和工

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論