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

下載本文檔

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

文檔簡(jiǎn)介

1、嵌入式系統(tǒng)(xtng)課程設(shè)計(jì)電氣(dinq)學(xué)院 陳剛共二十八頁(yè)1. 了解基于ARM7核的單片機(jī)LPC2106的內(nèi)部結(jié)構(gòu)和基本工作原理,清楚LPC2106的管腳分布,重點(diǎn)掌握與輸入輸出相關(guān)以及與中斷(zhngdun)相關(guān)的寄存器設(shè)置;2. 掌握ARM7應(yīng)用系統(tǒng)編程開(kāi)發(fā)方法,能用C語(yǔ)言編寫(xiě)應(yīng)用程序;3. 了解嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-可移植、可裁剪等性能特點(diǎn),正確理解實(shí)時(shí)操作系統(tǒng)中任務(wù)、信號(hào)、消息、中斷等基本概念以及uC/OS-多任務(wù)管理的調(diào)度算法;4掌握uC/OS-在ARM7上移植的方法,能將uC/OS-移植在LPC2106中,并根據(jù)具體要求創(chuàng)建用戶任務(wù),解決實(shí)際問(wèn)題;5熟練掌握ADS1

2、.2軟件的使用以及PROTEUS仿真調(diào)試的方法。十字路口交通燈控制;uC/OS-的移植與應(yīng)用。(實(shí)時(shí)溫度的采集控制) 課程設(shè)計(jì)目的(md)課程設(shè)計(jì)任務(wù)共二十八頁(yè)1 基于(jy)ARM核的LPC2106介紹共二十八頁(yè) ARM7TDMI-S 處理器 ; 128k 字節(jié)片內(nèi)Flash 程序存儲(chǔ)器,具有ISP 和IAP 功能。Flash 編程時(shí)間:1ms 可 編程512 字節(jié),扇區(qū)擦除或整片擦除只需400ms。 64/32/16K 字節(jié)靜態(tài)RAM (LPC2106/2105/2104 ) 。 極小封裝:TQFP48。 向量中斷控制器控制中斷; 雙UART,其中一個(gè)帶有完全的調(diào)制解調(diào)器接口。 具有I 2

3、C串行接口和 SPI 串行接口; 兩個(gè)定時(shí)器,分別具有4 路捕獲/ 比較(bjio)通道; 多達(dá)6 路輸出的PWM 單元; 實(shí)時(shí)時(shí)鐘;看門(mén)狗定時(shí)器 ; 通用I/O 口 ; CPU 操作頻率可達(dá)60MHz;雙電源: CPU 操作電壓范圍: 1.65V1.95V(1.8V8.3%) , I/O 電壓范圍:3.0V3.6V(3.3V10%) ; 兩個(gè)低功耗模式:空閑和掉電; 片內(nèi)PLL 允許CPU 以最大速度運(yùn)行,可以在超過(guò)整個(gè)晶振操作頻率范圍的情況下使用。 共二十八頁(yè)2 LPC2106管腳介紹(jisho)共二十八頁(yè)3 LPC2106的I/O端口設(shè)置(shzh) 寄存器PINSEL0和PINSEL

4、1的設(shè)置。 LPC2106的I/O口全都是3功能服用(f yn)端口,也就是說(shuō)即可用作普通輸入輸出端口,又用作第2或第3種功能。設(shè)計(jì)人員可根據(jù)需要設(shè)置兩個(gè)32位特殊功能寄存器PINSEL0和PINSEL1。PINSEL0對(duì)應(yīng)引腳P0.0P0.15,PINSEL1對(duì)應(yīng)引腳P0.16P0.31。都是寄存器中用兩位來(lái)完成1根引腳的功能設(shè)置。共二十八頁(yè)(2)GPIO方向寄存器設(shè)置(shzh)當(dāng)管腳配置為GPIO 模式時(shí),可使用該寄存器控制管腳的方向。任意管腳的方向位的設(shè)置必須與管腳功能一致。 輸出置1寄存器IOSET當(dāng)管腳配置為GPIO 輸出模式時(shí),可使用該寄存器從管腳輸出高電平。寫(xiě)入1 使對(duì)應(yīng)管腳輸

