嵌入式系統(tǒng)設(shè)計(jì)報(bào)告_第1頁
嵌入式系統(tǒng)設(shè)計(jì)報(bào)告_第2頁
嵌入式系統(tǒng)設(shè)計(jì)報(bào)告_第3頁
嵌入式系統(tǒng)設(shè)計(jì)報(bào)告_第4頁
嵌入式系統(tǒng)設(shè)計(jì)報(bào)告_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、嵌入式系統(tǒng)設(shè)計(jì)報(bào)告院系: 專業(yè): 教師: 學(xué)號(hào): 姓名: 完成時(shí)間 設(shè)計(jì)背景:在學(xué)習(xí)了半個(gè)學(xué)期的嵌入式系統(tǒng)課程后,在進(jìn)行了嵌入式的4個(gè)基礎(chǔ)實(shí)驗(yàn)后,對(duì)于嵌入式系統(tǒng)的開發(fā)環(huán)境和magicarm2410平臺(tái)都有了初步的了解,試驗(yàn)中通過程序控制magicarm2410平臺(tái)上的電機(jī)、顯示屏、蜂鳴器和led燈等實(shí)驗(yàn)引起了我們極大地興趣,為了實(shí)踐創(chuàng)新,鞏固知識(shí),所有有了這次的實(shí)驗(yàn)設(shè)計(jì)。設(shè)計(jì)思路:本次嵌入式實(shí)驗(yàn)設(shè)計(jì)基于magicarm2410平臺(tái),設(shè)想在基礎(chǔ)實(shí)驗(yàn)2.8的基礎(chǔ)上尋找創(chuàng)新。由原效果:蜂鳴器響一次之后led管閃爍5次,經(jīng)過編程改變后實(shí)現(xiàn)蜂鳴器響一次,led閃一次循環(huán)一次,共5次的效果。系統(tǒng)具體設(shè)計(jì):

2、 magicarm241采用arm9作為主控制器,以cos-ii操作系統(tǒng)作為系統(tǒng)平臺(tái),使用code warrior開發(fā)環(huán)境作為開發(fā)工具,軟件采用c語言和api編程技術(shù),s3c2410a具有117個(gè)通用i/o口,分為ah等8個(gè)端口,由于每個(gè)i/o都有第2功能,甚至第3功能,所以需要通過設(shè)置gpiocon寄存器來選擇gpioi/o的功能,其中x可以為a、b、c、d、e、f、g、h,表示相應(yīng)的i/o端口。 具體到程序設(shè)計(jì)時(shí),在主函數(shù)中所調(diào)用的函數(shù)有:delayns(uint32 dly),void runbeep(void),void led_dispallon(void),void led_dis

3、palloff(void),void led_dispnum(uint32 dat),這幾個(gè)函數(shù)實(shí)現(xiàn)了蜂鳴器報(bào)警,led管閃爍等效果。 程序設(shè)計(jì)框圖如下:程序調(diào)試及結(jié)果分析1、端口定義:為四個(gè)顯示led燈和驅(qū)動(dòng)蜂鳴器定義端口。 2、對(duì)于led燈顯示,定義void led_dispnum(uint32 dat)函數(shù),控制燈顯示。 3、對(duì)于蜂鳴器,定義void runbeep(void)函數(shù),用于驅(qū)動(dòng)蜂鳴器響。4、在執(zhí)行程序時(shí)的確以以蜂鳴器響一次,led閃一次為一個(gè)循環(huán),共循環(huán)5次。5、程序主體部分:=#include config.h/ 定義led控制口 (輸出高電平時(shí)點(diǎn)亮led)#define

4、 led1_con (111) /* gpe11口 */#define led2_con (112) /* gpe12口 */#define led3_con (14) /* gph4口 */#define led4_con (16) /* gph6口 */ 定義蜂鳴器控制口#define beep (10; dly-) for(i=0; i50000; i+);void runbeep(void) rgphdat = rgphdat & beep_mask; / beep = 0 delayns(5); rgphdat = rgphdat | beep; / beep = 1 delayns

5、(5); void led_dispallon(void) rgpedat = rgpedat | (0x0311); rgphdat = rgphdat | (0x054); void led_dispalloff(void) rgpedat = rgpedat & (0x0311); rgphdat = rgphdat & (0x054); void led_dispnum(uint32 dat) dat = dat & 0x0000000f; / 參數(shù)過濾 / 控制led4、led3顯示(d3、d2位) if(dat & 0x08) rgphdat = rgphdat | (0x016)

6、; else rgphdat = rgphdat & (0x016); if(dat & 0x04) rgphdat = rgphdat | (0x014); else rgphdat = rgphdat & (0x014); / 控制led2、led1顯示(d1、d0位) rgpedat = (rgpedat & (0x0311) | (dat&0x03) 11); int main(void) int i; / 初始化i/o rgpecon = (rgpecon & (0x0f22) | (0x0522); / rgpecon25:22 = 0101b,設(shè)置gpe11、gpe12為gpio

7、輸出模式 rgphcon = (rgphcon & (0x338) | (0x118); / rgphcon13:8 = 01xx01b,設(shè)置gph4、gph6為gpio輸出模式 rgphcon = (rgphcon & (0x0320) | (0x0120); / rgphcon21:20 = 01b,設(shè)置gph10為gpio輸出模式 / led顯示控制 while(1) for(i=0; i5; i+) runbeep(); / 蜂鳴器響一聲led_dispalloff(); / led全熄滅 delayns(5);led_dispallon(); / led全點(diǎn)亮 delayns(5); / 控制led指示0f的16進(jìn)制數(shù)值 for(i=0; i16; i+) led_dispnum(i); / 顯示數(shù)值i delayns(5); return(0);/* end of file個(gè)人工作與自我評(píng)估在小組討論后選定了以基礎(chǔ)實(shí)驗(yàn)2.8為參考設(shè)計(jì),進(jìn)行功能上的創(chuàng)新,由我提出了修改的方案并參與到編程中去,然則選定設(shè)計(jì)看似簡(jiǎn)單的構(gòu)想到真實(shí)動(dòng)手操作是還是遇到了很多問題,開發(fā)環(huán)境的不熟悉,還有各種工程上的編程習(xí)慣讓我們對(duì)原程序的的理解上架設(shè)了困難,不過最后終于能夠攻破各各難關(guān),大家都頗感欣慰,從這個(gè)實(shí)驗(yàn)中我也學(xué)到了很多,也感到了自身很多的薄弱環(huán)節(jié)和不足,我為

溫馨提示

  • 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)論