完整word版嵌入式实验报告.pdf





《完整word版嵌入式实验报告.pdf》由会员分享,可在线阅读,更多相关《完整word版嵌入式实验报告.pdf(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(完整 word 版)嵌入式实验报告目录目录实验一实验一 跑马灯实验跑马灯实验.1 1实验二实验二 按键输入实验按键输入实验.3 3实验三实验三 串口实验串口实验.6 6实验四实验四 外部中断实验外部中断实验.9 9实验五实验五 独立看门狗实验独立看门狗实验.13.13实验七实验七 定时器中断实验定时器中断实验.16.16实验十三实验十三 ADCADC实验实验.18.18实验十五实验十五 DMADMA实验实验.21.21实验十六实验十六 I2CI2C 实验实验.25.25实验十七实验十七 SPISPI 实验实验.29.29实验二十一实验二十一 红外遥控实验红外遥控实验.33.33实验二十二实验
2、二十二 DS18B20DS18B20实验实验.37.37(完整 word 版)嵌入式实验报告实验一实验一 跑马灯实验跑马灯实验一实验简介一实验简介我的第一个实验,跑马灯实验.二实验目的二实验目的掌握 STM32开发环境,掌握从无到有的构建工程.三实验内容三实验内容熟悉 MDKKEIL 开发环境,构建基于固件库的工程,编写代码实现跑马灯工程。通过 ISP 下载代码到实验板,查看运行结果。使用 JLINK 下载代码到目标板,查看运行结果,使用 JLINK 在线调试。四实验设备四实验设备硬件部分:PC 计算机(宿主机)、亮点 STM32实验板、JLINK.软件部分:PC 机 WINDOWS系统、MD
3、K KEIL软件、ISP 软件。五实验步骤五实验步骤1.熟悉MDK KEIL2.3.4.开发环境熟悉串口编程软件 ISP查看固件库结构和文件建立工程目录,复制库文件1(完整 word 版)嵌入式实验报告5.6.7.8.9.建立和配置工程编写代码编译代码使用 ISP 下载到实验板测试运行结果JLINK 下载到实验板10.使用11.单步调试12.记录实验过程,撰写实验报告六实验结果及测试六实验结果及测试源代码:两个灯 LED0 与 LED1 实现交替闪烁的类跑马灯效果,每 300ms闪烁一次。七实验总结七实验总结通过本次次实验我了解了STM32开发板的基本使用,初次接触这个开发板和MDK KEIL
4、C软件,对软件操作不太了解,通过这次实验了解并熟练地使用MDK KEIL 软件,用这个软件来编程和完成一些功能的实现。作为 STM32的入门第一个例子,详细介绍了STM32的IO口操作,同时巩2(完整 word 版)嵌入式实验报告固了前面的学习,并进一步介绍了MDK的软件仿真功能.实验二实验二 按键输入实验按键输入实验一实验简介一实验简介在实验一的基础上,使用按键控制流水灯速度,及使用按键控制流水灯流水方向.二实验目的二实验目的熟练使用库函数操作 GPIO,掌握中断配置和中断服务程序编写方法,掌握通过全局变量在中断服务程序和主程序间通信的方法。三实验内容三实验内容实现初始化 GPIO,并配置中
5、断,在中断服务程序中通过修改全局变量,达到控制流水灯速度及3(完整 word 版)嵌入式实验报告方向。使用 JLINK 下载代码到目标板,查看运行结果,使用 JLINK 在线调试。四实验设备四实验设备硬件部分:PC 计算机(宿主机)、亮点 STM32实验板、JLINK、示波器.软件部分:PC 机 WINDOWS系统、MDK KEIL软件、ISP 软件.五实验步骤五实验步骤1 在实验 1 代码的基础上,编写中断初始化代码2 在主程序中声明全局变量,用于和中断服务程序通信,编写完成主程序3 编写中断服务程序4 编译代码,使用 JLINK 下载到实验板5。单步调试6 记录实验过程,撰写实验报告六实验
6、结果及测试六实验结果及测试源代码:4(完整 word 版)嵌入式实验报告我们将通过 MiniSTM32板上载有的 3 个按钮,来控制板上的 2 个 LED,其中 KEY0 控制 LED0,按一次亮,再按一次,就灭.KEY1 控制 LED1,效果同 KEY0.KEY_2(KEY_UP),同时控制 LED0和LED1,按一次,他们的状态就翻转一次。七实验总结七实验总结通过本次实验,我学会了如何使用 STM32的 IO 口作为输入用。TM32的 IO 口做输入使用的时候,是通过读取 IDR 的内容来读取 IO 口的状态的。这里需要注意的是 KEY0和 KEY1是低电平有效的,而 WK_UP是高电平有
7、效的,而且要确认 WK_UP按钮与 DS18B20的连接是否已经断开,要先断开,否则 DS18B20会干扰 WK_UP按键!并且 KEY0和 KEY1连接在与 JTAG相关的 IO 口上,所以在软件编写的时候要先禁用 JTAG功能,才能把这两个 IO 口当成普通 IO口使用。5(完整 word 版)嵌入式实验报告实验三实验三 串口实验串口实验一实验简介一实验简介编写代码实现串口发送和接收,将通过串口发送来的数据回送回去.二实验目的二实验目的掌握 STM32基本串口编程,进一步学习中断处理.三实验内容三实验内容编写主程序,初始化串口 1,设置波特率为 9600,无校验,数据位 8 位,停止位 1
8、 位。编写中断服务程序代码实现将发送过来的数据回送。四实验设备四实验设备硬件部分:PC 计算机(宿主机)、亮点 STM32实验板、JLINK、示波器。软件部分:PC 机 WINDOWS系统、MDK KEIL软件、ISP 软件、串口调试助手。五实验步骤五实验步骤1 编写串口初始化代码2 编写中断服务程序代码6(完整 word 版)嵌入式实验报告3 编译代码,使用 JLINK 或 ISP 下载到实验板4 记录实验过程,撰写实验报告六实验结果及测试六实验结果及测试源代码:把代码下载到 MiniSTM32开发板,可以看到板子上的 LED0开始闪烁,说明程序已经在跑了.接着我们打开串口调试助手,看到如下
9、信息:7(完整 word 版)嵌入式实验报告证明串口数据发送没问题.接着,我们在发送区输入上面的文字,输入完后按回车键.然后单击发送,可以得到如下结果:8(完整 word 版)嵌入式实验报告七实验总结七实验总结通过本次实验,我进一步了解了串口的使用,学会了通过串口发送和接收数据,将通过串口发送来的数据回送回去。该实验的硬件配置不同于前两个实验,串口 1 与 USB串口默认是分开的,并没有在 PCB 上连接在一起,需要通过跳线帽来连接一下.这里我们把 P4 的 RXD和 TXD用跳线帽与 P3 的 PA9和 PA10连接起来。实验四实验四 外部中断实验外部中断实验一实验简介一实验简介STM32的
10、 IO 口在本章第一节有详细介绍,而外部中断在第二章也有详细的阐述。这里我们将介绍如何将这两者结合起来,实现外部中断输入。9(完整 word 版)嵌入式实验报告二实验目的二实验目的进一步掌握串口编程,进一步学习外部中断编程,提高编程能力.三实验内容三实验内容初始化 IO 口的输入,开启复用时钟,设置 IO 与中断的映射关系,从而开启与 IO 口相对应的线上中断事件,设置触发条件。配置中断分组(NVIC),并使能中断,编写中断服务函数。四实验设备四实验设备硬件部分:PC 计算机(宿主机)、亮点 STM32实验板、JLINK、示波器。软件部分:PC 机 WINDOWS系统、MDK KEIL软件、I
11、SP 软件、串口调试助手。五实验步骤五实验步骤1.2.3.4.编写中断服务程序代码使用 ISP 下载到实验板测试运行结果记录实验过程,撰写实验报告六实验结果及测试六实验结果及测试10(完整 word 版)嵌入式实验报告源代码:打开串口助手。七实验总结七实验总结首先需要将 IO 设置为中断输入口:1)初始化 IO 口为输入。2)开启 IO 口复用时钟,设置 IO 口与中断线的映射关系。3)开启与该 IO 口相对的线上中断/事件,设置触发条件。11(完整 word 版)嵌入式实验报告4)配置中断分组(NVIC),并使能中断。5)编写中断服务函数.这一节,使用的是中断来检测按键,通过 WK_UP按键
12、实现按一次 LED0和 LED 1 同时翻转,按 KEY0翻转 LED0,按 KEY1翻转 LED1。试验中外部中断函数不能进入的原因分析:1)GPIO 或者 AFIO 的时钟没有开启。2)GPIO 和配置的中断线路不匹配.3)中断触发方式和实际不相符合。4)中断处理函数用库函数时,写错,经常可能出现数字和字母之间没有下划线。5)外部中断是沿触发,有可能不能检测到沿,比如 中断线是低电平(浮空输入),触发是下降沿触发,可能会出现一直是低电平,高电平的时候是一样的情况,电平持续为高电平。6)没有用软件中断来触发外部中断,调用函数 EXTI_GenerateSWInterrupt;,因为软件中断先
13、于边沿中断处理.12(完整 word 版)嵌入式实验报告实验五实验五 独立看门狗实验独立看门狗实验一一实实验简介验简介独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。窗口看门狗由从 APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。二实验目的二实验目的通过编程,编写一个独立看门狗驱动程序三实验内容三实验内容启动 STM32的独立看门狗,从而使能看门狗,在程序里面必须间隔一定时间喂狗,否则将导致程序复位。利用这一点,我们本章将通过一个 LED灯来指示程序是否重启,来验证 STM32的独立看门狗。13(完整 word
14、 版)嵌入式实验报告四实验设备四实验设备硬件部分:PC 计算机(宿主机)、亮点 STM32实验板、JLINK。软件部分:PC 机 WINDOWS系统、MDK KEIL软件、ISP 软件、串口调试助手.五实验步骤五实验步骤1.2.3.4.参考教材独立看门狗部分,编写独立看门狗驱动程序。建立和配置工程编写代码使用 ISP 下载到实验板记录实验过程,撰写实验报告六实验结果及测试六实验结果及测试源代码:14(完整 word 版)嵌入式实验报告在配置看门狗后,看到 LED0不停的闪烁,如果 WK_UP按键按下,就喂狗,只要 WK_UP不停的按,看门狗就一直不会产生复位,保持 LED0的常亮,一旦超过看门
15、狗定溢出时间(Tout)还没按,那么将会导致程序重启,这将导致 LED0熄灭一次。七实验总结七实验总结通过本次实验,我掌握了启动独立看门狗的步骤:1)向 IWDG_KR写入 0X5555.2)向 IWDG_KR写入 0XAAAA。3)向 IWDG_KR写入 0XCCCC。通过上面 3 个步骤,启动 STM32的看门狗,从而使能看门狗,在程序里面就必须间隔一定时间喂狗,否则将导致程序复位。利用这一点,本章通过一个 LED灯来指示程序是否重启,来验证 STM32的独立看门狗。在配置看门狗后,LED0将常亮,如果 WK_UP按键按下,就喂狗,只要 WK_UP不停的按,看门狗就一直不会产生复位,保持
16、LED 0 的常亮,一旦超过看门狗溢出时间(Tout)还没按,那么将会导致程序重启,这将导致 LED 0 熄灭一次。15(完整 word 版)嵌入式实验报告实验七实验七 定时器中断实验定时器中断实验一一实实验简介验简介STM32的定时器是一个通过可编程预分频器(PSC)驱动的 16 位自动装载计数器(CNT)构成。STM32的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等.使用定时器预分频器和 RCC时钟控制器预分频器,脉冲长度和波形周期可以在几微秒到几毫秒间调整。STM32的每个通用定时器都是完全独立的,没有互相共享的任何资源.二实验目的二实
17、验目的熟练掌握定时器中断,学会对定时器中断的编程操作。三实验内容三实验内容使用定时器产生中断,然后在中断服务函数里面翻转 LED1上的电平,来指示定时器中断的产生,修改中断时间。四实验设备四实验设备硬件部分:PC 计算机(宿主机)、亮点 STM32实验板、JLINK.软件部分:PC 机 WINDOWS系统、MDK KEIL软件、ISP 软件、串口调试助手。五实验步骤五实验步骤1.参考教材定时器中断部分,编写定时器中断的驱动程序。2.编写主程序16(完整 word 版)嵌入式实验报告3.编译代码,使用 JLINK 或 ISP 下载到实验板4.记录实验过程,撰写实验报告六实验结果及测试六实验结果及
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 嵌入式 实验 报告

限制150内