5、出高電平。 寫(xiě)入0 無(wú)效。如果一個(gè)(y )管腳被配置為輸入或第二功能,寫(xiě)IOSET 無(wú)效。 共二十八頁(yè) 輸出清零寄存器IOCLR當(dāng)管腳配置為GPIO 輸出模式(msh)時(shí),可使用該寄存器從管腳輸出低電平。寫(xiě)入1 使對(duì)應(yīng)管腳輸出低電平。 寫(xiě)入0 無(wú)效。如果一個(gè)管腳被配置為輸入或第二功能,寫(xiě)IOCLR 無(wú)效。 GPIO引腳值寄存器IOPIN該寄存器提供(tgng)GPIO引腳的值。反映了外部環(huán)境對(duì)引腳的影響。共二十八頁(yè)4 流水(lishu)燈程序示例#include config.h#define LED1CON 0 x000003ff /*P0.0p0.9輸出(shch)*/void delay

6、(uint32 n)while(n-);int main(void) uint32 i; while(1) PINSEL0=0 x00000000; PINSEL1=0 x00000000; IODIR=0 x000003ff; for(i=0;i11;i+) IOCLR=0 x000003ff;IOSET=1i;delay(5000);delay(5000); return(0);共二十八頁(yè)共二十八頁(yè)CODE32AREA vectors,CODE,READONLY ENTRY;interrupt vectors;中斷向量表Reset LDR PC, ResetAddr LDR PC, Und

7、efinedAddr LDR PC, SWI_Addr LDR PC, PrefetchAddr LDR PC, DataAbortAddr DCD 0 xb9205f80 LDR PC, PC, #-0 xff0 LDR PC, FIQ_AddrResetAddr DCD ResetInitUndefinedAddr DCD UndefinedSWI_Addr DCD SoftwareInterruptPrefetchAddr DCD PrefetchAbortDataAbortAddr DCD DataAbortNouse DCD 0IRQ_Addr DCD 0FIQ_Addr DCD F

8、IQ_HandlerResetInit BL InitStack BL TargetResetInit B _main 共二十八頁(yè)1 操作系統(tǒng)(co zu x tn)的功能和作用計(jì)算機(jī)硬件系統(tǒng)(xtng)操作系統(tǒng)(WINDOWS、LUNIX等)應(yīng)用軟件(如WORD、PHOTOSHOP等)系統(tǒng)軟件(如編譯程序、匯編程序、數(shù)據(jù)庫(kù)等)圖1.1 操作系統(tǒng)在計(jì)算機(jī)中的地位 操作系統(tǒng)層通常是最靠近硬件層的軟件層,主要完成計(jì)算機(jī)硬件資源的調(diào)度和分配、信息的儲(chǔ)存和保護(hù)以及并發(fā)活動(dòng)的協(xié)調(diào)和控制。 從應(yīng)用程序員的角度看,操作系統(tǒng)是計(jì)算機(jī)硬件系統(tǒng)與應(yīng)用程序的接口,看到和使用的只是一些由操作系統(tǒng)提供的函數(shù)。共二十八頁(yè)

9、2 嵌入式操作系統(tǒng)的特點(diǎn)(tdin)嵌入式硬件(yn jin)系統(tǒng)嵌入式操作系統(tǒng)(UCOS-、WINCEUCLUNIX等)嵌入式系統(tǒng)的應(yīng)用軟件圖1.2 嵌入式操作系統(tǒng)在嵌入式系統(tǒng)中的地位 微型化。保證應(yīng)用的前提下,規(guī)模越小越好。 可裁剪。嵌入式操作系統(tǒng)提供的各個(gè)功能模塊可以讓用戶根據(jù)需要選擇。 易移植。應(yīng)在不做大量修改的情況下穩(wěn)定運(yùn)行在不同的平臺(tái)。 實(shí)時(shí)性可靠性好。共二十八頁(yè)1、uC/OS-II內(nèi)核(ni h)具有可搶占的實(shí)時(shí)多任務(wù)調(diào)度功能2、提供了許多系統(tǒng)服務(wù),如信號(hào)量、消息隊(duì)列、郵箱、內(nèi)存管理、時(shí)間函數(shù)等3、這些功能可以根據(jù)不同的需求進(jìn)行裁減。4、可從網(wǎng)站上獲得全部源碼及其在各種體系結(jié)構(gòu)平

