ARM嵌入式微處理器課程實(shí)驗(yàn)指導(dǎo)書(shū) v2.01_第1頁(yè)
ARM嵌入式微處理器課程實(shí)驗(yàn)指導(dǎo)書(shū) v2.01_第2頁(yè)
ARM嵌入式微處理器課程實(shí)驗(yàn)指導(dǎo)書(shū) v2.01_第3頁(yè)
ARM嵌入式微處理器課程實(shí)驗(yàn)指導(dǎo)書(shū) v2.01_第4頁(yè)
ARM嵌入式微處理器課程實(shí)驗(yàn)指導(dǎo)書(shū) v2.01_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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)介

《ARM嵌入式微處理器》課程實(shí)驗(yàn)指導(dǎo)書(shū)實(shí)驗(yàn)學(xué)時(shí):34實(shí)驗(yàn)類型:驗(yàn)證性實(shí)驗(yàn)要求:必修適用對(duì)象:計(jì)算機(jī)專業(yè)、物聯(lián)網(wǎng)專業(yè)實(shí)驗(yàn)一:ADS1.2集成開(kāi)發(fā)環(huán)境實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康牧私釧DS1.2集成開(kāi)發(fā)環(huán)境的使用方法,為后面仿真實(shí)驗(yàn)做好基礎(chǔ)準(zhǔn)備。二、實(shí)驗(yàn)內(nèi)容1. 建立一個(gè)新的工程。2. 建立一個(gè)C源文件,并添加到工程中。3. 設(shè)置文本編輯器支持中文。4. 設(shè)置編譯鏈接控制選項(xiàng)。5. 編譯鏈接工程。6. 調(diào)試工程。三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真的方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)2. 軟件:Windows98/XP/2000系統(tǒng),ADS集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2IDE集成開(kāi)發(fā)環(huán)境,選擇【File】->【New…】,使用ARMExecutableImage工程模板建立一個(gè)工程,工程名稱為ADS,見(jiàn)圖1.1。圖1.1建立ARM指令代碼的工程(2)選擇【File】->【New…】建立一個(gè)新的文件TEST1.S,設(shè)置直接添加到項(xiàng)目中,見(jiàn)圖1.2。輸入如程序清單1.1所示的代碼,并保存,見(jiàn)圖1.3。圖1.2新建文件TEST1.S圖1.3添加了TEST1.S的工程管理窗口程序清單1.1TEST1.S文件代碼(3)由于ADS安裝以后默認(rèn)字體是CourierNew,對(duì)于中文支持不完善,因此建議修改字體。選擇【Edit】->【Perferences…】,可以看見(jiàn)以下對(duì)話框,如圖1.4所示。在Font選項(xiàng)設(shè)置字體是Fixedsys,Script是CHINESE_GB2312。由于Tab在不同文本編輯器解釋不同,建議在TabInsertsSpaces前打勾,使Tab鍵插入的是多個(gè)空格。圖1.4字體和Tab設(shè)置(4)選擇【Edit】->【DebugRelSettings…】,在DebugRelSettings對(duì)話框的左邊選擇ARMLinker項(xiàng),然后在Output頁(yè)設(shè)置鏈接地址(見(jiàn)圖1.5),在Options頁(yè)設(shè)置調(diào)試入口地址(見(jiàn)圖1.6)。圖1.5工程鏈接地址設(shè)置圖1.6工程調(diào)試入口地址設(shè)置(5)選擇【Project】->【Make】,將編譯鏈接整個(gè)工程。如果編譯成功,見(jiàn)圖1.7,Errors&Warnings對(duì)話框會(huì)報(bào)告編譯錯(cuò)誤為0,那么就可以對(duì)工程進(jìn)行仿真。圖1.7編譯錯(cuò)誤和警告對(duì)話框(6)選擇【Project】->【Debug】,或者按下快捷鍵F5。IDE環(huán)境就會(huì)啟動(dòng)AXD調(diào)試軟件,見(jiàn)圖1.8。斷點(diǎn)調(diào)試方法:首先設(shè)置斷點(diǎn),只需要在第6行灰色區(qū)域雙擊鼠標(biāo)即可,如果出現(xiàn)紅色實(shí)心圓點(diǎn),那么表示斷點(diǎn)設(shè)置成功,然后選擇【Execute】->【Go】全速運(yùn)行,可以發(fā)現(xiàn)程序停止在第6行。還有一種比較方便的調(diào)試方法就是RuntoCursor,單擊鼠標(biāo)第8行灰色區(qū)域,如果AXD將第8行高亮就表示設(shè)置成功,然后選擇【Execute】->【RuntoCursor】運(yùn)行到光標(biāo),可以發(fā)現(xiàn)程序停止在第8行。通過(guò)斷點(diǎn)調(diào)試可以觀察ARM寄存器數(shù)值變化,具體的操作方法在后面的實(shí)驗(yàn)會(huì)具體介紹。圖1.8AXD調(diào)試窗口實(shí)驗(yàn)二:匯編指令實(shí)驗(yàn)12學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康模?)了解ADS1.2集成開(kāi)發(fā)環(huán)境與ARMulator軟件仿真。(2)掌握ARM7TDMI匯編指令的用法,并能編寫(xiě)簡(jiǎn)單的匯編程序。(3)掌握指令的條件執(zhí)行和使用LDR/STR指令完成存儲(chǔ)器的訪問(wèn)。二、實(shí)驗(yàn)內(nèi)容(1)使用LDR指令讀取0x40003100上的數(shù)據(jù),將數(shù)據(jù)加1,若結(jié)果小于10則使用STR指令把結(jié)果寫(xiě)回原地址,若結(jié)果大于等于10,則把0寫(xiě)回原地址。然后再次讀取0x40003100上的數(shù)據(jù),將數(shù)據(jù)加1,判斷結(jié)果是否小于10……周而復(fù)此循環(huán)。(2)使用ADS1.2軟件仿真,單步、全速運(yùn)行程序,設(shè)置斷點(diǎn),打開(kāi)寄存器窗口(ProcessorRegisters)監(jiān)視R0、R1的值,打開(kāi)存儲(chǔ)器觀察窗口(Memory)監(jiān)視0x40003100上的值。三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真和ADX軟件調(diào)試方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)2. 軟件:Windows98/XP/2000系統(tǒng),ADS集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImage工程模板建立一個(gè)工程Instruction1。(2)建立匯編源文件TEST2.S,編寫(xiě)實(shí)驗(yàn)程序,然后添加到工程中。(3)設(shè)置工程鏈接地址ROBase為0x40000000,RWBase為0x40003000。設(shè)置調(diào)試入口地址Imageentrypoint為0x40000000。(6)編譯鏈接工程,選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行軟件仿真調(diào)試。(7)打開(kāi)寄存器窗口(ProcessorRegisters),選擇Current項(xiàng)監(jiān)視R0、R1的值。打開(kāi)存儲(chǔ)器觀察窗口(Memory)設(shè)置觀察地址為0x40003100,顯示方式Size為32Bit,監(jiān)視0x40003100地址上的值。說(shuō)明:在Memory窗口中點(diǎn)擊鼠標(biāo)右鍵,Size項(xiàng)中可以選擇顯示格式為8Bit、16Bit或32Bit,如圖2.1所示。可以單步運(yùn)行程序,可以設(shè)置/取消斷點(diǎn),或者全速運(yùn)行程序,停止程序運(yùn)行,調(diào)試時(shí)觀察寄存器和0x40003100地址上的值。運(yùn)行結(jié)果見(jiàn)圖2.2。圖2.1Memory窗口顯示格式設(shè)置圖2.2程序運(yùn)行結(jié)果(8)實(shí)驗(yàn)參考程序程序清單2.1匯編指令實(shí)驗(yàn)1參考程序?qū)嶒?yàn)三:C語(yǔ)言調(diào)用匯編實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康恼莆赵贑語(yǔ)言程序中調(diào)用匯編程序,了解ATPCS基本規(guī)則。二、實(shí)驗(yàn)內(nèi)容在C程序調(diào)用匯編子程序,實(shí)現(xiàn)兩個(gè)整數(shù)的加法運(yùn)算。匯編子程序的原型為:uint32Add(uint32x,uint32y),其中uint32已定義為unsignedint。三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真和ADX軟件調(diào)試方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImage工程模板建立一個(gè)工程ProgramC1。(2)建立源文件Startup.S、Add.S和Test.c,編寫(xiě)實(shí)驗(yàn)程序,然后添加到工程中。(3)設(shè)置工程鏈接地址ROBase為0x40000000,RWBase為0x40003000。設(shè)置調(diào)試入口地址Imageentrypoint為0x40000000。(4)設(shè)置工程鏈接選項(xiàng),位于開(kāi)始位置的起始代碼段設(shè)置為Startup.o的Start段。(5)編譯鏈接工程,選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行軟件仿真調(diào)試。(6)在Test.c文件中的調(diào)用Add()的代碼處設(shè)置斷點(diǎn),然后全速動(dòng)行程序。(7)程序在斷點(diǎn)處停止。使用SetpIn單步運(yùn)行程序,觀察程序是否轉(zhuǎn)到匯編程序Add.S。(8)選擇【ProcessorViews】->【Variables】)打開(kāi)變量觀察窗口,觀察全局變量的值,單步/全速運(yùn)行程序,判斷程序的運(yùn)算結(jié)果是否正確。(5)實(shí)驗(yàn)參考程序C語(yǔ)言調(diào)用匯編程序?qū)嶒?yàn)的參考程序見(jiàn)程序清單3.1。匯編加法函數(shù)代碼見(jiàn)程序清單3.2。程序清單3.1C程序清單3.2匯編加法函數(shù)代碼實(shí)驗(yàn)四:ARM微控制器工作模式實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康模?)掌握如何使用MRS/MSR指令實(shí)現(xiàn)ARM微控制器工作模式的切換。(2)了解在各個(gè)工作模式下的寄存器。二、實(shí)驗(yàn)內(nèi)容(1)使用MRS/MSR指令切換工作模式,并初始化各種模式下堆棧指針。(2)觀察ARM微控制器在各種模式下寄存器的區(qū)別三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真和ADX軟件調(diào)試方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImage工程模板建立一個(gè)工程MODE。(2)建立匯編源文件TEST7.S,編寫(xiě)實(shí)驗(yàn)程序,然后添加到工程中。(3)設(shè)置工程連接地址ROBase為0x40000000,RWBase為0x40003000。設(shè)置調(diào)試入口地址Imageentrypoint為0x40000000。(4)編譯連接工程,選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行軟件仿真調(diào)試。(5)打開(kāi)寄存器窗口(ProcessorRegisters),選擇Current項(xiàng)監(jiān)視各寄存器的值。(6)單步運(yùn)行程序,注意觀察CPSR、SPSR、R13(SP)、R14(LR)、R15(PC)寄存器。說(shuō)明:CPSR寄存器顯示方式如圖4.1所示。顯示分為兩部分,一部分是各個(gè)標(biāo)志位,另一部分是工作模式。標(biāo)志位NZCVQ為條件碼標(biāo)志N、Z、C、V、Q,顯示為大寫(xiě)字母,表示該位為1;顯示為小寫(xiě)字母,表示該位為0。Q標(biāo)志在ARM體系結(jié)構(gòu)v5與以上版本的E變量中才有效。標(biāo)志位IFT為IRQ中斷禁止位I、FIQ中斷禁止位F、ARM微控制器狀態(tài)位T,顯示為大寫(xiě)字母,表示該位為1;顯示為小寫(xiě)字母,表示該位為0。T標(biāo)志在ARM體系結(jié)構(gòu)v4與以上版本的T變量中才有效。工作模式指示ARM微控制器當(dāng)前的工作模式,包括User(用戶模式)、FIQ(FIQ中斷模式)、IRQ(IRQ中斷模式)、SVC(管理模式)、Abort(中止模式)、Undef(未定義模式)、SYS(系統(tǒng)模式)。圖4.1CPSR寄存器顯示方式(7)實(shí)驗(yàn)參考程序ARM微控制器工作模式實(shí)驗(yàn)的參考程序見(jiàn)程序清單4.1。程序清單4.1ARM微控制器工作模式實(shí)驗(yàn)參考程序?qū)嶒?yàn)五:GPIO輸出控制實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康氖煜PC2000系列ARM7微控制器的GPIO控制。二、實(shí)驗(yàn)內(nèi)容使用GPIO口控制8個(gè)LED流水燈顯示。三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真和ADX軟件調(diào)試方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)一套2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一個(gè)工程LEDCon_C。(2)在user組中的main.c中編寫(xiě)主程序代碼。(3)選用DebugInExram生成目標(biāo),然后編譯連接工程。(4)將MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)上跳線器JP23全部短接,JP15跳線全部斷開(kāi),見(jiàn)圖5.1。(5)選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行JTAG仿真調(diào)試。(6)單步運(yùn)行程序,通過(guò)LED1~LED8的顯示判斷輸出是否正確。全速運(yùn)行程序,觀察LED1~LED8的顯示。圖5.1LED連接電路(7)實(shí)驗(yàn)參考程序GPIO輸出控制實(shí)驗(yàn)2的參考程序見(jiàn)程序清單5.1。程序清單5.1GPIO輸出控制實(shí)驗(yàn)2參考程序?qū)嶒?yàn)六:存儲(chǔ)器重映射實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)實(shí)驗(yàn),熟悉LPC2000系列ARM7微控制器的存儲(chǔ)器重映射機(jī)制。二、實(shí)驗(yàn)內(nèi)容(1)設(shè)置MEMMAP=2,然后將0x40000000~0x4000003F地址上的存儲(chǔ)單元全部寫(xiě)入0x55,同時(shí)觀察0x00000000~0x0000003F地址上的數(shù)據(jù);再寫(xiě)入0xAA,同時(shí)觀察0x00000000~0x0000003F地址上的數(shù)據(jù)。(2)設(shè)置MEMMAP=0,觀察0x00000000~0x0000003F地址上的數(shù)據(jù)是否與0x7FFFE000~0x7FFFE03F地址上的數(shù)據(jù)是否一致。三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真和ADX軟件調(diào)試方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)一套2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一個(gè)工程ReMap_c。(2)在user組中的main.c中編寫(xiě)主程序代碼。(3)選用DebugInExram生成目標(biāo),然后編譯連接工程。(4)選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行JTAG仿真調(diào)試。(5)打開(kāi)存儲(chǔ)器觀察窗口(Memory)設(shè)置觀察地址為0x00000000,顯示方式Size為8Bit,監(jiān)視從0x00000000~0x0000003F的數(shù)據(jù)。(6)單步運(yùn)行程序,觀察0x00000000~0x0000003F地址上的數(shù)據(jù)。(7)當(dāng)運(yùn)行MEMMAP=0之后,觀察0x00000000~0x0000003F地址上的數(shù)據(jù)是否與0x7FFFE000~0x7FFFE03F地址上的數(shù)據(jù)是否一致。(8)實(shí)驗(yàn)參考程序存儲(chǔ)器重映射實(shí)驗(yàn)的參考程序見(jiàn)程序清單6.1。程序清單6.1存儲(chǔ)器重映射實(shí)驗(yàn)參考程序?qū)嶒?yàn)七:外部中斷實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康模?)掌握向量中斷控制器(VIC)的設(shè)置。(2)掌握外部中斷引腳功能設(shè)置與外部中斷的工作模式設(shè)置。(3)了解中斷服務(wù)函數(shù)的編寫(xiě)。二、實(shí)驗(yàn)內(nèi)容設(shè)置P0.20腳為EINT3功能,初始化為非向量中斷,并設(shè)置為電平觸發(fā)模式,然后等待外部中斷。中斷服務(wù)程序?qū)⒎澍Q器控制輸出信號(hào)取反,然后等待中斷信號(hào)的撤消,最后清除中斷標(biāo)志并退出中斷。三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真和ADX軟件調(diào)試方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)一套2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一個(gè)工程VICDef_C。(2)在user組中的main.c中編寫(xiě)主程序代碼。(3)選用DebugInExram生成目標(biāo),然后編譯連接工程。(4)將MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)上的跳線器JP9、JP22短接,JP20斷開(kāi),見(jiàn)圖7.1和圖7.2。圖7.1蜂鳴器連接電路圖7.2按鍵連接電路(5)選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行JTAG仿真調(diào)試。(6)在中斷服務(wù)程序中設(shè)置斷點(diǎn),全速運(yùn)行程序,使EINT3為低/高電平,即反復(fù)按下與釋放KEY1。(7)單步/全速運(yùn)行程序,觀察程序是否正確運(yùn)行,蜂鳴器是否蜂鳴。(8)實(shí)驗(yàn)參考程序外部中斷實(shí)驗(yàn)的參考程序見(jiàn)程序清單7.1。程序清單7.1外部中斷實(shí)驗(yàn)參考程序?qū)嶒?yàn)八:外部存儲(chǔ)器接口實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)實(shí)驗(yàn)掌握外部存儲(chǔ)器控制器(EMC)的設(shè)置與外部存儲(chǔ)器接口的應(yīng)用。二、實(shí)驗(yàn)內(nèi)容使用外部存儲(chǔ)器接口的Bank0連接一片16位總線接口的FLASH(SST39VF160),然后使用程序初始化EMC,接著對(duì)FLASH進(jìn)行全片擦除,編寫(xiě)兩字節(jié)數(shù)據(jù),再讀出來(lái)校驗(yàn),若校驗(yàn)通過(guò)則蜂鳴器響一聲,否則不斷地蜂鳴報(bào)警。三、實(shí)驗(yàn)原理、方法和手段見(jiàn)圖8.1根據(jù)硬件電路正確設(shè)置PINSEL2寄存器和BCFG0寄存器,然后向SST39VF160發(fā)送命令進(jìn)行擦除、編程操作。圖8.1片外FLASH芯片連接電路四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)一套2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一個(gè)工程EMC_C。(2)在user組中的main.c中編寫(xiě)主程序代碼。(3)在Startup.s文件中可以修改BCFG0寄存器的值,也可以使用模板默認(rèn)設(shè)置。(4)選用DebugInExram生成目標(biāo),然后編譯連接工程。(5)選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行JTAG仿真調(diào)試。(6)打開(kāi)存儲(chǔ)器觀察窗口(Memory)設(shè)置觀察地址為0x80000000,顯示方式Size為16Bit,監(jiān)視片外FLASH的數(shù)據(jù)。(7)將MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)上跳線JP22短接,JP20全部斷開(kāi)。(8)可以單步運(yùn)行程序,觀察片外FLASH的數(shù)據(jù),觀察err變量的值。說(shuō)明:將鼠標(biāo)移到err變量上,停留一定時(shí)間后即會(huì)顯示該變量的當(dāng)前值,移走鼠標(biāo)則顯示消隱。(9)可以全速運(yùn)行程序,若蜂鳴器響一聲,表示FLASH擦除、編程操作成功。若不斷的蜂鳴報(bào)警,表示FLASH擦除或編程操作失敗。(10)實(shí)驗(yàn)參考程序外部存儲(chǔ)器接口實(shí)驗(yàn)的參考程序見(jiàn)程序清單8.1。程序清單8.1外部存儲(chǔ)器接口實(shí)驗(yàn)參考程序?qū)嶒?yàn)九:定時(shí)器實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康氖煜PC2000系列ARM7微控制器的定時(shí)器0/1的基本設(shè)置與應(yīng)用。二、實(shí)驗(yàn)內(nèi)容使用定時(shí)器0實(shí)現(xiàn)1秒定時(shí),控制蜂鳴器蜂鳴。采用軟件查詢方式等待定時(shí)時(shí)間到達(dá)。三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真和ADX軟件調(diào)試方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)一套2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一個(gè)工程TimeBeep_C。(2)在user組中的main.c中編寫(xiě)主程序代碼。(3)選用DebugInExram生成目標(biāo),然后編譯連接工程。(4)將MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)上的JP22跳線短接,JP20跳線斷開(kāi),見(jiàn)圖9.1。(5)選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行JTAG仿真調(diào)試。可以全速運(yùn)行程序,蜂鳴器會(huì)響一秒,停一秒,然后再響一秒……依次循環(huán)。(6)實(shí)驗(yàn)參考程序定時(shí)器實(shí)驗(yàn)的參考程序見(jiàn)程序清單9.1。程序清單9.1定時(shí)器實(shí)驗(yàn)參考程序?qū)嶒?yàn)十:UART實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)實(shí)驗(yàn),掌握UART各個(gè)控制寄存器的設(shè)置,并能使用串口向PC機(jī)發(fā)送數(shù)據(jù)。二、實(shí)驗(yàn)內(nèi)容使用UART0向PC機(jī)發(fā)送字符串“HelloWorld!”。UART0設(shè)置為通訊波特率115200,8位數(shù)據(jù)位,1位停止位,無(wú)奇偶校驗(yàn)。三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真和ADX軟件調(diào)試方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)一套2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一個(gè)工程SendStr_C。(2)在user組中的main.c中編寫(xiě)主程序代碼。(3)選用DebugInExram生成目標(biāo),然后編譯連接工程。(4)將MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)上的跳線JP30短接,JP28全部斷開(kāi),見(jiàn)圖10.1。圖10.1UART0的連接電路(5)使用串口延長(zhǎng)線把MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)的CZ4(UART0)與PC機(jī)的COM1連接。PC機(jī)運(yùn)行EasyARM軟件,設(shè)置串口為COM1,波特率為115200,然后選擇【設(shè)置】->【發(fā)送數(shù)據(jù)】,在彈出的發(fā)送數(shù)據(jù)窗口中點(diǎn)擊“高級(jí)”即可打開(kāi)接收窗口。(6)選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行JTAG仿真調(diào)試。(7)全速運(yùn)行程序,PC機(jī)上的EasyARM軟件會(huì)不斷的顯示“HelloWorld!”。如圖10.2所示。圖10.2UART實(shí)驗(yàn)運(yùn)行結(jié)果(8)實(shí)驗(yàn)參考程序UART實(shí)驗(yàn)的參考程序見(jiàn)程序清單10.1。程序清單10.1UART實(shí)驗(yàn)參考程序?qū)嶒?yàn)十一:I2C接口實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康模?)掌握LPC2000系列ARM7微控制器的硬件I2C接口的使用;(2)了解CAT1025JI-30的E2PROM的操作方法與注意事項(xiàng)。二、實(shí)驗(yàn)內(nèi)容使用主模式I2C向CAT1025JI-30的E2PROM寫(xiě)入10字節(jié)數(shù)據(jù),然后讀出校驗(yàn),若校驗(yàn)通過(guò)則蜂鳴器響一聲,否則不斷地蜂鳴報(bào)警。三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真和ADX軟件調(diào)試方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)一套2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集成授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一個(gè)工程E2PROM_C。(2)將MaigcARM2200提供的I2C軟件包i2cint.c和i2cint.h添加到工程中。(3)在user組中的main.c中編寫(xiě)主程序代碼,在項(xiàng)目中的config.h文件中加入“#include"i2cint.h"”。(4)選用DebugInExram生成目標(biāo),然后編譯連接工程。(5)將MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)上的跳線器JP22短接,JP20斷開(kāi)。(6)選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行JTAG仿真調(diào)試。(7)全速運(yùn)行程序,若蜂鳴器響一聲,表明E2PROM讀寫(xiě)操作成功。(8)實(shí)驗(yàn)參考程序I2C接口實(shí)驗(yàn)的參考程序見(jiàn)程序清單11.1。其中I2C接口函數(shù)與中斷處理程序在I2cInt.c文件。程序清單11.1I2C接口實(shí)驗(yàn)參考程序?qū)嶒?yàn)十二:WDT實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)實(shí)驗(yàn),掌握LPC2000系列ARM7微控制器的WDT功能與其使用方法。二、實(shí)驗(yàn)內(nèi)容運(yùn)行WDT,然后控制LED1~LED8顯示輸出。先對(duì)LED1~LED8閃爍控制,并進(jìn)行喂狗處理,然后只點(diǎn)亮LED1,并進(jìn)入死循環(huán),等待WDT復(fù)位。三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真和ADX軟件調(diào)試方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)一套2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一個(gè)工程WDTRun_C。(2)在user組中的main.c中編寫(xiě)主程序代碼。(3)選用ReloutChip生成目標(biāo),然后編譯連接工程。(4)將MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)上的跳線器JP23短接,JP15全部斷開(kāi)。(5)選擇【Project】->【Debug】,啟動(dòng)AXD使程序下載到Flash中,請(qǐng)注意修改AXD設(shè)置,具體參考圖12.1。(6)按下教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)的復(fù)位電路,MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)上的LED1~LED8全部快速閃爍,然后只點(diǎn)亮LED1,等待WDT復(fù)位系統(tǒng)。當(dāng)WDT復(fù)位后,程序會(huì)重復(fù)執(zhí)行剛才點(diǎn)燈的程序,表示W(wǎng)DT已經(jīng)復(fù)位發(fā)生。圖12.1片外FLASH調(diào)試的仿真器設(shè)置(7)實(shí)驗(yàn)參考程序WDT實(shí)驗(yàn)的參考程序見(jiàn)程序清單12.1。程序清單12.1WDT實(shí)驗(yàn)參考程序?qū)嶒?yàn)十三:低功耗實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康恼莆誏PC2000系列ARM7微控制器的低功耗控制。二、實(shí)驗(yàn)內(nèi)容控制LPC2290進(jìn)入空閑狀態(tài),并使用定時(shí)器中斷喚醒,定時(shí)時(shí)間為2S,中斷喚醒后控制蜂鳴器響一聲,然后再次進(jìn)入空閑狀態(tài)。三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真和ADX軟件調(diào)試方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)一套2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一工程IdleTime_C。(2)在user組中的main.c中編寫(xiě)主程序代碼。(3)選用DebugInExram生成目標(biāo),然后編譯連接工程。(4)將MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)上的跳線器JP23短接,JP20斷開(kāi)。(5)選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行JTAG仿真調(diào)試。(6)全速運(yùn)行程序,蜂鳴器將每隔2秒響一聲。(7)實(shí)驗(yàn)參考程序低功耗實(shí)驗(yàn)的參考程序見(jiàn)程序清單13.1。程序清單13.1低功耗實(shí)驗(yàn)參考程序?qū)嶒?yàn)十四:模數(shù)轉(zhuǎn)換器實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康恼莆漳?shù)轉(zhuǎn)換器的應(yīng)用設(shè)置,進(jìn)行電壓信號(hào)的測(cè)量。二、實(shí)驗(yàn)內(nèi)容使用AIN0和AIN1測(cè)量?jī)陕分绷麟妷?,并將測(cè)量結(jié)果通過(guò)UART0向PC機(jī)發(fā)送。三、實(shí)驗(yàn)原理、方法和手段采用ADS1.2軟件仿真和ADX軟件調(diào)試方法。四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)一套2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境EasyARM軟件五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImageforMaigcARM2200工程模板建立一個(gè)工程ADC_C。(2)在user組中的main.c中編寫(xiě)主程序代碼,在config.h中添加#include<stdio.h>。(3)選用DebugInExram生成目標(biāo),然后編譯連接工程。(4)將MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)上的跳線JP8、JP30短接,JP28全部斷開(kāi)。見(jiàn)圖14.1和圖14.2。圖14.1UART0的連接電路圖14.2ADC外圍連接電路(5)使用串口延長(zhǎng)線把MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)的CZ4(UART0)與PC機(jī)的COM1連接。PC機(jī)運(yùn)行EasyARM軟件,設(shè)置串口為COM1,波特率為115200。(6)選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行JTAG仿真調(diào)試。(7)全速運(yùn)行程序,PC機(jī)上的EasyARM軟件會(huì)不斷的顯示AIN0和AIN1的電壓值。(8)調(diào)整MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)的W1或W2,觀察AIN0或AIN1的測(cè)量值的變化(在PC機(jī)上的EasyARM軟件上觀察)。(9)實(shí)驗(yàn)參考程序模數(shù)轉(zhuǎn)換器實(shí)驗(yàn)的參考程序見(jiàn)程序清單14.2。程序清單14.2模數(shù)轉(zhuǎn)換器實(shí)驗(yàn)參考程序?qū)嶒?yàn)十五:PS/2鍵盤(pán)實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康恼莆誔S/2鍵盤(pán)接口時(shí)序協(xié)議,并讀取鍵盤(pán)鍵值。二、實(shí)驗(yàn)內(nèi)容按照PS/2時(shí)序協(xié)議,發(fā)送控制指令控制鍵盤(pán)的LED燈(CapsLock),并讀取PS/2輸出的鍵值。三、實(shí)驗(yàn)原理、方法和手段見(jiàn)圖15.1,由于PS/2數(shù)據(jù)和時(shí)鐘線都是集電極開(kāi)路結(jié)構(gòu),因此MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)對(duì)PS/2數(shù)據(jù)線和時(shí)鐘線均提供了上拉電阻。PS/2總線是5V系統(tǒng),但是LPC2290GPIO是3.3V系統(tǒng),因此添加了通信線路的限流電阻。圖15.1PS/2鍵盤(pán)與鼠標(biāo)硬件接口電路鍵盤(pán)和鼠標(biāo)使用一種每幀包含11位的串行協(xié)議,這些位含義是:1個(gè)起始位總是為0;8個(gè)數(shù)據(jù)位,低位在前;1個(gè)校驗(yàn)位,奇校驗(yàn);1個(gè)停止位總是為1。具體時(shí)序請(qǐng)參考圖15.2。圖15.2PS/2設(shè)備到主機(jī)的通信時(shí)序四、實(shí)驗(yàn)環(huán)境、條件1. 硬件:PC機(jī)一臺(tái)MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)一套2. 軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開(kāi)發(fā)環(huán)境EasyARM軟件五、實(shí)驗(yàn)組織運(yùn)行要求集中授課形式。六、實(shí)驗(yàn)步驟(1)啟動(dòng)ADS1.2,使用ARMExecutableImageforMagicARM2200工程模板建立一個(gè)工程PCKey_C。(2)將光盤(pán)中的PC鍵盤(pán)軟件包pckey.h和pckey.c添加到工程中。(3)在user組中的main.c中編寫(xiě)主程序代碼,在config.h中添加#include<stdio.h>和#include"pckey.h"。(4)選用DebugInExram生成目標(biāo),然后編譯連接工程。(5)將MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)上跳線JP7和JP30全部短接,JP28全部斷開(kāi)。(6)選擇【Project】->【Debug】,啟動(dòng)AXD進(jìn)行JTAG仿真調(diào)試。(7)使用串口延長(zhǎng)線把MagicARM2200教學(xué)實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)的CZ4(UART0)與PC機(jī)的COM1連接。PC機(jī)運(yùn)行EasyARM軟件,設(shè)置串口為COM1,波特率為115200,選擇接收模式。(8)觀察輸入和EasyARM軟件顯示出來(lái)的鍵值是否對(duì)應(yīng)。圖15.3PS/2鍵盤(pán)鍵值顯示結(jié)果(9)實(shí)驗(yàn)參考程序PS/2鍵盤(pán)實(shí)驗(yàn)參考程序見(jiàn)程序清單15.3。實(shí)驗(yàn)十六:步進(jìn)電機(jī)實(shí)驗(yàn)2學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康牧私獠竭M(jìn)電機(jī)的控制原理,掌握轉(zhuǎn)動(dòng)控制和調(diào)速方法。二、實(shí)驗(yàn)內(nèi)容通過(guò)4個(gè)GPIO發(fā)出有序的矩形脈沖,控制ULN2003驅(qū)動(dòng)四相步進(jìn)電機(jī)實(shí)現(xiàn)正

溫馨提示

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