基于STM32的嵌入式软件开发基础-实验指导书(经典)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一基于STM32的嵌入式软件开发基础实验
一、实验目的
1 、掌握嵌入式软件开发流程
2 、学会使用嵌入式软件开发工具
3 、学会使用无限循环架构开发简单的嵌入式应用程序
4 、学会使用单步∕全速运行、设置断点和观察变量∕寄存器等方法调试嵌入式应用程序
5 、掌握通用数字输入输出(GPIO)和系统定时器(SysTick)的软件开发方法
6 、理解发光二极管(LED)和按键(Push Button)的驱动原理
7 、掌握常用的延时(Delay)实现技巧
二、实验环境
1 、硬件:
ALIENTEK STM32F103嵌入式开发板
2 、软件:
REALVIEW MDK或IAR EWARM
三、实验内容
1 、LED点亮实验:
使用GPIO的相关知识,设计基于无限循环架构的嵌入式应用程序,点亮开发板上绿色LED和红色LED;
2 、流水灯实验一:
使用GPIO和延时循环,设计基于无限循环架构的嵌入式应用程序,使开发板上的绿色LED和红色LED先后轮流闪烁;
3 、按键控制LED实验:
使用GPIO的相关知识,设计基于无限循环架构的嵌入式应用程序,实现以下功能:
1 )当按下WK_UP按键时,开发板上的绿色LED点亮;当释放WK_UP按键时,开发板上的绿色LED熄灭;
2 )当按下KEY1按键时,开发板上的红色LED点亮;当释放KEY1按键时,开发板上的红色LED熄灭;
3 )当同时按下WK_UP和KEY1按键时,开发板上的红色LED和黄色LED同时点亮;当同时释放WK_UP和KEY1按键时,开发板上的红色LED和黄色LED同时熄灭;
4 、流水灯实验二:
使用GPIO和SysTick的相关知识,设计基于无限循环架构的嵌入式应用程序,使开发板上的绿色LED和红色LED先后轮流闪烁,每个LED点亮和熄灭的时间各为1s,并在程序中定义一个8位无符号变量来记录红色LED闪烁的次数;
调试程序,在REALVIEW MDK或IAR EWARM的调试界面中,通过在程序中设置断点,并打开变量观察窗口,加入对应的变量,全速运行,随着红色LED的闪烁,跟踪用来记录红色LED闪烁次数的8位无符号变量的变化情况;
四、硬件设计
1 、发光二极管(LED )与嵌入式微控制器(STM32F103)的接口电路
2 、按键与嵌入式微控制器(STM32F103)的接口电路
五、软件设计
1 、LED 点亮实验程序:
程序(略)
2 、流水灯实验一程序:
程序(略)
3 、按键控制LED 实验程序:
程序(略)
4 、流水灯实验二程序:
程序(略)
六、实验结果
1 、LED 点亮实验结果:
用文字或图片描述该程序运行的结果
2 、流水灯实验一结果:
用文字或图片描述该程序运行的结果
3 、按键控制LED 实验结果:
用文字或图片描述该程序运行的结果
4 、流水灯实验二结果:
用文字或图片描述该程序运行的结果(调试界面中断点设置和变量观察窗口的截图) PA8 PD2
PA15 PA13
实验二基于STM32的嵌入式软件开发高级实验
一、实验目的
1 、了解中断控制器(NVIC)的内部结构和工作原理
2 、深入理解中断机制,学会编写中断服务函数
3 、学会使用中断服务函数开发基于前后台架构的较复杂的嵌入式应用程序
4 、掌握串行通信的原理,掌握通用同步串行收发器(USART)的软件开发方法
5 、熟悉模数转换的过程和性能指标,掌握模数转换器(ADC)的软件开发方法
二、实验环境
1 、硬件:
ALIENTEK STM32F103嵌入式开发板
2 、软件:
REALVIEW MDK或IAR EWARM
三、实验内容
1 、LED闪烁实验:
使用NVIC(含SYSTICK)和GPIO的相关知识,编写中断服务函数,并开发基于前后台架构的嵌入式应用程序,使开发板上绿色LED每1s闪烁一次;
2 、串口输出实验:
使用USART的相关知识,设计基于无限循环架构的嵌入式应用程序,通过USART1向PC 的串口发送“Hello World!”,其中USART1和串口的波特率设置为115200bps,数据格式设置为8位数据位、无奇偶校验位、1位停止位和无数据流控制;
在PC上运行串口调试助手,找到对应的COM口并作设置波特率和数据格式后打开,再运行开发板上的程序,观察串口调试助手中接收区的数据,验证程序的运行结果;
3 、MCU温度检测实验:
使用NVIC(含SYSTICK)、USART和ADC的相关知识编写程序,编写中断服务函数,并开发基于前后台架构的嵌入式应用程序,每隔1s通过片内温度传感器和模数转换器(ADC)检测MCU的温度并通过USART1将其输出到PC的串口上;
在PC上运行串口调试助手,找到对应的COM口并作相应设置后打开,再运行开发板上的程序,观察PC上串口调试助手中接收区的数据变化情况,验证程序的运行结果;
四、硬件设计
1 、发光二极管(LED)与嵌入式微控制器(STM32F103)的接口电路
PA8
PD2
2 、按键与嵌入式微控制器(STM32F103)的接口电路
3 、嵌入式微控制器(STM32F103)的温度传感器和ADC 的模块图
五、软件设计
1 、LED 闪烁实验:
程序(包括主函数源文件和中断服务函数源文件)
2 、串口输出实验:
程序(略)
3 、MCU 温度检测实验:
程序(包括主函数源文件和中断服务函数源文件)
六、实验结果 1 、LED 闪烁实验:
用文字或图片描述该程序运行的结果
2 、串口输出实验:
用文字或图片描述该程序运行的结果(程序运行中PC 上串口调试助手的截图) 3 、MCU 温度检测实验:
用文字或图片描述该程序运行的结果(程序运行中PC 上串口调试助手的截图)
PA15