嵌入式系统实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

课程名称:嵌入式系统

学院:信息工程

专业:电子信息工程

班级:

学生姓名:

学号:

指导教师:

开课时间:学年第一学期

实验名称:IO接口(跑马灯)

实验时间:11.16 实验成绩:

一、实验目的

1.掌握 STM32F4 基本IO口的使用。

2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。

3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。

二、实验原理

本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。

三、实验资源

实验器材:

探索者STM32F4开发板

硬件资源:

1.DS0(连接在PF9)

2.DS1(连接在PF10)

四、实验内容及步骤

1.硬件设计

2.软件设计

(1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。

(2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。

(4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。

3.下载验证

使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示:

图1.2

运行结果如图1.3所示:

图1.3

五、实验源程序

相关代码如下所示:

(1) led.c文件

#include "led.h"

void LED_Init(void)

{

RCC->AHB1ENR|=1<<5;//

GPIO_Set(GPIOF,PIN9|PIN10,GPIO_MODE_OUT,GPIO_OTYPE_PP, GPIO_SPEED_100M,GPIO_PUPD_PU); //PF9,PF10 设置

LED0=1;//LED0 关闭

LED1=1;//LED1 关闭

}

(2)led.h文件

#ifndef __LED_H

#define __LED_H

#include "sys.h"

//LED 端口定义

#define LED0 PFout(9) // DS0

#define LED1 PFout(10) // DS1

void LED_Init(void); //初始化

#endif

(3)main函数

#include "sys.h"

#include "delay.h"

#include "led.h"

int main(void)

{

Stm32_Clock_Init(336,8,2,7);//设置时钟,168Mhz

delay_init(168); //初始化延时函数

LED_Init(); //初始化 LED 时钟

while(1)

{

LED0=0; //DS0 亮

LED1=1; //DS1 灭

delay_ms(500);

LED0=1; //DS0 灭

LED1=0; //DS1 亮

delay_ms(500);

}

}

六、实验总结

本次实验过程中,由于第一次实验,对实验器件,还有实验过程都不大了解,使得做实验过程中遇到很大的问题。也花费了不少时间,不过在慢慢的摸索中,以及老师的指导和同学的帮助下,最终也了解了探索者STM32F4开发板的外部结构,以及各个引脚的作用,还有各个串口和并口的具体使用,还观察了跑马灯的运行状态,以及它的运行程序。

七、预习思考题

八、注意事项

(1)新建文件夹时,区分不同的文件夹之间的关系。

(2)编写代码时,注意格式和符号,在英文环境下输入。

图2.1触摸屏与 STM32F4 连接原理图

2.软件设计

(1)打开上一章的工程,由于本次实验不要用到USMART和CAN相关代码,所以,先去掉USMART相关代码和can.c(此时HARDWARE组剩下:led.c、ILI93xx.c和key.c)。不过,本次实验要用到24C02,所以要添加myiic.c和24cxx.c到HARDWARE组下。(2)然后,在HARDWARE文件夹下新建一个TOUCH文件夹。然后新建一个touch.c、touch.h、ctiic.c等十个文件,并保存在TOUCH文件夹下,并将这个文件夹加入头文件包含路径。其中,touch.c和touch.h是电阻触摸屏部分的代码,顺带兼电容触

摸屏的管理控制,其他则是电容触摸屏部分的代码。

3.下载验证

使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 2.2所示:

图2.2

运行结果如图2.3所示:

相关文档
最新文档