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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、嵌入式系統原理與設計報告班級: 姓名: 學號: 任課教師: 開始時間: 結束時間: 目錄實驗一 跑馬燈21.實驗目的22實現方法23.代碼24.實驗結果3實驗二 按鍵實驗41.實驗目的42.實現方法43.代碼4實驗結果5實驗三 串口實驗61.實驗目的62.實現方法63.代碼6實驗結果7實驗四 外部中斷實驗91.實驗目的92.實現目的93.代碼94.實驗結果10實驗五 獨立看門狗實驗111.實驗目的112.實現代碼113.代碼114.實驗結果12實驗六 窗口看門狗實驗131.實驗目的132.實現方法133.代碼134 實驗結果14實驗七 定時器中斷實驗151.實驗目的152.實現方法153.代碼

2、154.實驗結果15實驗一 跑馬燈1. 實驗目的1熟悉集成環境軟件或熟悉Keil集成環境軟件的使用方法。2. 熟悉匯編指令,能自己編寫簡單的程序控制硬件。2實現方法1編寫完成主程序。2編譯代碼。3單步調試。4記錄實驗過程與實驗結果。3. 代碼#include "sys.h"#include "usart.h"#include "delay.h"#include "led.h" int main(void) Stm32_Clock_Init(9); /系統時鐘設置delay_init(72); /延時初始化LED_I

3、nit(); /初始化與LED連接的硬件接口 while(1)LED0=0;LED1=1;delay_ms(300);LED0=1;LED1=0;delay_ms(300); 4. 實驗結果兩個燈LED0與LED1實現交替閃爍的類跑馬燈效果,每300ms閃爍一次。通過本次次實驗我了解了STM32開發板的基本使用,初次接觸這個開發板和MDK KEILC軟件,對軟件操作不太了解。通過這次實驗了解并熟練地使用MDK KEIL軟件,用這個軟件來編程和完成一些簡單功能的實現。實驗二 按鍵實驗1. 實驗目的在實驗一的基礎上,使用按鍵控制跑馬燈速度,及使用按鍵控制跑馬燈的方向。2. 實現方法1.在實驗1代碼

4、的基礎上,編寫中斷初始化代碼 2.在主程序中聲明全局變量,用于和中斷服務程序通信,編寫完成主程序 3.編寫中斷服務程序 4.編譯代碼,使用JLINK下載到實驗板5.單步調試 6.記錄實驗過程,撰寫實驗報告3. 代碼#include "sys.h"#include "usart.h"#include "delay.h"#include "led.h" #include "key.h" int main(void) u8 t; Stm32_Clock_Init(9); /系統時鐘設置delay_in

5、it(72); /延時初始化 LED_Init(); /初始化與LED連接的硬件接口KEY_Init(); /初始化與按鍵連接的硬件接口LED0=0;/點亮LEDwhile(1)t=KEY_Scan(0);/得到鍵值switch(t) case KEY0_PRES:LED0=!LED0;break;case KEY1_PRES:LED1=!LED1;break;case WKUP_PRES:LED0=!LED0;LED1=!LED1;break;default:delay_ms(10); 實驗結果我們將通過學校發的開發板板上載有的3個按鈕來控制板上的2個LED,其中KEY0控制LED0,按一次

6、亮,再按一次就滅。KEY1 控制LED1,效果同KEY0。KEY_2、KEY_UP同時控制LED0 和LED1,按一次,他們的狀態就翻轉一次。實驗三 串口實驗1. 實驗目的掌握串口使用,設置方法及收發數據方法。2. 實現方法1.編寫串口初始化代碼 。2.編寫中斷服務程序代碼。3.編譯代碼,使用JLINK或ISP下載到實驗板。 4.記錄實驗過程,撰寫實驗報告。3. 代碼#include "sys.h"#include "usart.h"#include "delay.h"#include "led.h" #inclu

7、de "key.h" int main(void)u8 t;u8 len;u16 times=0; Stm32_Clock_Init(9); /系統時鐘設置delay_init(72); /延時初始化 uart_init(72,9600); /串口初始化為9600LED_Init(); /初始化與LED連接的硬件接口 while(1)if(USART_RX_STA&0x8000) len=USART_RX_STA&0x3fff;/得到此次接收到的數據長度printf("rn您發送的消息為:rn");for(t=0;t<len;t+)

