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

正文內(nèi)容

嵌入式實(shí)驗(yàn)報(bào)告(完整版)

2025-10-24 09:41上一頁面

下一頁面
  

【正文】 驗(yàn).............................................................................5 實(shí)驗(yàn)四 外部中斷實(shí)驗(yàn).....................................................................8 實(shí)驗(yàn)五 獨(dú)立看門狗實(shí)驗(yàn)................................................................11 實(shí)驗(yàn)七 定時(shí)器中斷實(shí)驗(yàn)................................................................13 實(shí)驗(yàn)十三 ADC實(shí)驗(yàn)........................................................................15 實(shí)驗(yàn)十五 DMA實(shí)驗(yàn)........................................................................17 實(shí)驗(yàn)十六 I2C實(shí)驗(yàn)........................................................................21 實(shí)驗(yàn)十七 SPI實(shí)驗(yàn)........................................................................24 實(shí)驗(yàn)二十一 紅外遙控實(shí)驗(yàn)............................................................27 實(shí)驗(yàn)二十二 DS18B20實(shí)驗(yàn).............................................................30實(shí)驗(yàn)一 跑馬燈實(shí)驗(yàn)一.實(shí)驗(yàn)簡介我的第一個(gè)實(shí)驗(yàn),跑馬燈實(shí)驗(yàn)。數(shù)據(jù)拷貝程序需要判斷傳遞參數(shù)的正確性:源數(shù)據(jù)區(qū)和目的數(shù)據(jù)區(qū)不能重疊,如果重疊則不進(jìn)行拷貝操作,并返回錯(cuò)誤碼(1),否則進(jìn)行數(shù)據(jù)拷貝并返回成功碼(0)。調(diào)試并撰寫實(shí)驗(yàn)報(bào)告。四.實(shí)驗(yàn)設(shè)備硬件部分:PC計(jì)算機(jī)(宿主機(jī))、亮點(diǎn)STM32實(shí)驗(yàn)板、JLINK。使用JLINK下載代碼到目標(biāo)板,查看運(yùn)行結(jié)果,使用JLINK在線調(diào)試。這里需要注意的是 KEY0 和KEY1 是低電平有效的,而WK_UP 是高電平有效的,而且要確認(rèn)WK_UP 按鈕與DS18B20 的連接是否已經(jīng)斷開,要先斷開,否則DS18B20 會干擾WK_UP按鍵!并且KEY0 和KEY1 連接在與JTAG 相關(guān)的IO 口上,所以在軟件編寫的時(shí)候要先禁用JTAG 功能,才能把這兩個(gè)IO 口當(dāng)成普通IO 口使用。接著我們打開串口調(diào)試助手,看到如下信息:證明串口數(shù)據(jù)發(fā)送沒問題。三.實(shí)驗(yàn)內(nèi)容初始化IO口的輸入,開啟復(fù)用時(shí)鐘,設(shè)置IO與中斷的映射關(guān)系,從而開啟與IO口相對應(yīng)的線上中斷事件,設(shè)置觸發(fā)條件。4)配置中斷分組(NVIC),并使能中斷。6)沒有用軟件中斷來觸發(fā)外部中斷,調(diào)用函數(shù)EXTI_GenerateSWInterrupt;,因?yàn)檐浖袛嘞扔谶呇刂袛嗵幚怼=⒑团渲霉こ?編寫代碼使用ISP下載到實(shí)驗(yàn)板記錄實(shí)驗(yàn)過程,撰寫實(shí)驗(yàn)報(bào)告六.實(shí)驗(yàn)結(jié)果及測試源代碼:在配置看門狗后,看到LED0 不停的閃爍,如果WK_UP 按鍵按下,就喂狗,只要WK_UP 不停的按,看門狗就一直不會產(chǎn)生復(fù)位,保持LED0 的常亮,一旦超過看門狗定溢出時(shí)間(Tout)還沒按,那么將會導(dǎo)致程序重啟,這將導(dǎo)致LED0 熄滅一次。STM32 的通用定時(shí)器可以被用于:測量輸入信號的脈沖長度(輸入捕獲)或者產(chǎn)生輸出波形(輸出比較和 PWM)等。,使用JLINK或ISP下載到實(shí)驗(yàn)板 ,撰寫實(shí)驗(yàn)報(bào)告六.實(shí)驗(yàn)結(jié)果及測試源代碼:七.實(shí)驗(yàn)總結(jié)通過本次實(shí)驗(yàn),認(rèn)識到時(shí)間中斷來控制LED燈的閃爍,同時(shí)也可以將時(shí)間中斷應(yīng)用到控制其他的程序塊。然后執(zhí)行相關(guān)的操作,我們這里使用的是更新(溢出)中斷,所以在狀態(tài)寄存器 SR 的最低位。步驟如下:1)開啟 PA 口時(shí)鐘,設(shè)置 PA0 為模擬輸入。在轉(zhuǎn)換結(jié)束后,讀取 ADC1_DR 里面的值。LED0 還是用來做為程序運(yùn)行的指示燈。3)設(shè)置傳輸數(shù)據(jù)量。在DMA控制器的控制下,在存儲器和外部設(shè)備之間直接進(jìn)行數(shù)據(jù)傳送,在傳送過中不需要中央處理器的參與。三.實(shí)驗(yàn)內(nèi)容編寫I2C驅(qū)動(dòng)程序,使用驅(qū)動(dòng)程序初始化EPC02,判斷設(shè)備正確性。IIC總線在傳送數(shù)據(jù)過程中共有三種類型信號,它們分別是:開始信號、結(jié)束信號和應(yīng)答信號。軟件部分:PC機(jī)WINDOWS系統(tǒng)、MDK KEIL軟件、ISP軟件、串口調(diào)試助手。3)使能 SPI。軟件部分:PC機(jī)WINDOWS系統(tǒng)、MDK KEIL軟件、ISP軟件。軟件部分:PC機(jī)WINDOWS系統(tǒng)、MDK KEIL軟件、ISP軟件。使用JLINK下載代碼到目標(biāo)板,查看運(yùn)行結(jié)果,使用JLINK在線調(diào)試。這里需要注意的是 KEY0 和KEY1 是低電平有效的,而WK_UP 是高電平有效的,而且要確認(rèn)WK_UP 按鈕與DS18B20 的連接是否已經(jīng)斷開,要先斷開,否則DS18B20 會干擾WK_UP按鍵!并且KEY0 和KEY1 連接在與JTAG 相關(guān)的IO 口上,所以在軟件編寫的時(shí)候要先禁用JTAG 功能,才能把這兩個(gè)IO 口當(dāng)成普通IO 口使用。接著我們打開串口調(diào)試助手,看到如下信息:證明串口數(shù)據(jù)發(fā)送沒問題。三.實(shí)驗(yàn)內(nèi)容初始化IO口的輸入,開啟復(fù)用時(shí)鐘,設(shè)置IO與中斷的映射關(guān)系,從而開啟與IO口相對應(yīng)的線上中斷事件,設(shè)置觸發(fā)條件。4)配置中斷分組(NVIC),并使能中斷。6)沒有用軟件中斷來觸發(fā)外部中斷,調(diào)用函數(shù)EXTI_GenerateSWInterrupt;,因?yàn)檐浖袛嘞扔谶呇刂袛嗵幚怼=⒑团渲霉こ?編寫代碼使用ISP下載到實(shí)驗(yàn)板記錄實(shí)驗(yàn)過程,撰寫實(shí)驗(yàn)報(bào)告六.實(shí)驗(yàn)結(jié)果及測試源代碼:在配置看門狗后,看到LED0 不停的閃爍,如果WK_UP 按鍵按下,就喂狗,只要WK_UP 不停的按,看門狗就一直不會產(chǎn)生復(fù)位,保持LED0 的常亮,一旦超過看門狗定溢出時(shí)間(Tout)還沒按,那么將會導(dǎo)致程序重啟,這將導(dǎo)致LED0 熄滅一次。二、實(shí)驗(yàn)內(nèi)容:?!狹ake,將編譯鏈接整個(gè)工程。我感觸最深的是每次軟件的開始使用是最關(guān)鍵的,想要掌握一個(gè)軟件的使用必須進(jìn)行多次的練習(xí),多練幾遍自然而然的會熟練的操作。設(shè)置調(diào)試入口地址Image entry point 為 0x40000000。聲明32 位ARM 指令STARTLDRR1,=COUNT。[R1] BLOOPEND五、心得體會:通過本次實(shí)驗(yàn),讓我更深一步的了解了ADS 集成開發(fā)環(huán)境及ARMulator軟件仿真。2) ,編寫實(shí)驗(yàn)程序,然后添加到工程中。定義Y 的值為8BIT23EQU(1。即是R3 = X + YMOVR8,R3。break。初始化key 的值A(chǔ)NDR2,R2,0x0F。case 5:BNECASE_7SUBR0,R2,R1。未定義模式堆棧END五、心得體會:通過本次實(shí)驗(yàn),我較好的掌握了如何使用MRS/MSR指令實(shí)現(xiàn)ARM微控制器工作模式的切換。 Base為0x40000000,RW Base為0x40003000。四、程序清單:define uint8unsigned chardefine uint32unsigned intdefine Nuint32 sum。起動(dòng)文件。跳轉(zhuǎn)到 C 程序代碼Main()函數(shù)END五、心得體會:通過本次實(shí)驗(yàn),我學(xué)會并掌握使用ADS ,并進(jìn)行調(diào)試。將R2寄存器的值設(shè)為數(shù)據(jù)域N的地址 LDR R1,[R2]。R2 = R2+R9 ADD R8,R8,4。+100,求的值,并保存在地址0x90018的地址里面程序代碼:MOV R0,100。不相等的話繼續(xù)執(zhí)行循環(huán)STR R3,[R2]。程序入口處MOV sp,stack_top。B stop。設(shè)置R6 = 3 MOV R7,4。R6累加1 ADD R7,R7,x。R4 9繼續(xù)執(zhí)行循環(huán)LDMFD SP!,{R4R11}。設(shè)置r2的值為20 MOV sp,0x400。將r4r11中的數(shù)據(jù)放入dst數(shù)據(jù)塊中 SUBS r3,r3,1。LDR r3,[r0],4。END。將r6的值裝入r0+8執(zhí)行的內(nèi)存中 LDR R7,=src。三、ARM C語言簡介與使用規(guī)則在應(yīng)用系統(tǒng)的程序設(shè)計(jì)中,若所有的編程任務(wù)均由匯編語言來完成,其工作量巨大,并且不宜移植。如寄存器的使用規(guī)則,堆棧的使用規(guī)則,參數(shù)的傳遞規(guī)則等。在調(diào)用C程序時(shí),要正確設(shè)置入口參數(shù),然后使用BL調(diào)用。}。將r3的值入棧當(dāng)做第五個(gè)參數(shù) ADD R3,R1,R1。并且培養(yǎng)了我們寫代碼的能力以及對代碼的閱讀能力和修改能力。調(diào)用sum5 ADD SP,SP,4。聲明調(diào)用c函數(shù) CALLSUMS STMFD SP!,{LR}。在匯編程序中使用EXPORT偽指令聲明本子程序,使其他程序可以調(diào)用此子程序。而使用ADS的C語言編譯器編譯的C語言子程序滿足用戶指定的ATPCS的規(guī)則。因此,C語言的在ARM編程中具有重要地位。將r7執(zhí)行的地址的數(shù)據(jù)讀入r8=r10 LDR R3,=N。設(shè)置r4 = 1; MOV R5,2。將r3中的數(shù)據(jù)存入到dst數(shù)據(jù)塊中,r1 = r1+4 SUBS r2,r2,1。結(jié)果不為0跳轉(zhuǎn)到octcopy LDMFD SP!,{R4R11}。MOVS r3,r2,LSR 3。實(shí)驗(yàn)結(jié)果:主要實(shí)現(xiàn)將數(shù)據(jù)29,310,411……916壓入堆棧(初始地址是0x800處開始),最后將R4R11全部清零。R8累加1 ADD R9,R9,x。設(shè)置R8 = 5 MOV R9,6。定義常量x = 1 stack_top EQU 0X800。將x的值放入r0 STR r0,[sp]。END 程序執(zhí)行結(jié)果:程序執(zhí)行完在0x90018內(nèi)存入的數(shù)據(jù)是0x13ba即5050實(shí)驗(yàn)二 ARM匯編語言程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?,學(xué)會使用ARM的匯編語言編程; ,以及存儲器的裝載指令操作。設(shè)置R2寄存器指向地址0x90018 MOV R1,0。R0 = R0+1 CMP R0,R1。設(shè)置R2的值為0 ADR R3,C。c”和“.s”文件。IMPORT|Image$$RO$$Limit|IMPORT|Image$$RW$$Base|IMPORT|Image$$ZI$$Base|IMPORT|Image$$ZI$$Limit|IMPORTMain。(N0)void Main(void){ uint32 i。:選擇Edit—DebugRel Settings,在DebugRel Settings對話框的左邊選擇ARM Linker項(xiàng),然后在Layout頁設(shè)置Object/,Section為Start。實(shí)驗(yàn)六C語言程序?qū)嶒?yàn)一、實(shí)驗(yàn)?zāi)康模和ㄟ^實(shí)驗(yàn)了解使用ADS ,并進(jìn)行調(diào)試。分配堆??臻gAREAMyStacks, DATA, NOINIT, ALIGN=2UsrStackSpaceSPACEUSR_STACK_LEGTH * 4。0x0F)CMPR2,0。default: x = 168。使用MOV、MVN、SUB 指令實(shí)現(xiàn):R5 = 0x5FFFFFF8y。聲明代碼段Example3ENTRY。設(shè)置調(diào)試入口地址Image entry point 為 0x40000000。本次實(shí)驗(yàn)中我遇到了一個(gè)問題,在工程里加載文件的時(shí)候,沒注意文件的后綴應(yīng)為“。R0 STRR0,[R1]。(Processor Registers),選擇Current 項(xiàng)監(jiān)視R0和R1的值。,并能編寫簡單的
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1