单片机STM32实验报告

(16页)

'单片机STM32实验报告'
实验报告课程名称:单片微机原理与车载系统学生姓名蒋昭立班级电科1601学号16401700119指导教师易吉良成绩2018年 12 月 17 日实验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 函数将支持连续按,如果某个按键一直按下,则会一直返回这个按键的键值,这样可以方便的实现长按检测。寄存器方法实现不支持连续按的关键代码,以及程序运行后的效果。由程序可知,给KEY_Scan函数输入的值为0,为不支持连按模式。寄存器方法实现支持连续按的关键代码,以及程序运行后的效果。由程序可知,给KEY_Scan函数输入的值为1,为支持连按模式。3) 采用库函数方法实现按键输入实验,参考《STM32F1开发指南(精英版)-库函数版本_V1.0》第8章。库函数实现不支持连续按的关键代码,以及程序运行后的效果。由程序可知,给KEY_Scan函数输入的值为0,为不支持连按模式。库函数实现支持连续按的关键代码,以及程序运行后的效果。由程序可知,给KEY_Scan函数输入的值为1,为支持连按模式。1.4 创新实验内容在1.3实验步骤的基础上,通过修改代码,实现如下功能:1) 按下任意一个按键,蜂鸣器响x下后停止,然后DS0闪烁y次,DS1闪烁z次(x、y、z分别为你学号的末3位的数);由我学号最后三位为119,所以蜂鸣器响1下后停止,然后DS0闪烁1次,DS1闪烁9次。实验2 定时器实验2.1 实验目的1)理解定时器工作原理;2)掌握STM32定时器的使用方法。2.2 实验设备1)一台装有Keil和串口调试软件的计算机;2)一套STM32F103开发板;3)STlink硬件仿真器。2.3 基本实验内容1)定时器中断实验,参考《STM32F1开发指南(精英版)-库函数版本_V1.0》第13章,利用TIM3的定时器中断来控制DS1的翻转,在主函数用DS0的翻转来提示程序正在运行。通过本例程,理解定时器中断原理,记录关键代码,写出定时器中断过程:一开始程序会一直执行死循环里面的代码,让LED0不断的亮然后熄灭来提示程序正在运行。当计数器计数500ms之后,程序将跳出循环,去执行定时器里面的程序,实现DS1的反转2) PWM输出实验,参考《STM32F1开发指南(精英版)-库函数版本_V1.0》第14章,使用TIM3的通道2,把通道2重映射到PB5,产生PWM来控制DS0的亮度。通过本例程,理解定时器PWM输出功能的使用方法,记录关键代码,写出STM32定时器PWM输出实现过程: 本实验通过重映射复用功能,将TIM3的通道2,把通道2重映射到PB5引脚,通过PWM的高低电平来控制DS0的亮度,电平为高电平时为亮,低电平时为熄灭,由主函数的程序可以看出,随着led0pwmval的数越大,PWM输出的占空比就越大,此时灯就越亮。3)定时器输入捕获实验,参考《STM32F1开发指南(精英版)-库函数版本_V1.0》第15章,利用TIM5的通道1(PA0)做输入捕获,捕获PA0上高电平的脉宽(用WK_UP按键输入高电平),通过串口打印高电平脉宽时间。通过本例程,掌握定时器输入捕获实现过程,记录关键代码,并写出捕获输入实现原理:2.4 创新实验内容在1.3实验步骤的基础上,通过修改代码,实现如下功能:1) 通过定时器相关功能实现控制蜂鸣器音调。查找资料理解蜂鸣器发出不同音调的控制原理,按下某个按键,实现“多来米发梭拉西”的发声;实验3 ADC及显示实验3.1 实验目的1)理解ADC工作原理;2)掌握STM32ADC的使用方法。3.2 实验设备1)一台装有Keil和串口调试软件的计算机;2)一套STM32F103开发板;3)STlink硬件仿真器。3.3 基本实验内容1)ADC实验,参考《STM32F1开发指南(精英版)-库函数版本_V1.0》第22章,将利用STM32的ADC1通道1采样外部电压值(注意:输入电压不能超过3.3V!),并在TFTLCD模块上显示出来。ADC输入端口查找请参考《STM32F1开发指南(精英版)-库函数版本_V1.0》第2章实验平台硬件资源详解。通过本例程,理解ADC原理,记录关键代码,写出ADC采样实现过程:通过Get_Adc_Average函数可以获得由通道1采样得到的采样值,然后经过转换计算输出我们需要的数字量电压值。2)内部温度传感器实验,参考《STM32F1开发指南(精英版)-库函数版本_V1.0》第23章,利用STM32F1的内部温度传感器读取温度值,并在TFTLCD模块上显示出来。通过本例程,理解STM32内部温度传感器的使用方法,记录关键代码,写出读取内部温度传感器温度值的实现过程:3.4 创新实验内容在1.3实验步骤的基础上,通过修改代码,实现如下功能:1)用信号发生器输出正弦波、三角波信号(注意峰值小于3.3V!),接入某ADC通道,在TFTLCD上动态显示输入数据(也可以用图形方式显示);在实现1)中功能的基础上,用TFTLCD显示温度,并显示自己的班级、学号、姓名等信息。实验总结通过这三次实验,我遇到了很多问题,比如,如何开始去新建一个工程,如何运行一个程序,如何下载到开发板中。也学到了如何去解决这些问题,遇见软件问题也多不胜数,比如:调试文件系统程序时,程序编译没有错,仿真时程
关 键 词:
单片机 STM32 实验 报告
 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:单片机STM32实验报告
链接地址: https://www.wenku365.com/p-44814591.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给天天文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 https://www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开