单片机STM32实验报告.doc

上传人:w****2 文档编号:6543005 上传时间:2020-02-28 格式:DOC 页数:14 大小:2.98MB
返回 下载 相关 举报
单片机STM32实验报告.doc_第1页
第1页 / 共14页
单片机STM32实验报告.doc_第2页
第2页 / 共14页
单片机STM32实验报告.doc_第3页
第3页 / 共14页
点击查看更多>>
资源描述
实验报告课程名称:单片微机原理与车载系统学生姓名蒋昭立班级电科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显示温度,并显示自己的班级、学号、姓名等信息。实验总结通过这三次实验,我遇到了很多问题,比如,如何开始去新建一个工程,如何运行一个程序,如何下载到开发板中。也学到了如何去解决这些问题,遇见软件问题也多不胜数,比如:调试文件系统程序时,程序编译没有错,仿真时程序总是跑飞到硬件中断。这是因为初始化文件系统时,前面忘记调用设备选择函数,导致一些参数未能及时存储变量的值,致使程序跑飞,加入设备选择函数后,该现象解决。这样的还有很多很多,问题越多,在与别人交流的过程中受益匪浅,别人的程序往往使人豁然开朗,通过这几次实验,我不仅加深了对单片机的了解,将理论很好的融入到实践中,同时也让我意识到自己的不足,无论是理论上还是遇到问题的处理能力还有待提高。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!