嵌入式实验报告_第1页
嵌入式实验报告_第2页
嵌入式实验报告_第3页
嵌入式实验报告_第4页
嵌入式实验报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《嵌入式系统原理与设计》报告班级:姓名:学号:任课教师:开始时间:结束时间:

目录实验一跑马灯 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. 代码 154. 实验结果 15

实验一跑马灯实验目的1熟悉集成环境软件或熟悉Keil集成环境软件的使用方法。熟悉汇编指令,能自己编写简单的程序控制硬件。2实现方法1编写完成主程序。2编译代码。3单步调试。4记录实验过程与实验结果。代码#include"sys.h"#include"usart.h" #include"delay.h" #include"led.h"intmain(void){ Stm32_Clock_Init(9); //系统时钟设置 delay_init(72); //延时初始化 LED_Init(); //初始化与LED连接的硬件接口 while(1) { LED0=0; LED1=1; delay_ms(300); LED0=1; LED1=0; delay_ms(300); } }实验结果两个灯LED0与LED1实现交替闪烁的类跑马灯效果,每300ms闪烁一次。通过本次次实验我了解了STM32开发板的基本使用,初次接触这个开发板和MDKKEILC软件,对软件操作不太了解。通过这次实验了解并熟练地使用MDKKEIL软件,用这个软件来编程和完成一些简单功能的实现。

实验二按键实验实验目的在实验一的基础上,使用按键控制跑马灯速度,及使用按键控制跑马灯的方向。实现方法1.在实验1代码的基础上,编写中断初始化代码2.在主程序中声明全局变量,用于和中断服务程序通信,编写完成主程序3.编写中断服务程序4.编译代码,使用JLINK下载到实验板5.单步调试6.记录实验过程,撰写实验报告代码#include"sys.h"#include"usart.h" #include"delay.h" #include"led.h"#include"key.h"intmain(void){ u8t; Stm32_Clock_Init(9); //系统时钟设置 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); } } }实验结果我们将通过学校发的开发板板上载有的3个按钮来控制板上的2个LED,其中KEY0控制LED0,按一次亮,再按一次就灭。KEY1控制LED1,效果同KEY0。KEY_2、KEY_UP同时控制LED0和LED1,按一次,他们的状态就翻转一次。

实验三串口实验实验目的掌握串口使用,设置方法及收发数据方法。实现方法1.编写串口初始化代码。2.编写中断服务程序代码。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);//系统时钟设置 delay_init(72); //延时初始化 uart_init(72,9600); //串口初始化为9600 LED_Init(); //初始化与LED连接的硬件接口 while(1) { if(USART_RX_STA&0x8000) { len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度 printf("\r\n您发送的消息为:\r\n"); for(t=0;t<len;t++) { USART1->DR=USART_RX_BUF[t]; while((USART1->SR&0X40)==0);//等待发送结束 } printf("\r\n\r\n");//插入换行 USART_RX_STA=0; }else { times++; if(times%5000==0) { printf("\r\nALIENTEKMiniSTM32开发板串口实验\r\n"); printf("正点原子@ALIENTEK\r\n\r\n\r\n"); } if(times%200==0)printf("请输入数据,以回车键结束\r\n"); if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行. delay_ms(10); } } }实验结果把代码下载到开发板,可以看到板子上的LED0开始闪烁,说明程序已经在跑了。接着我们打开串口调试助手,看到如下信息:证明串口数据发送没问题。接着,我们在发送区输入上面的文字,输入完后按回车键。然后单击发送,可以得到如下结果:

实验四外部中断实验实验目的进一步掌握串口编程,进一步学习外部中断编程,提高编程能力。实现目的1.编写中断服务程序代码2.使用ISP下载到实验板3.测试运行结果4.记录实验过程撰写实验报告代码#include"sys.h"#include"usart.h" #include"delay.h" #include"led.h"#include"exti.h"intmain(void){ Stm32_Clock_Init(9);//系统时钟设置 delay_init(72); //延时初始化 uart_init(72,9600);//串口初始化 LED_Init(); //初始化与LED连接的硬件接口 EXTI_Init(); //外部中断初始化 LED0=0; //点亮LED while(1) { printf("OK\r\n"); delay_ms(1000); }}实验结果打开串口助手。

实验五独立看门狗实验实验目的通过编程,编写一个独立看门狗驱动程序实现代码1.参考教材独立看门狗部分,编写独立看门狗驱动程序。建立和配置工程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);//系统时钟设置 delay_init(72); //延时初始化 uart_init(72,9600);//串口初始化 LED_Init(); //初始化与LED连接的硬件接口 KEY_Init();//按键初始化 delay_ms(300); //让人看得到灭 IWDG_Init(4,625);//与分频数为64,重载值为625,溢出时间为1s LED0=0; //点亮LED0 while(1) { if(KEY_Scan(0)==WKUP_PRES)IWDG_Feed();//如果WK_UP按下,则喂狗 delay_ms(10); };}实验结果在配置看门狗后,看到LED0不停的闪烁,如果WK_UP按键按下,就喂狗。只要WK_UP不停的按,看门狗就一直不会产生复位,保持LED0的常亮。一旦超过看门狗定溢出时间还没按,那么将会导致程序重启,这将导致LED0熄灭一次。

实验六窗口看门狗实验实验目的与独立看门狗实验比较学习,了解窗口看门狗电路的作用。实现方法1.参考教材窗口看门狗部分,编写窗口看门狗驱动程序。建立和配置工程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);//系统时钟设置 delay_init(72); //延时初始化 uart_init(72,9600);//串口初始化 LED_Init(); /

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论