10、臺(tái)上的移植范例。3 uC/OS-II的特點(diǎn)(tdin)共二十八頁(yè)全世界有數(shù)百種產(chǎn)品在應(yīng)用:醫(yī)療器械移動(dòng)電話路由器工業(yè)控制(kngzh)GPS 導(dǎo)航系統(tǒng)智能儀器更多共二十八頁(yè)實(shí)際應(yīng)用(實(shí)時(shí)(sh sh)溫度的采集控制) 共二十八頁(yè)溫度傳感器 A/D轉(zhuǎn)換(zhunhun)(ADC0808)LPC2106數(shù)碼管顯示(xinsh)外界溫度電壓信號(hào)數(shù)字信號(hào)1 實(shí)時(shí)溫度采集的硬件框圖啟動(dòng)按鈕共二十八頁(yè)2 實(shí)時(shí)溫度(wnd)采集的硬件接線圖共二十八頁(yè)1、任務(wù)(rn wu)1啟動(dòng)按鈕(按鍵識(shí)別)IO_Init(); while(1) while(IOPIN&key)!=0); IO_Init(); while

11、(IOPIN&key)=0); IOCLR= 0 x0000ffFF;任務(wù)(rn wu)切換共二十八頁(yè)轉(zhuǎn)換結(jié)束輸出信號(hào)(xnho)(轉(zhuǎn)換結(jié)束標(biāo)志),高電平有效1KHz時(shí)鐘(shzhng)信號(hào)CLOCKPOTADC0808OE:輸出允許信號(hào),高電平有效,即OE=1時(shí),將輸出寄存器中的數(shù)據(jù)放到數(shù)據(jù)總線上。ALE:地址鎖存允許輸入信號(hào)START:?jiǎn)?dòng)信號(hào)輸入端共二十八頁(yè)IOCLR=adstart; delay(50); IOSET=adstart; delay(50); IOCLR=adstart; delay(50); IO_Init(); while(IOPIN&adend)=0); IOSET

12、=111; i=IOPIN;(1)送單次脈沖(michng),啟 動(dòng)A/D轉(zhuǎn)換IO口設(shè)置(shzh)(2)A/D轉(zhuǎn)換是否結(jié)束2、任務(wù)2A/D轉(zhuǎn)換(3)OE置1,將A/D轉(zhuǎn)換后的數(shù)據(jù)讀入共二十八頁(yè)共二十八頁(yè)3、任務(wù)(rn wu)3數(shù)碼管顯示 INT32U d,g,s,b; b=i/100; d=i %100; s=d/10; g=d%10; (1)2進(jìn)制轉(zhuǎn)10進(jìn)制(2)動(dòng)態(tài)顯示共二十八頁(yè) OS_STK Task0StkTASK_STK_SIZE; OS_STK Task1StkTASK_STK_SIZE; OS_STK Task2StkTASK_STK_SIZE;void Task0(void

13、*data);void Task1(void *data);void Task2(void *data); #include config.h“#define TASK_STK_SIZE 643 C/OS- 的程序結(jié)構(gòu)1、創(chuàng)建(chungjin)任務(wù)堆棧定義(dngy)任務(wù)堆棧大小任務(wù)聲明共二十八頁(yè)/* c語(yǔ)言的主函數(shù)(hnsh),由它啟動(dòng)多任務(wù)環(huán)境*/ int main (void) OSInit(); /操作系統(tǒng)初始化 OSTaskCreate(Task0, (void *)0, &Task0StkTASK_STK_SIZE - 1, 2); OSTaskCreate(Task1, (vo

14、id *)0, &Task1StkTASK_STK_SIZE - 1,3); OSTaskCreate(Task2, (void *)0, &Task2StkTASK_STK_SIZE - 1,4); OSStart(); /啟動(dòng)操作系統(tǒng) return 0; 2、創(chuàng)建(chungjin)任務(wù)并啟動(dòng)操作系統(tǒng)共二十八頁(yè)void Task0(void *p_arg) p_arg = p_arg; /避免編譯(biny)警告 TargetInit(); /初始化 3、具體任務(wù)共二十八頁(yè)OSTaskSuspend(OS_PRIO_SELF)等待(dngdi)狀態(tài)運(yùn)行(ynxng)狀態(tài)就緒狀態(tài)OSTaskSuspend(優(yōu)先級(jí))OSTaskResume(優(yōu)先級(jí))4、任務(wù)切換任務(wù)的掛起和恢復(fù)共二十八頁(yè)內(nèi)容摘要嵌入式系統(tǒng)課程設(shè)計(jì)。PINSEL0對(duì)應(yīng)引腳P0.0P0.15,PINSEL1對(duì)應(yīng)引腳P0.16P0.31。當(dāng)管腳配置為GPIO 模式時(shí),可使用該寄存

溫馨提示

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