嵌入式實驗報告_第1頁
嵌入式實驗報告_第2頁
嵌入式實驗報告_第3頁
嵌入式實驗報告_第4頁
嵌入式實驗報告_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《嵌入式系統(tǒng)原理與設(shè)計》報告班級:姓名:學號:任課教師:開始時間:結(jié)束時間:

目錄實驗一跑馬燈 21. 實驗?zāi)康?22實現(xiàn)方法 23. 代碼 24. 實驗結(jié)果 3實驗二按鍵實驗 41. 實驗?zāi)康?42. 實現(xiàn)方法 43. 代碼 4實驗結(jié)果 5實驗三串口實驗 61. 實驗?zāi)康?62. 實現(xiàn)方法 63. 代碼 6實驗結(jié)果 7實驗四外部中斷實驗 91. 實驗?zāi)康?92. 實現(xiàn)目的 93. 代碼 94. 實驗結(jié)果 10實驗五獨立看門狗實驗 111. 實驗?zāi)康?112. 實現(xiàn)代碼 113. 代碼 114. 實驗結(jié)果 12實驗六窗口看門狗實驗 131. 實驗?zāi)康?132. 實現(xiàn)方法 133. 代碼 134實驗結(jié)果 14實驗七定時器中斷實驗 151. 實驗?zāi)康?152. 實現(xiàn)方法 153. 代碼 154. 實驗結(jié)果 15

實驗一跑馬燈實驗?zāi)康?熟悉集成環(huán)境軟件或熟悉Keil集成環(huán)境軟件的使用方法。熟悉匯編指令,能自己編寫簡單的程序控制硬件。2實現(xiàn)方法1編寫完成主程序。2編譯代碼。3單步調(diào)試。4記錄實驗過程與實驗結(jié)果。代碼#include"sys.h"#include"usart.h" #include"delay.h" #include"led.h"intmain(void){ Stm32_Clock_Init(9); //系統(tǒng)時鐘設(shè)置 delay_init(72); //延時初始化 LED_Init(); //初始化與LED連接的硬件接口 while(1) { LED0=0; LED1=1; delay_ms(300); LED0=1; LED1=0; delay_ms(300); } }實驗結(jié)果兩個燈LED0與LED1實現(xiàn)交替閃爍的類跑馬燈效果,每300ms閃爍一次。通過本次次實驗我了解了STM32開發(fā)板的基本使用,初次接觸這個開發(fā)板和MDKKEILC軟件,對軟件操作不太了解。通過這次實驗了解并熟練地使用MDKKEIL軟件,用這個軟件來編程和完成一些簡單功能的實現(xiàn)。

實驗二按鍵實驗實驗?zāi)康脑趯嶒炓坏幕A(chǔ)上,使用按鍵控制跑馬燈速度,及使用按鍵控制跑馬燈的方向。實現(xiàn)方法1.在實驗1代碼的基礎(chǔ)上,編寫中斷初始化代碼2.在主程序中聲明全局變量,用于和中斷服務(wù)程序通信,編寫完成主程序3.編寫中斷服務(wù)程序4.編譯代碼,使用JLINK下載到實驗板5.單步調(diào)試6.記錄實驗過程,撰寫實驗報告代碼#include"sys.h"#include"usart.h" #include"delay.h" #include"led.h"#include"key.h"intmain(void){ u8t; Stm32_Clock_Init(9); //系統(tǒng)時鐘設(shè)置 delay_init(72); //延時初始化 LED_Init(); //初始化與LED連接的硬件接口 KEY_Init(); //初始化與按鍵連接的硬件接口 LED0=0; //點亮LED while(1) { t=KEY_Scan(0); //得到鍵值 switch(t) { caseKEY0_PRES: LED0=!LED0; break; caseKEY1_PRES: LED1=!LED1; break; caseWKUP_PRES: LED0=!LED0; LED1=!LED1; break; default: delay_ms(10); } } }實驗結(jié)果我們將通過學校發(fā)的開發(fā)板板上載有的3個按鈕來控制板上的2個LED,其中KEY0控制LED0,按一次亮,再按一次就滅。KEY1控制LED1,效果同KEY0。KEY_2、KEY_UP同時控制LED0和LED1,按一次,他們的狀態(tài)就翻轉(zhuǎn)一次。

