版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、嵌入式系統(tǒng)概論實(shí)驗(yàn)指導(dǎo)書計(jì)算機(jī)與信息學(xué)院嵌入式系統(tǒng)概論課程組編印2013年11月目 錄實(shí)驗(yàn)一 搭建CodeWarrior開發(fā)環(huán)境實(shí)驗(yàn)二 控制小燈閃爍實(shí)驗(yàn)實(shí)驗(yàn)三 串行通信實(shí)驗(yàn)實(shí)驗(yàn)四 RTC實(shí)驗(yàn)實(shí)驗(yàn)五 Flash實(shí)驗(yàn)實(shí)驗(yàn)一 搭建CodeWarrior開發(fā)環(huán)境1、實(shí)驗(yàn)?zāi)康暮鸵髮?shí)驗(yàn)?zāi)康模菏煜?CodeWarrior開發(fā)環(huán)境,掌握KL25工程結(jié)構(gòu),通過一個(gè)樣例工程了解開發(fā)環(huán)境配置方法,并完成編譯、下載到開發(fā)板的過程。實(shí)驗(yàn)要求: 1)安裝CodeWarrior10.3軟件,完成相關(guān)參數(shù)設(shè)置; 2)安裝USBDM4.10.4寫入器驅(qū)動(dòng)程序,打好補(bǔ)??; 3)導(dǎo)入樣例工程,完成編譯、下載、運(yùn)行全過程。2、實(shí)驗(yàn)
2、原理 參照KL25技術(shù)手冊(cè)和CodeWarrior10.3軟件使用手冊(cè),熟悉芯片性能和開發(fā)環(huán)境,驗(yàn)證開發(fā)板和開發(fā)環(huán)境的可靠性。3、主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境) PC機(jī)一臺(tái),SD-FSL-KL25-EVB開發(fā)板一套4、操作方法與實(shí)驗(yàn)步驟 1)按照CodeWarrior10.3使用手冊(cè)安裝軟件; 2)通過寫入器的Mini_USB口將SD-FSL-KL25-EVB開發(fā)板連接到PC機(jī); 3)導(dǎo)入樣例工程,完成編譯; 4)將可執(zhí)行的ELF燒入Flash,給開發(fā)板重新上電,觀察實(shí)驗(yàn)現(xiàn)象。5、實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄實(shí)驗(yàn)電路連線:用USB連接線將SD-FSL-KL25-EVB開發(fā)板接入PC機(jī)。 實(shí)驗(yàn)參考
3、程序:.include "include.s"declaration:#start 參數(shù)定義區(qū)域 .section.data 讀寫,即定義變量 runpin: .word 100 .section .rodata 只讀,即定義常數(shù) RUN_COUNTER_MAX: .word 0x0016e360 .section .data 定義可讀寫的字符串 string: .asciz "123456789" #end 參數(shù)定義區(qū)域#start 主函數(shù)定義開始 .section.text.main .global main 定義全局變量,使其在芯片初始化之后可以調(diào)
4、用 .align 2 .type main function 定義主函數(shù)類 .align 2 #end 主函數(shù)定義結(jié)束main: cpsid i 關(guān)閉總中斷 #小燈相應(yīng)引腳的gpio初始化(設(shè)置引腳的各參數(shù)) r0-r3保存需要傳遞的參數(shù) mov r0,#light_port r0存儲(chǔ)PORT端口號(hào) #ldr r5,=runpin #mov r6,#18 #str r6,r5 #ldr r1,r5 將引腳號(hào)18存入r1 mov r1,#light_G_pin r1存儲(chǔ)引腳號(hào) mov r2,#light_dirout r2指明引腳的輸出方向 mov r3,#light_L r3指明引腳的初始狀態(tài)
5、 bl light_init 調(diào)用小燈初始化函數(shù)cpsie i 開總中斷 #主循環(huán),通過RUN_COUNTER_MAX遞減來延遲,設(shè)定小燈的閃爍間隔repeat: ldr r4,=RUN_COUNTER_MAX 取延時(shí)計(jì)數(shù)值到r4 ldr r4,r4loop: sub r4,#1 cmp r4,#1 bne loop bl light_change 調(diào)用小燈亮暗轉(zhuǎn)變函數(shù) bl repeat .align 4.end實(shí)驗(yàn)二 控制小燈閃爍實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康暮鸵髮?shí)驗(yàn)?zāi)康? 1)熟悉ARM Cortex-M0+寄存器配置方法; 2)學(xué)習(xí)KL25的GPIO編程方法; 3)通過三色燈觀察程序運(yùn)行情況;實(shí)驗(yàn)
6、要求:編寫程序,以KL25 B口的9、18和19引腳作為輸出口,控制三色燈燈(可發(fā)紅,綠,藍(lán)光)交替閃亮。2、實(shí)驗(yàn)原理 1)根據(jù)開發(fā)板原理圖,確認(rèn)三色燈為共陽接法,因此B口相關(guān)引腳輸出低電平時(shí)點(diǎn)亮、高電平熄滅; 2)通過延時(shí)實(shí)現(xiàn)三色燈交替閃亮,觀察延時(shí)常數(shù)的影響,理解控制顏色方法。3、主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境) PC機(jī)一臺(tái),SD-FSL-KL25-EVB開發(fā)板一套4、操作方法與實(shí)驗(yàn)步驟 1)通過USB線連接PC機(jī)和SD-FSL-KL25-EVB開發(fā)板; 2)在PC機(jī)上編程,并編譯形成可在開發(fā)板上執(zhí)行的ELF程序; 3)將ELF程序燒入開發(fā)板的Flash中,并重新上電觀察程序運(yùn)行現(xiàn)象。5
7、、實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄實(shí)驗(yàn)電路連線:用USB連接線將SD-FSL-KL25-EVB開發(fā)板接入PC機(jī)。 實(shí)驗(yàn)參考程序:#include "includes.h" /包含總頭文件int main(void)uint_32 run_counter; /主循環(huán)計(jì)數(shù)變量uint_8 flag; /三色燈變換標(biāo)志 /三色燈初始化light_init(LIGHT_PORT, LIGHT_PIN_RED, LIGHT_OFF); light_init(LIGHT_PORT, LIGHT_PIN_GREEN, LIGHT_OFF); light_init(LIGHT_PORT, LIGHT
8、_PIN_BLUE, LIGHT_OFF); /給全局變量賦初值 g_n1=0; /給主函數(shù)相關(guān)變量賦初值 flag = 1; /主循環(huán)計(jì)數(shù)變量 run_counter = 0; /三色燈變換標(biāo)志 /進(jìn)入主循環(huán),使 紅、綠、蘭三燈閃爍 /主循環(huán)開始= for(;) run_counter+; /主循環(huán)計(jì)數(shù)+1 if (run_counter > RUN_COUNTER_MAX) run_counter = 0; switch (flag) case 1: /紅燈取反、綠燈暗、蘭燈暗 light_change(LIGHT_PORT, LIGHT_PIN_RED); light_contro
9、l(LIGHT_PORT, LIGHT_PIN_GREEN, LIGHT_OFF); light_control(LIGHT_PORT, LIGHT_PIN_BLUE, LIGHT_OFF); flag = 2; break; case 2: /綠燈取反、紅燈暗、蘭燈暗 light_change(LIGHT_PORT, LIGHT_PIN_GREEN); light_control(LIGHT_PORT, LIGHT_PIN_RED, LIGHT_OFF); light_control(LIGHT_PORT, LIGHT_PIN_BLUE, LIGHT_OFF); flag = 3; brea
10、k; case 3: /蘭燈取反、紅燈暗、綠燈暗 light_change(LIGHT_PORT, LIGHT_PIN_BLUE); light_control(LIGHT_PORT, LIGHT_PIN_RED, LIGHT_OFF); light_control(LIGHT_PORT, LIGHT_PIN_GREEN, LIGHT_OFF); flag = 1; default: flag = 1; break; / end_switch / end_if /end_for /主循環(huán)結(jié)束= return 0;實(shí)驗(yàn)三 串行通信實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康暮鸵髮?shí)驗(yàn)?zāi)康? 1)了解UART模塊相關(guān)寄存器及
11、配置方法; 2)理解串行通信的工作原理; 3)掌握UART的各種模式的編程方法; 4)理解用UART調(diào)試KL25程序的方法。實(shí)驗(yàn)要求: 采用中斷方式編寫UART接收和發(fā)送程序,上電和復(fù)位時(shí)給PC機(jī)發(fā)送串口連接信息,并用串口調(diào)試工具觀察PC機(jī)和開發(fā)板間的通信情況。2、實(shí)驗(yàn)原理 按照KL25技術(shù)手冊(cè)配置UART相關(guān)寄存器,完成UART初始化,然后通過串口調(diào)試工具觀察通信情況。3、主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境) PC機(jī)一臺(tái),SD-FSL-KL25-EVB開發(fā)板一套4、操作方法與實(shí)驗(yàn)步驟 1)安裝TTL轉(zhuǎn)USB驅(qū)動(dòng)程序; 2)用USB線將SD-FSL-KL25-EVB開發(fā)板連接到PC機(jī); 3)編寫
12、UART通信程序,完成編譯形成ELF程序; 4)將ELF程序由PC機(jī)燒入開發(fā)板的Flash中,并進(jìn)行調(diào)試。5、實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄實(shí)驗(yàn)電路連線:用USB線將開發(fā)板連接到PC機(jī),并用USB轉(zhuǎn)串線將UART0或UART1口連接到PC機(jī)以實(shí)現(xiàn)串行通信。實(shí)驗(yàn)參考程序:#include "includes.h" /包含總頭文件int main(void) /1.聲明主函數(shù)使用的局部變量 uint_32 run_counter; /主循環(huán)次數(shù)計(jì)數(shù)器 /2.關(guān)總中斷 enter_critical(); / 進(jìn)入臨界區(qū) /3.初始化模塊 light_init(LIGHT_PORT, LI
13、GHT_PIN_BLUE, LIGHT_ON); /藍(lán)燈初始化 uart_init(UART_0,MCGIRCLK, 9600); /串口0時(shí)鐘MCGIRCLK(4000Khz) uart_init (UART_1,BUSCLK, 9600); /串口1、2使用總線時(shí)鐘24000Khz uart_init (UART_2,BUSCLK, 9600); uart_send_string(UART_0, "Hello Uart_0!rn"); /串口發(fā)送初始化提示 uart_send_string(UART_1, "Hello Uart_1!rn"); ua
14、rt_send_string(UART_2, "Hello Uart_2!rn"); /4.全局變量及主函數(shù)局部變量賦初值 run_counter = 0; / 運(yùn)行計(jì)數(shù)器 /5.使能模塊中斷及總中斷 uart_enable_re_int(UART_0); /使能串口0接收中斷 uart_enable_re_int(UART_1); /使能串口1接收中斷 uart_enable_re_int(UART_2); /使能串口2接收中斷 init_critical(); /開總中斷 /進(jìn)入主循環(huán) /主循環(huán)開始=for(;) run_counter+; /主循環(huán)次數(shù)計(jì)數(shù)器+1 if
15、 (run_counter > RUN_COUNTER_MAX) run_counter = 0; /主循環(huán)次數(shù)計(jì)數(shù)器清0 light_change(LIGHT_PORT, LIGHT_PIN_BLUE); /藍(lán)燈變化 / end_if / end_while /主循環(huán)結(jié)束=return 0;實(shí)驗(yàn)四 RTC實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康暮鸵髮?shí)驗(yàn)?zāi)康? 1)了解定時(shí)器/計(jì)數(shù)器工作原理; 2)熟悉KL25定時(shí)器模塊相關(guān)寄存器及配置方法; 3)掌握KL25定時(shí)器編程方法; 4)通過串口調(diào)試工具觀察時(shí)、分、秒變化情況。實(shí)驗(yàn)要求: 編寫程序,將RTC時(shí)鐘信息通過串口發(fā)送到PC端,用串口調(diào)試工具觀察時(shí)鐘變化情況
16、,同時(shí)觀察小燈閃爍情況。2、實(shí)驗(yàn)原理 按照KL25技術(shù)手冊(cè)配置RTC模塊相關(guān)寄存器,完成RTC初始化,然后通過串口調(diào)試工具和小燈觀察時(shí)鐘變化的影響。3、主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境) PC機(jī)一臺(tái),SD-FSL-KL25-EVB開發(fā)板一套4、操作方法與實(shí)驗(yàn)步驟 1)安裝TTL轉(zhuǎn)USB驅(qū)動(dòng)程序; 2)用USB線將SD-FSL-KL25-EVB開發(fā)板連接到PC機(jī); 3)編寫RTC時(shí)鐘程序,完成編譯形成ELF程序; 4)將ELF程序由PC機(jī)燒入開發(fā)板的Flash中,并進(jìn)行調(diào)試。5、實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄實(shí)驗(yàn)電路連線:用USB線將開發(fā)板連接到PC機(jī),并用USB轉(zhuǎn)串線將UART1口連接到PC機(jī)以觀察時(shí)
17、鐘信息。實(shí)驗(yàn)參考程序:#include "includes.h" /包含總頭文件void MCGIRCLK_OutEnable(uint_8 clock); /啟用內(nèi)部快速時(shí)鐘int main(void)/1.聲明主函數(shù)使用的局部變量uint_32 AlarmTimes; /報(bào)警計(jì)時(shí)器定時(shí)間隔uint_32 SecendTimes; /定時(shí)器秒計(jì)數(shù)器的起始值uint_32 remember;/2.關(guān)總中斷 enter_critical(); / 進(jìn)入臨界區(qū),關(guān)中斷 /3.初始化底層模塊light_init(LIGHT_PORT, LIGHT_PIN_BLUE, LIGHT_
18、ON); /藍(lán)燈初始化 uart_init (UART_1,MCGIRCLK, 9600); /串口0初始化, 總線時(shí)鐘24000Khz,波特率9600 SecendTimes = 0x01;AlarmTimes = 0x02; MCGIRCLK_OutEnable(CLKOUT_MCGIRCLK); /開啟內(nèi)部慢速時(shí)鐘 rtc_init(SecendTimes,AlarmTimes); /RTC初始化 /4.變量賦初值 g_time0=0; /(1) "時(shí)分秒"緩存初始化(00:00:00) g_time1=0; g_time2=0; remember = g_time2
19、; /(2) 臨時(shí)變量remember初始化 /5.開中斷 uart_enable_re_int(UART_1); /啟動(dòng)串口1接收中斷 init_critical(); /開總中斷 uart_send_string(UART_1, "Hello RTC!rn"); /進(jìn)入主循環(huán) /主循環(huán)開始=for(;)if (g_time2 != remember) /判斷秒鐘是否發(fā)生變化 light_change(LIGHT_PORT, LIGHT_PIN_BLUE); uart_sendN(UART_1,3,g_time); remember=g_time2; / end_whil
20、e /主循環(huán)結(jié)束=return 0;/啟用MCGIRCLK時(shí)鐘,輸出時(shí)鐘頻率在31.25Khz 4Mhzvoid MCGIRCLK_OutEnable(uint_8 clock)PORTC_PCR3 = PORT_PCR_MUX(0x5); SIM_SOPT2 = SIM_SOPT2_CLKOUTSEL(clock); /復(fù)用PTC3為CLKOUT,輸出時(shí)鐘波形MCG_C1 |= MCG_C1_IRCLKEN_MASK|MCG_C1_IREFSTEN_MASK;MCG_C2 &= MCG_C2_IRCS_MASK; 實(shí)驗(yàn)五 Flash實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康暮鸵髮?shí)驗(yàn)?zāi)康? 1)了解Flash
21、工作原理; 2)熟悉KL25 Flash模塊相關(guān)寄存器及配置方法; 3)掌握KL25 Flash編程方法; 4)通過串口調(diào)試工具觀察Flash擦寫情況。實(shí)驗(yàn)要求: 編寫程序,將Flash信息通過串口發(fā)送到PC端,用串口調(diào)試工具觀察Flash中的內(nèi)容。2、實(shí)驗(yàn)原理 按照KL25技術(shù)手冊(cè)配置Flash模塊相關(guān)寄存器,完成Flash初始化,然后通過串口調(diào)試工具觀察Flash的擦寫情況。3、主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境) PC機(jī)一臺(tái),SD-FSL-KL25-EVB開發(fā)板一套4、操作方法與實(shí)驗(yàn)步驟 1)安裝TTL轉(zhuǎn)USB驅(qū)動(dòng)程序; 2)用USB線將SD-FSL-KL25-EVB開發(fā)板連接到PC機(jī);
22、3)編寫Flash程序,完成編譯形成ELF程序; 4)將ELF程序由PC機(jī)燒入開發(fā)板的Flash中,并進(jìn)行調(diào)試。5、實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄實(shí)驗(yàn)電路連線:用USB線將開發(fā)板連接到PC機(jī),并用USB轉(zhuǎn)串線將UART1口連接到PC機(jī)以觀察Flash擦寫情況。實(shí)驗(yàn)參考程序:#include "includes.h"int main(void) /1.申明主函數(shù)使用的局部變量 uint_32 run_counter; /運(yùn)行計(jì)數(shù)器 uint_8 h=1; /2.關(guān)總中斷 enter_critical(); /3.初始化底層模塊 uart_init (UART_TEST, bus_cl
23、k_khz, 9600); /串口1初始化, 總線時(shí)鐘24000Khz,波特率9600 flash_init(); /Flash初始化 /4.變量賦初值 /5.開中斷 init_critical(); uart_enable_re_int(UART_TEST); uart_send_string(UART_TEST,"Uart Initialrn"); uart_send_string(UART_TEST,"SD-FSL Library Flash Test!rnrn"); uart_send_string(UART_TEST,"Press ? to get helprn"); /主循環(huán) for(;) run_counter+; if (run_counter > RUN_COUNTER_MAX) run_counter = 0; / end_if switch(ch) c
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年家庭寵物寄養(yǎng)合同
- 安全員A證考試能力提升試題打印【黃金題型】附答案詳解
- 安全員A證考試綜合檢測(cè)提分【有一套】附答案詳解
- 安全員A證考試題庫必考題附答案詳解
- 安全員A證考試綜合提升試卷附參考答案詳解(考試直接用)
- 安全員A證考試題庫練習(xí)備考題附完整答案詳解【奪冠系列】
- 押題寶典安全員A證考試考試題庫附答案詳解(基礎(chǔ)題)
- 安全員A證考試能力提升題庫及參考答案詳解【能力提升】
- 安全員A證考試綜合提升測(cè)試卷附答案詳解【考試直接用】
- 安全員A證考試試題預(yù)測(cè)試卷附答案詳解【鞏固】
- 氫能源汽車2026年維修培訓(xùn)
- 南京南京市建鄴區(qū)2025年9月政府購(gòu)崗人員招聘筆試歷年參考題庫附帶答案詳解
- 2025年企業(yè)內(nèi)部培訓(xùn)課程體系
- 2026年工程材料企業(yè)物資采購(gòu)人員考試大綱
- 2025年湖南公務(wù)員《行政職業(yè)能力測(cè)驗(yàn)》試題及答案
- 2025年地鐵車站物業(yè)管理合同協(xié)議
- 廣東省高州市全域土地綜合整治項(xiàng)目(一期)可行性研究報(bào)告
- 城市軌道交通工程竣工驗(yàn)收管理培訓(xùn)
- 運(yùn)動(dòng)訓(xùn)練的監(jiān)控
- GB/T 6730.62-2005鐵礦石鈣、硅、鎂、鈦、磷、錳、鋁和鋇含量的測(cè)定波長(zhǎng)色散X射線熒光光譜法
- 中考?xì)v史第一輪復(fù)習(xí)教案
評(píng)論
0/150
提交評(píng)論