目录
实验一跑马灯实验 (1)
实验二按键输入实验 (3)
实验三串口实验 (5)
实验四外部中断实验 (8)
实验五独立看门狗实验 (11)
实验七定时器中断实验 (13)
实验十三 ADC实验 (15)
实验十五 DMA实验 (17)
实验十六 I2C实验 (21)
实验十七 SPI实验 (24)
实验二十一红外遥控实验 (27)
实验二十二 DS18B20实验 (30)
实验一跑马灯实验
一.实验简介
我的第一个实验,跑马灯实验。
二.实验目的
掌握STM32开发环境,掌握从无到有的构建工程。
三.实验内容
熟悉MDK KEIL开发环境,构建基于固件库的工程,编写代码实现跑马灯工程。通过ISP 下载代码到实验板,查看运行结果。使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。
四.实验设备
硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。
软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。
五.实验步骤
1.熟悉MDK KEIL开发环境
在线代码运行器2.熟悉串口编程软件ISP
3.查看固件库结构和文件
4.建立工程目录,复制库文件
5.建立和配置工程
6.编写代码
7.编译代码
8.使用ISP下载到实验板
9.测试运行结果
10.使用JLINK下载到实验板
11.单步调试
12.记录实验过程,撰写实验报告
六.实验结果及测试
源代码:
两个灯LED0与LED1实现交替闪烁的类跑马灯效果,每300ms闪烁一次。
七.实验总结
通过本次次实验我了解了STM32开发板的基本使用,初次接触这个开发板和MDK KEILC 软件,对软件操作不太了解,通过这次实验了解并熟练地使用MDK KEIL软件,用这个软件来编程和完成一些功能的实现。作为STM32 的入门第一个例子,详细介绍了STM32 的IO口操作,同时巩固了前面的学习,并进一步介绍了MDK的软件仿真功能。
实验二按键输入实验
一.实验简介
在实验一的基础上,使用按键控制流水灯速度,及使用按键控制流水灯流水方向。
二.实验目的
熟练使用库函数操作GPIO,掌握中断配置和中断服务程序编写方法,掌握通过全局变量在中断服务程序和主程序间通信的方法。
三.实验内容
实现初始化GPIO,并配置中断,在中断服务程序中通过修改全局变量,达到控制流水灯速度及方向。
使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。
四.实验设备
硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK、示波器。
软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。
五.实验步骤
1在实验1代码的基础上,编写中断初始化代码
2在主程序中声明全局变量,用于和中断服务程序通信,编写完成主程序
3编写中断服务程序
4编译代码,使用JLINK下载到实验板
5.单步调试
6记录实验过程,撰写实验报告
六.实验结果及测试
源代码:
我们将通过MiniSTM32 板上载有的3个按钮,来控制板上的2个LED,其中KEY0控制LED0,按一次亮,再按一次,就灭。KEY1 控制LED1,效果同KEY0。KEY_2(KEY_UP),同时控制LED0 和LED1,按一次,他们的状态就翻转一次。
七.实验总结
通过本次实验,我学会了如何使用STM32 的IO 口作为输入用。TM32 的IO 口做输入使用的时候,是通过读取IDR 的内容来读取IO 口的状态的。这里需要注意的是KEY0 和KEY1 是低电平有效的,而WK_UP 是高电平有效的,而且要确认WK_UP 按钮与DS18B20 的连接是否已经断开,要先断开,否则DS18B20 会干扰WK_UP按键!并且KEY0 和KEY1 连接在与JTAG 相关的IO 口上,所以在软件编写的时候要先禁用JTAG 功能,才能把这两个IO 口当成普通IO 口使用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。