单片机STM32实验报告 下载本文

内容发布更新时间 : 2024/5/18 15:13:29星期一 下面是文章的全部内容请认真阅读。

实验报告

课程名称:单片微机原理与车载系统

学班学指

生姓名 级 号

蒋昭立 电科1601 16401700119 易吉良

教师

2018年12月17日

1

实验1 GPIO实验

1.1 实验目的

1)熟悉MDK开发环境;

2)掌握STM32单片机的GPIO使用方法。

1.2 实验设备

1)一台装有Keil和串口调试软件的计算机; 2)一套STM32F103开发板; 3)STlink硬件仿真器。

1.3基本实验内容

1)熟悉MDK开发环境,参考《STM32F1开发指南(精英版)-寄存器版本_V1.0》第3章,安装MDK并新建test工程,运行例程,在串口窗宽观察结果,并记录如下:

从图片可以看出,例程运行成功,没有错误。

2)按键输入实验,《STM32F1开发指南(精英版)-寄存器版本_V1.0》第8章。实现功能: 3 个按钮(KEY_UP、KEY0和 KEY1),来控制板上的 2 个 LED(DS0 和 DS1)和蜂鸣器,其中 KEY_UP 控制蜂鸣器,按一次叫,再按一次停;KEY1 控制 DS1,按一次亮,再按一次灭;KEY0 则同时控制 DS0 和 DS1,按一次,他们的状态就翻转一次。

理解连续按概念及其实现代码。参数 mode 为 0 的时候,KEY_Scan 函数将不支持连续按,扫描某个按键,该按键按下之后必须要松开,才能第二次触发,否则不会再响应这个按键,这样的好处就是可以防止按一次多次触发,而坏处就是在需要长按的时候比较不合适。当 mode 为 1 的时候,KEY_Scan 函数将支持连续按,如果某个按键一直按下,则会一直返回这个按键的键值,这样可以方便的实现长按检测。

寄存器方法实现不支持连续按的关键代码,以及程序运行后的效果。

2

由程序可知,给KEY_Scan函数输入的值为0,为不支持连按模式。

寄存器方法实现支持连续按的关键代码,以及程序运行后的效果。

由程序可知,给KEY_Scan函数输入的值为1,为支持连按模式。

3