实验报告
课程名称:单片微机原理与车载系统
学班学指
生姓名 级 号
蒋昭立 电科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