freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式實驗報告小編整理-資料下載頁

2024-10-21 09:25本頁面
  

【正文】 斷事件,設(shè)置觸發(fā)條件。配置中斷分組(NVIC),并使能中斷,編寫中斷服務(wù)函數(shù)。四.實驗設(shè)備硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK、示波器。軟件部分:PC機WINDOWS系統(tǒng)、MDK KEIL軟件、ISP軟件、串口調(diào)試助手。五.實驗步驟 使用ISP下載到實驗板 測試運行結(jié)果記錄實驗過程,撰寫實驗報告六.實驗結(jié)果及測試源代碼:打開串口助手。七.實驗總結(jié)首先需要將IO設(shè)置為中斷輸入口: 1)初始化 IO 口為輸入。2)開啟 IO 口復(fù)用時鐘,設(shè)置 IO 口與中斷線的映射關(guān)系。3)開啟與該 IO口相對的線上中斷/事件,設(shè)置觸發(fā)條件。4)配置中斷分組(NVIC),并使能中斷。5)編寫中斷服務(wù)函數(shù)。這一節(jié),使用的是中斷來檢測按鍵,通過 WK_UP 按鍵實現(xiàn)按一次 LED0 和 LED 1 同時翻轉(zhuǎn),按 KEY0 翻轉(zhuǎn) LED0,按 KEY1 翻轉(zhuǎn) LED1。試驗中外部中斷函數(shù)不能進入的原因分析 : 1)GPIO或者AFIO的時鐘沒有開啟。2)GPIO和配置的中斷線路不匹配。3)中斷觸發(fā)方式和實際不相符合。4)中斷處理函數(shù)用庫函數(shù)時,寫錯,經(jīng)常可能出現(xiàn)數(shù)字和字母之間沒有下劃線。5)外部中斷是沿觸發(fā),有可能不能檢測到沿,比如 中斷線是低電平(浮空輸入),觸發(fā)是下降沿觸發(fā),可能會出現(xiàn)一直是低電平,高電平的時候是一樣的情況,電平持續(xù)為高電平。6)沒有用軟件中斷來觸發(fā)外部中斷,調(diào)用函數(shù)EXTI_GenerateSWInterrupt;,因為軟件中斷先于邊沿中斷處理。獨立看門狗實驗一. 實驗簡介獨立看門狗(IWDG)由專用的低速時鐘(LSI)驅(qū)動,即使主時鐘發(fā)生故障它也仍然有效。窗口看門狗由從APB1時鐘分頻后得到的時鐘驅(qū)動,通過可配置的時間窗口來檢測應(yīng)用程序非正常的過遲或過早的操作。二.實驗?zāi)康耐ㄟ^編程,編寫一個獨立看門狗驅(qū)動程序三.實驗內(nèi)容啟動 STM32 的獨立看門狗,從而使能看門狗,在程序里面必須間隔一定時間喂狗,否則將導(dǎo)致程序復(fù)位。利用這一點,我們本章將通過一個 LED 燈來指示程序是否重啟,來驗證 STM32 的獨立看門狗。四.實驗設(shè)備硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK。軟件部分:PC機WINDOWS系統(tǒng)、MDK KEIL軟件、ISP軟件、串口調(diào)試助手。五.實驗步驟,編寫?yīng)毩⒖撮T狗驅(qū)動程序。建立和配置工程 編寫代碼使用ISP下載到實驗板記錄實驗過程,撰寫實驗報告六.實驗結(jié)果及測試源代碼:在配置看門狗后,看到LED0 不停的閃爍,如果WK_UP 按鍵按下,就喂狗,只要WK_UP 不停的按,看門狗就一直不會產(chǎn)生復(fù)位,保持LED0 的常亮,一旦超過看門狗定溢出時間(Tout)還沒按,那么將會導(dǎo)致程序重啟,這將導(dǎo)致LED0 熄滅一次。七.實驗總結(jié)通過本次實驗,我掌握了啟動獨立看門狗的步驟: 1)向 IWDG_KR 寫入 0X5555。2)向 IWDG_KR 寫入 0XAAAA。3)向 IWDG_KR 寫入 0XCCCC。通過上面 3個步驟,啟動 STM32 的看門狗,從而使能看門狗,在程序里面就必須間隔一定時間喂狗,否則將導(dǎo)致程序復(fù)位。利用這一點,本章通過一個LED 燈來指示程序是否重啟,來驗證 STM32 的獨立看門狗。在配置看門狗后,LED0 將常亮,如果 WK_UP 按鍵按下,就喂狗,只要 WK_UP 不停的按,看門狗就一直不會產(chǎn)生復(fù)位,保持 LED 0 的常亮,一旦超過看門狗溢出時間(Tout)還沒按,那么將會導(dǎo)致程序重啟,這將導(dǎo)致 LED 0 熄滅一次。第四篇:嵌入式實驗報告西安郵電大學(xué)嵌入式處理器及應(yīng)用實驗報告書學(xué)院名稱學(xué)生姓名專業(yè)名稱班級: : : :實驗一ADS 集成開發(fā)環(huán)境練習(xí)一、實驗?zāi)康模毫私釧DS 集成開發(fā)環(huán)境的使用方法。二、實驗內(nèi)容:。,并添加到工程中。三、實驗步驟: IDE集成開發(fā)環(huán)境,選擇File—New,使用ARM Executable Image工程模板建立一個工程,工程名稱為ADS?!O(shè)置直接添加到項目中,輸入程序代碼。 New,對于中文支持不完善,因此建議修改字體。選擇Edit—Perferences,在Font選項設(shè)置字體為Fixedsys,Script為CHINESE_GB2312。建議在Tab Inserts Spaces前打勾,使Tab鍵插入的是多個空格?!狣ebugRel Settings,在DebugRel Settings對話框的左邊選擇ARM Linker項,然后在Output頁設(shè)置連接地址ROBase 為0x40000000,RW Base 為0x40003000,在Options頁設(shè)置調(diào)試入口地址Image entry point 為 0x40000000?!狹ake,將編譯鏈接整個工程?!狣ebug,或單擊快捷鍵F5,IDE環(huán)境就會啟動AXD調(diào)試軟件。四、程序清單:AREAExample1,CODE,READONLY。聲明代碼段Example1ENTRY。標(biāo)識程序入口CODE32。聲明32 位ARM 指令STARTMOVR0,15。設(shè)置參數(shù)MOVR1,8ADDSR0,R0,R1。R0 = R0 + R1BSTARTEND五、心得體會:通過本次實驗,我熟悉了ADS 集成開發(fā)環(huán)境,學(xué)會了怎樣建立工程,在工程里面建立文件和進行最基本的運行操作。我感觸最深的是每次軟件的開始使用是最關(guān)鍵的,想要掌握一個軟件的使用必須進行多次的練習(xí),多練幾遍自然而然的會熟練的操作。實驗二存儲器訪問指令練習(xí)實驗一、實驗?zāi)康模? 集成開發(fā)環(huán)境及ARMulator軟件仿真。,并能編寫簡單的匯編程序。二、實驗內(nèi)容:,將數(shù)據(jù)加1,若結(jié)果小于10,則使用STR指令把結(jié)果回寫原地址;若結(jié)果大于或等于10,則把0寫回原地址。 ,單步、全速運行程序,設(shè)置斷點,打開寄存器窗口(Processor Registers)監(jiān)視R0和R1的值,打開存儲器觀察窗口(Memory)監(jiān)視0x40003100上的值。三、實驗步驟: ,使用ARM Executable Image工程模板建立一個工程Instruction2。,編寫實驗程序,然后添加到工程中。 為0x40000000,RW Base 為0x40003000。設(shè)置調(diào)試入口地址Image entry point 為 0x40000000。,選擇Project —Debug,啟動AXD進行軟件仿真調(diào)試。(Processor Registers),選擇Current 項監(jiān)視R0和R1的值。打開存儲器觀察窗口(Memory)設(shè)置觀察地址為0x40003100,顯示方式Size為32Bit,監(jiān)視0x40003100地址上的值。四、程序清單:COUNTEQU0x40003100。定義一個變量,地址為0x40003100AREAExample2,CODE,READONLY。聲明代碼段Example2ENTRY。標(biāo)識程序入口CODE32。聲明32 位ARM 指令STARTLDRR1,=COUNT。R1 MOVR0,0。R0 STRR0,[R1]。[R1] LOOPLDRR1,=COUNTLDRR0,[R1]。R0 ADDR0,R0,1。R0 CMPR0,10。R0 與 10 比較,影響條件碼標(biāo)志MOVHSR0,0。若R0 大于等于 10,則此指令執(zhí)行,R0 STRR0,[R1]。[R1] BLOOPEND五、心得體會:通過本次實驗,讓我更深一步的了解了ADS 集成開發(fā)環(huán)境及ARMulator軟件仿真。通過對程序的解讀,我掌握一些匯編指令的寫法,同時也提高了我的讀程序的能力。本次實驗中我遇到了一個問題,在工程里加載文件的時候,沒注意文件的后綴應(yīng)為“。S”,結(jié)果造成文件加載失敗。實驗三數(shù)據(jù)處理指令練習(xí)實驗一、實驗?zāi)康模?。二、實驗?nèi)容:。、SUB、AND、ORR、CMP和TST等指令完成數(shù)據(jù)加減運算及邏輯運算。三、實驗步驟:1),使用ARM Executable Image 工程模板建立一個工程Instruction3。2) ,編寫實驗程序,然后添加到工程中。3)設(shè)置工程鏈接地址RO Base為0x40000000,RW Base為0x40003000。設(shè)置調(diào)試入口地址Image entry point 為 0x40000000。4)編譯鏈接工程,選擇Project —Debug,啟動AXD進行軟件仿真調(diào)試。5)打開寄存器窗口(Processor Registers),選擇Current 項監(jiān)視各寄存器的值。6)單步運行程序,觀察寄存器值的變化。四、程序清單:XEQU。定義X 的值為11YEQU。定義Y 的值為8BIT23EQU(1。定義BIT23 的值為0x00800000AREAExample3,CODE,READONLY。聲明代碼段Example3ENTRY。標(biāo)識程序入口CODE32。聲明32 位ARM 指令START。使用MOV、ADD 指令實現(xiàn):R8 = R3 = X + YMOVR0,X。R0 MOVR1,Y。R1 ADDR3,R0,R1。即是R3 = X + YMOVR8,R3。R8 。使用MOV、MVN、SUB 指令實現(xiàn):R5 = 0x5FFFFFF8y。break。case7: x = key * y。break。default: x = 168。SWITCHCASE_0CASE_2CASE_3CASE_5CASE_7。break。}。設(shè)x 為R0,y 為R1,key 為R2(x、y、key 均為無符號整數(shù))MOVR1,3。初始化y 的值MOVR2,2。初始化key 的值A(chǔ)NDR2,R2,0x0F。switch(keyamp。0x0F)CMPR2,0。case 0:CMPNER2,2。case 2:MPNER2,3。case 3:BNECASE_5ADDR0,R2,R1。x = key + yBSWITCH_END。breakCMPR2,5。case 5:BNECASE_7SUBR0,R2,R1。x = key1)*4 SvcStackSpace +(SVC_STACK_LEGTH1)*4 FiqStackSpace +(FIQ_STACK_LEGTH1)*4UndtStackSpace +(UND_STACK_LEGTH1)*4。分配堆??臻gAREAMyStacks, DATA, NOINIT, ALIGN=2UsrStackSpaceSPACEUSR_STACK_LEGTH * 4。用戶(系統(tǒng))模式堆??臻gSvcStackSpaceSPACESVC_STACK_LEGTH * 4。管理模式堆??臻gIrqStackSpaceSPACEIRQ_STACK_LEGTH * 4。中斷模式堆??臻gFiqStackSpaceSPACEFIQ_STACK_LEGTH * 4??焖僦袛嗄J蕉褩?臻gAbtStackSpaceSPACEABT_STACK_LEGTH * 4。中止義模式堆??臻gUndtStackSpaceSPACEUND_STACK_LEGTH * 4。未定義模式堆棧END五、心得體會:通過本次實驗,我較好的掌握了如何使用MRS/MSR指令實現(xiàn)ARM微控制器工作模式的切換。較好的了解了在各個工作模式下的寄存器。實驗六C語言程序?qū)嶒炓?、實驗?zāi)康模和ㄟ^實驗了解使用ADS ,并進行調(diào)試。二、實驗內(nèi)容:編寫一個匯編程序文件和一個C程序文件。匯編程序的功能是初始化堆棧指針和初始化C程序的運行環(huán)境,然后跳轉(zhuǎn)到C程序運行,這就是一個簡單的啟動程序。C程序使用加法運算來計算1+2+3+…+(N1)+N的值(N為0時,結(jié)果為0;N為1時,結(jié)果為1)。三、實驗步驟:,使用ARM Executable Image 工程模板建立一個工程ProgramC。,編寫實驗程序,然后添加到工程中。 Base為0x40000000,RW Base為0x40003000。設(shè)置調(diào)試入口地址Image entry point 為 0x40000000。:選擇Edit—DebugRel Settings,在DebugRel Settings對話框的左邊選擇ARM Linker項,然后在Layout頁設(shè)置Object/,Section為Start。,選擇Project—Debug,啟動AXD進行軟件仿真調(diào)試?!癇 Main”處設(shè)置斷點,然后全速運行程序。單步運行程序,判斷程序是否跳轉(zhuǎn)到C程序中運行。選擇Processor Views—Variables打開變量觀察窗口,觀察全局變量的值,然后單步/全速運行程序,判斷程序的運算結(jié)果是否正確。四、程序清單:define uint8unsigned chardefine uint32unsigned intdefine Nuint32 sum。// 使用加法運算來計算 1+2+3+...+(N1)+N 的值。(N0)void Main(void){ uint32 i。sum = 0。for(i=0。i{ sum += i。}while(1)。}簡單的起動代碼。起動文件。初始化 C 程
點擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1