文档详情

嵌入式实验报告

博****1
实名认证
店铺
DOCX
770.79KB
约34页
文档ID:470943971
嵌入式实验报告_第1页
1/34

目录实验一跑马灯实验 1实验二按键输入实验 3实验三串口实验 5实验四 外部中断实验 8实验五独立看门狗实验 11实验七 定时器中断实验 13实验十三ADC实验 15实验十五DMA实验 17实验十六I2C实验 21实验十七SPI实验 24实验二」一红外遥控实验 27实验二十二DS18B20实验 30实验一跑马灯实验一. 实验简介我的第一个实验,跑马灯实验二. 实验目的掌握STM32开发环境,掌握从无到有的构建工程三. 实验内容熟悉MDK KEIL开发环境,构建基于固件库的工程,编写代码实现跑马灯工程通过 ISP下载代码到实验板,查看运行结果使用 JLINK下载代码到目标板,查看运行结果,使用JLINK调试四. 实验设备硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK 软件部分:PC机 WINDOWS系统、MDK KEIL软件、ISP软件五. 实验步骤1. 熟悉MDK KEIL开发环境2. 熟悉串口编程软件ISP3. 查看固件库结构和文件4. 建立工程目录,复制库文件5. 建立和配置工程6. 编写代码7. 编译代码8. 使用ISP下载到实验板9. 测试运行结果10. 使用JLINK下载到实验板11. 单步调试12. 记录实验过程,撰写实验报告六. 实验结果及测试源代码:int mam (void}{5trr.32_CLock_Init (9} ; //系统时钟设置 delay zmt (72); 〃甕时初始牝LED Init {}; 〃初始化与匸ED连接的硬件接口while (1)LED0-0;LED1=1;delay its (300);LEDO-1;LED1=O;delay_ju (300);两个灯LEDO与LED1实现交替闪烁的类跑马灯效果,每 300ms闪烁一次七. 实验总结通过本次次实验我了解了 STM32开发板的基本使用,初次接触这个开发板和 MDK KEILC 软件,对软件操作不太了解,通过这次实验了解并熟练地使用 MDK KEIL软件,用这个软件来编程和完成一些功能的实现。

作为STM32的入门第一个例子,详细介绍了 STM32的 10口操作,同时巩固了前面的学习,并进一步介绍了 MDK的软件仿真功能实验二按键输入实验一. 实验简介在实验一的基础上,使用按键控制流水灯速度,及使用按键控制流水灯流水方向二. 实验目的熟练使用库函数操作GPIO,掌握中断配置和中断服务程序编写方法,掌握通过全局变量在 中断服务程序和主程序间通信的方法三. 实验内容实现初始化GPIO,并配置中断,在中断服务程序中通过修改全局变量,达到控制流水灯 速度及方向使用JLINK下载代码到目标板,查看运行结果,使用 JLINK调试四. 实验设备硬件部分:PC计算机(宿主机)、亮点 STM32实验板、JLINK、示波器软件部分:PC机 WINDOWS系统、MDK KEIL软件、ISP软件五. 实验步骤1在实验1代码的基础上,编写中断初始化代码2在主程序中声明全局变量,用于和中断服务程序通信,编写完成主程序 3编写中断服务程序4编译代码,使用JLINK下载到实验板5.单步调试6记录实验过程,撰写实验报告六. 实验结果及测试源代码:int main(void)uB t;Stir.32_CLock_Init (9); 〃系统时甘设置delay_inir (72) * "延島丐戈台化LED Initf); "初始龙与LED连接的硬寻接口KEY_Init(); "初始化与按键连接的硬件接口while(1)< t=KEY_Scan <);〃 導至:键住switch{t){case 1: LEDO= 1 LEDO;l>reak;case 2 : LED1- ! LED1 ;i>reak;case 3:LEDO=!LEDO;LED1^■LED1;break;}}else delayms(10);我们将通过MiniSTM32板上载有的3个按钮,来控制板上的2个LED,其中KEY0控制 LEDO,按一次亮,再按一次,就灭。

KEY1 控制9 LED1,效果同 KEY0KEY_2( KEY_UP), 同时控制LEDO和LED1,按一次,他们的状态就翻转一次七. 实验总结通过本次实验,我学会了如何使用 STM32的10 口作为输入用TM32的10 口做输入 使用的时候,是通过读取IDR的内容来读取I0 口的状态的这里需要注意的是 KEYO和 KEY1是低电平有效的,而 WK_UP是高电平有效的,而且要确认 WK_UP按钮与 DS18B20的连接是否已经断开,要先断开,否则 DS18B20会干扰 WK_UP按键!并且 KEYO和KEY1连接在与JTAG相关的I0 口上,所以在软件编写的时候要先禁用 JTAG 功能,才能把这两个10 口当成普通I0 口使用实验三串口实验一. 实验简介编写代码实现串口发送和接收,将通过串口发送来的数据回送回去二. 实验目的掌握STM32基本串口编程,进一步学习中断处理三. 实验内容编写主程序,初始化串口 1,设置波特率为9600,无校验,数据位8位,停止位1位 编写中断服务程序代码实现将发送过来的数据回送四. 实验设备硬件部分:PC计算机(宿主机)、亮点 STM32实验板、JLINK、示波器。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手五. 实验步骤1编写串口初始化代码2编写中断服务程序代码3编译代码,使用JLINK或ISP下载到实验板4记录实验过程,撰写实验报告六. 实验结果及测试源代码:while(1} DE -US ART_RX_BUE [t];while ( fUSJLRTl->SB£0X40)"0};//等待发送结束■printf (H\n\n,t}拯入挨彳丁 USART_RX_STS-0 ;}else<匸丄 ices++;if(times%5000==0)

接着我们打开串口调试助手,看到如下信息:证明串口数据发送没问题接着,我们在发送区输入上面的文字,输入完后按回车键然 后单击发送,可以得到如下结果:七. 实验总结通过本次实验,我进一步了解了串口的使用,学会了通过串口发送和接收数据,将通过串 口发送来的数据回送回去该实验的硬件配置不同于前两个实验, 串口 1与USB串口默 认是分开的,并没有在PCB上连接在一起,需要通过跳线帽来连接一下这里我们把P4的RXD和TXD 用跳线帽与 P3的PA9和PA10连接起来实验四外部中断实验一. 实验简介STM32的10 口在本章第一节有详细介绍,而外部中断在第二章也有详细的阐述这里 我们将介绍如何将这两者结合起来,实现外部中断输入二. 实验目的进一步掌握串口编程,进一步学习外部中断编程,提高编程能力三. 实验内容初始化I0 口的输入,开启复用时钟,设置10与中断的映射关系,从而开启与10 口相对 应的线上中断事件,设置触发条件配置中断分组( NVIC),并使能中断,编写中断服务函数四. 实验设备硬件部分:PC计算机(宿主机)、亮点 STM32实验板、JLINK、示波器软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五. 实验步骤1. 编写中断服务程序代码2. 使用ISP下载到实验板3. 测试运行结果4. 记录实验过程,撰写实验报告六. 实验结果及测试源代码:〃系统时钟设置"延时初始化"串口初始化"耕始花与LED连接的硬件接口〃外部中断初始化int mam (void 卜Strr.32_CLoc]<_Init (9): delay_init(7^); uart init; C2r 9600): LED_Init (): EXTIX_Inic (): while (二)prinrf (T,OK\nn);delay (LOGO);打开串口助手跚正克原钿作V1.5口 串• 关闭串口清空接收区|猜空发送区 发送区:>-厂 AUTO 厂 DEC 周期:hooo毫秒岌送TOP| RKOTX:O计數器青割打开文周发送文住J联系我软件升臥正点原子制作们万关闭程用厂格式显示 r HEX r另存为DEC七. 实验总结首先需要将10设置为中断输入口:1) 初始化I0 口为输入2) 开启I0 口复用时钟,设置I0 口与中断线的映射关系3) 开启与该I0 口相对的线上中断/事件,设置触发条件4) 配置中断分组(NVIC ),并使能中断。

5) 编写中断服务函数这一节,使用的是中断来检测按键,通过 WK_UP按键实现按一次LEDO和LED 1同时翻转,按 KEYO翻转LEDO,按 KEY1翻转LED1试验中外部中断函数不能进入的原因分析1) GPIO或者AFIO的时钟没有开启2) GPIO和配置的中断线路不匹配3) 中断触发方式和实际不相符合4) 中断处理函数用库函数时,写错,经常可能出现数字和字母之间没有下划线5) 外部中断是沿触发,有可能不能检测到沿,比如 中断线是低电平(浮空输入),触 发是下降沿触发,可能会出现一直是低电平 ,高电平的时候是一样的情况,电平持续为高 电平6) 没有用软件中断来触发外部中断,调用函数 EXTI_GenerateSWInterrupt;,因为软件 中断先于边沿中断处理实验五独立看门狗实验一. 实验简介独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效窗 口看门狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序 非正常的过迟或过早的操作二. 实验目的通过编程,编写一个独立看门狗驱动程序三. 实验内容启动STM32的独立看门狗,从而使能看门狗,在程序里面必须间隔一定时间喂狗,否则 将导致程序复位。

利用这一点,我们本章将通过一个 LED灯来指示程序是否重启,来验证STM32的独立看门狗四. 实验设备硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手五. 实验步骤1. 参考教材独立看门狗部分,编写独立看门狗驱动程序。

下载提示
相似文档
正为您匹配相似的精品文档