實驗三串口實驗實驗?zāi)康恼莆沾谑褂?,設(shè)置方法及收發(fā)數(shù)據(jù)方法。實現(xiàn)方法1.編寫串口初始化代碼。2.編寫中斷服務(wù)程序代碼。3.編譯代碼,使用JLINK或ISP下載到實驗板。4.記錄實驗過程,撰寫實驗報告。代碼#include"sys.h"#include"usart.h" #include"delay.h" #include"led.h"#include"key.h"intmain(void){ u8t; u8len; u16times=0; Stm32_Clock_Init(9);//系統(tǒng)時鐘設(shè)置 delay_init(72); //延時初始化 uart_init(72,9600); //串口初始化為9600 LED_Init(); //初始化與LED連接的硬件接口 while(1) { if(USART_RX_STA&0x8000) { len=USART_RX_STA&0x3fff;//得到此次接收到的數(shù)據(jù)長度 printf("\r\n您發(fā)送的消息為:\r\n"); for(t=0;t<len;t++) { USART1->DR=USART_RX_BUF[t]; while((USART1->SR&0X40)==0);//等待發(fā)送結(jié)束 } printf("\r\n\r\n");//插入換行 USART_RX_STA=0; }else { times++; if(times%5000==0) { printf("\r\nALIENTEKMiniSTM32開發(fā)板串口實驗\r\n"); printf("正點原子@ALIENTEK\r\n\r\n\r\n"); } if(times%200==0)printf("請輸入數(shù)據(jù),以回車鍵結(jié)束\r\n"); if(times%30==0)LED0=!LED0;//閃爍LED,提示系統(tǒng)正在運行. delay_ms(10); } } }實驗結(jié)果把代碼下載到開發(fā)板,可以看到板子上的LED0開始閃爍,說明程序已經(jīng)在跑了。接著我們打開串口調(diào)試助手,看到如下信息:證明串口數(shù)據(jù)發(fā)送沒問題。接著,我們在發(fā)送區(qū)輸入上面的文字,輸入完后按回車鍵。然后單擊發(fā)送,可以得到如下結(jié)果:

實驗四外部中斷實驗實驗?zāi)康倪M一步掌握串口編程,進一步學習外部中斷編程,提高編程能力。實現(xiàn)目的1.編寫中斷服務(wù)程序代碼2.使用ISP下載到實驗板3.測試運行結(jié)果4.記錄實驗過程撰寫實驗報告代碼#include"sys.h"#include"usart.h" #include"delay.h" #include"led.h"#include"exti.h"intmain(void){ Stm32_Clock_Init(9);//系統(tǒng)時鐘設(shè)置 delay_init(72); //延時初始化 uart_init(72,9600);//串口初始化 LED_Init(); //初始化與LED連接的硬件接口 EXTI_Init(); //外部中斷初始化 LED0=0; //點亮LED while(1) { printf("OK\r\n"); delay_ms(1000); }}實驗結(jié)果打開串口助手。

實驗五獨立看門狗實驗實驗?zāi)康耐ㄟ^編程,編寫一個獨立看門狗驅(qū)動程序?qū)崿F(xiàn)代碼1.參考教材獨立看門狗部分,編寫?yīng)毩⒖撮T狗驅(qū)動程序。建立和配置工程2.編寫代碼3.使用ISP下載到實驗板4.記錄實驗過程撰寫實驗報告代碼#include"sys.h"#include"usart.h" #include"delay.h" #include"led.h"#include"key.h"#include"wdg.h"intmain(void){ Stm32_Clock_Init(9);//系統(tǒng)時鐘設(shè)置 delay_init(72); //延時初始化 uart_init(72,9600);//串口初始化 LED_Init(); //初始化與LED連接的硬件接口 KEY_Init();//按鍵初始化 delay_ms(300); //讓人看得到滅 IWDG_Init(4,625);//與分頻數(shù)為64,重載值為625,溢出時間為1s LED0=0; //點亮LED0 while(1) { if(KEY_Scan(0)==WKUP_PRES)IWDG_Feed();//如果WK_UP按下,則喂狗 delay_ms(10); };}實驗結(jié)果在配置看門狗后,看到LED0不停的閃爍,如果WK_UP按鍵按下,就喂狗。只要WK_UP不停的按,看門狗就一直不會產(chǎn)生復(fù)位,保持LED0的常亮。一旦超過看門狗定溢出時間還沒按,那么將會導(dǎo)致程序重啟,這將導(dǎo)致LED0熄滅一次。

實驗六窗口看門狗實驗實驗?zāi)康呐c獨立看門狗實驗比較學習,了解窗口看門狗電路的作用。實現(xiàn)方法1.參考教材窗口看門狗部分,編寫窗口看門狗驅(qū)動程序。建立和配置工程2.編寫代碼3.使用ISP下載到實驗板4.記錄實驗過程撰寫實驗報告代碼#include"sys.h"#include"usart.h" #include"delay.h" #include"led.h"#include"wdg.h"intmain(void){ Stm32_Clock_Init(9);//系統(tǒng)時鐘設(shè)置 delay_init(72); //延時初始化 uart_init(72,9600);//串口初始化 LED_Init(); /

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論