8、USART1->DR=USART_RX_BUFt;while(USART1->SR&0X40)=0);/等待發送結束printf("rnrn");/插入換行USART_RX_STA=0;elsetimes+;if(times%5000=0)printf("rnALIENTEK MiniSTM32開發板 串口實驗rn");printf("正點原子ALIENTEKrnrnrn");if(times%200=0)printf("請輸入數據,以回車鍵結束rn"); if(times%30=0)LED0=

9、!LED0;/閃爍LED,提示系統正在運行.delay_ms(10); 實驗結果把代碼下載到開發板,可以看到板子上的LED0 開始閃爍,說明程序已經在跑了。接著我們打開串口調試助手,看到如下信息:證明串口數據發送沒問題。接著,我們在發送區輸入上面的文字,輸入完后按回車鍵。然后單擊發送,可以得到如下結果:實驗四 外部中斷實驗1. 實驗目的進一步掌握串口編程,進一步學習外部中斷編程,提高編程能力。2. 實現目的1. 編寫中斷服務程序代碼 2. 使用ISP下載到實驗板 3. 測試運行結果 4. 記錄實驗過程撰寫實驗報告3. 代碼#include "sys.h"#include &

10、quot;usart.h"#include "delay.h"#include "led.h" #include "exti.h" int main(void)Stm32_Clock_Init(9);/系統時鐘設置delay_init(72); /延時初始化uart_init(72,9600); /串口初始化 LED_Init(); /初始化與LED連接的硬件接口EXTI_Init();/外部中斷初始化LED0=0;/點亮LEDwhile(1) printf("OKrn");delay_ms(1000);

11、 4. 實驗結果打開串口助手。實驗五 獨立看門狗實驗1. 實驗目的通過編程,編寫一個獨立看門狗驅動程序2. 實現代碼1. 參考教材獨立看門狗部分,編寫獨立看門狗驅動程序。建立和配置工程 2. 編寫代碼3. 使用ISP下載到實驗板 4. 記錄實驗過程撰寫實驗報告3. 代碼#include "sys.h"#include "usart.h"#include "delay.h"#include "led.h" #include "key.h" #include "wdg.h" in

12、t main(void) Stm32_Clock_Init(9); /系統時鐘設置delay_init(72); /延時初始化uart_init(72,9600); /串口初始化 LED_Init(); /初始化與LED連接的硬件接口KEY_Init(); /按鍵初始化 delay_ms(300); /讓人看得到滅IWDG_Init(4,625); /與分頻數為64,重載值為625,溢出時間為1s LED0=0; /點亮LED0while(1)if(KEY_Scan(0)=WKUP_PRES)IWDG_Feed();/如果WK_UP按下,則喂狗delay_ms(10);4. 實驗結果在配置看門

13、狗后,看到LED0 不停的閃爍,如果WK_UP 按鍵按下,就喂狗。只要WK_UP 不停的按,看門狗就一直不會產生復位,保持LED0 的常亮。一旦超過看門狗定溢出時間還沒按,那么將會導致程序重啟,這將導致LED0 熄滅一次。實驗六 窗口看門狗實驗1. 實驗目的與獨立看門狗實驗比較學習,了解窗口看門狗電路的作用。2. 實現方法1. 參考教材窗口看門狗部分,編寫窗口看門狗驅動程序。建立和配置工程 2. 編寫代碼3. 使用ISP下載到實驗板 4. 記錄實驗過程撰寫實驗報告3. 代碼#include "sys.h"#include "usart.h"#includ

14、e "delay.h"#include "led.h" #include "wdg.h" int main(void) Stm32_Clock_Init(9); /系統時鐘設置delay_init(72); /延時初始化uart_init(72,9600); /串口初始化 LED_Init(); /初始化與LED連接的硬件接口LED0=0;delay_ms(300); WWDG_Init(0X7F,0X5F,3);/計數器值為7f,窗口寄存器為5f,分頻數為8 while(1)LED0=1; 4 實驗結果將代碼下載到開發板后,可以看到

15、DS0亮了一下,之后熄滅,緊接著DS1燈開始不停地閃爍,每秒鐘閃爍5次左右。實驗七 定時器中斷實驗1. 實驗目的熟練掌握定時器中斷,學會對定時器中斷的編程操作。2. 實現方法1. 參考教材定時器中斷部分,編寫定時器中斷的驅動程序。2. 編寫主程序 3. 編譯代碼,使用JLINK或ISP下載到實驗板 4. 記錄實驗過程,撰寫實驗報告。3. 代碼#include "sys.h"#include "usart.h"#include "delay.h"#include "led.h" #include "timer.h" int main(void) Stm32

溫馨提示

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

評論

0/150

提交評論