单片机STM32实验报告_第1页
单片机STM32实验报告_第2页
单片机STM32实验报告_第3页
单片机STM32实验报告_第4页
单片机STM32实验报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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 函数将不支持连续按,扫描某个按键,该按键按下之后必须要松开,才能第二次触发,否则不会再响应这个按键,这样的好处就是可以防止按一次多次触发,而坏处就是在需

3、要长按的时候比较不合适。当 mode 为 1 的时候,key_scan 函数将支持连续按,如果某个按键一直按下,则会一直返回这个按键的键值,这样可以方便的实现长按检测。寄存器方法实现不支持连续按的关键代码,以及程序运行后的效果。由程序可知,给key_scan函数输入的值为0,为不支持连按模式。寄存器方法实现支持连续按的关键代码,以及程序运行后的效果。由程序可知,给key_scan函数输入的值为1,为支持连按模式。3) 采用库函数方法实现按键输入实验,参考stm32f1开发指南(精英版)-库函数版本_v1.0第8章。库函数实现不支持连续按的关键代码,以及程序运行后的效果。由程序可知,给key_s

4、can函数输入的值为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)一套

5、stm32f103开发板;3)stlink硬件仿真器。2.3 基本实验内容1)定时器中断实验,参考stm32f1开发指南(精英版)-库函数版本_v1.0第13章,利用tim3的定时器中断来控制ds1的翻转,在主函数用ds0的翻转来提示程序正在运行。通过本例程,理解定时器中断原理,记录关键代码,写出定时器中断过程:一开始程序会一直执行死循环里面的代码,让led0不断的亮然后熄灭来提示程序正在运行。当计数器计数500ms之后,程序将跳出循环,去执行定时器里面的程序,实现ds1的反转2) pwm输出实验,参考stm32f1开发指南(精英版)-库函数版本_v1.0第14章,使用tim3的通道2,把通道

6、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按键输入高电平),通过串口打

7、印高电平脉宽时间。通过本例程,掌握定时器输入捕获实现过程,记录关键代码,并写出捕获输入实现原理: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开发指南(精英版)-库函

8、数版本_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模块上显示出来。

9、通过本例程,理解stm32内部温度传感器的使用方法,记录关键代码,写出读取内部温度传感器温度值的实现过程:3.4 创新实验内容在1.3实验步骤的基础上,通过修改代码,实现如下功能:1)用信号发生器输出正弦波、三角波信号(注意峰值小于3.3v!),接入某adc通道,在tftlcd上动态显示输入数据(也可以用图形方式显示);在实现1)中功能的基础上,用tftlcd显示温度,并显示自己的班级、学号、姓名等信息。实验总结通过这三次实验,我遇到了很多问题,比如,如何开始去新建一个工程,如何运行一个程序,如何下载到开发板中。也学到了如何去解决这些问题,遇见软件问题也多不胜数,比如:调试文件系统程序时,程序编译没有错,仿真时程序总是跑飞到硬件中断。这是因为初始化文件系统时,前面忘记调用设备选择函数,导致一些参数未能及时存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论