《2022年嵌入式系统实验报告.pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式系统实验报告.pdf(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、嵌入式系统实验报告嵌入式系统实验报告学号: 姓名: 班级:13 电子信息工程指导老师 : 苏州大学电子信息学院2016 年 12 月实验一 :一个灯的闪烁1、实验要求实现 PF6-10端口所连接的任意一个LED灯点亮2、电路原理图图 1 LED灯硬件连接图3、软件分析RCC_Configuration(); /* 配置系统时钟*/ GPIO_Configuration(); /* 配置 GPIO IO口初始化*/ for(;) GPIOF-ODR = 0 xfcff; /* PF8=0 - 点亮 D3 */ Delay(1000000); GPIOF-ODR = 0 xffff; /* PF8
2、=1 - 熄灭 D3 */ 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 10 页 - - - - - - - - - - 嵌入式系统实验报告Delay(1000000); 4、实验现象通过对 GPIOF8的操作 ,可以使 LED3闪烁5、实验总结这就是第一次使用STM32开发板 ,主要内容就是对 IO端口进行配置 ,点亮与 IO端口相连接的 LED灯,闪烁周期为 2S 。通过本实验对 STM32开发板的硬件原理有了初步了解。实验二 :流水灯1、实验要求实现 PF6-10端口所连接的 5 个
3、 LED灯顺次亮灭2、电路原理图图 1 流水灯硬件连接图3、软件分析int main(void) RCC_Configuration();/* 配 置 系 统 时 钟*/ GPIO_Configuration();/* 配置 GPIO IO口初始化*/ for(;) GPIOF-ODR = 0 xffbf; /* PF6=0 - 点亮 LED1 */ Delay(5000000); GPIOF-ODR = 0 xff7f; /* PF7=0 - 点亮 LED2 */ Delay(5000000); GPIOF-ODR = 0 xfeff; /* PF8=0 - 点亮 LED3 */ Delay
4、(5000000); GPIOF-ODR = 0 xfdff; /* PF9=0 - 点亮 LED4 */ Delay(5000000); GPIOF-ODR = 0 xfbff; /* PF10=0 - 点亮 LED5 */ 4、实验现象精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 10 页 - - - - - - - - - - 嵌入式系统实验报告LED1LED5 依次点亮 ,亮灭的时间间隔都为1S。5、实验总结本次实验对 STM32 开发板的 GPIO端口进行进一步学习 ,通过程序可以
5、实现流水灯的闪烁。实验三 :单级外部中断1、实验要求按下某个按键 ,触发中断 ,中断服务程序改变LED灯状态2、电路原理图图 3 SW1硬件原理图3、软件分析int main() RCC_Configuration(); /* 配置系统时钟*/ GPIO_Configuration(); /* IO 口初始化*/ GPIO_Write(GPIOF,0 xffff); /* 全灭*/ Delay(5000); while(1) if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8)=0) /* 如果 SW1 PA8=0 */ GPIO_SetBits(GPIOF,
6、 GPIO_Pin_6); /* LED1 点亮*/ Delay(0 x1FFFFF); GPIO_ResetBits(GPIOF, GPIO_Pin_6); /* LED1 熄灭*/ Delay(0 x1FFFFF); 4、实验现象原来 5 个 LED灯都处于熄灭状态 ,按下 SW1,触发中断程序 ,LED1点亮。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 10 页 - - - - - - - - - - 嵌入式系统实验报告5、实验总结通过本次实验 ,可以对某一状态通过外部中断,改变其当
7、前状态。实验四 :多中断嵌套1、实验要求按下某个按键 ,触发中断 ,中断服务程序改变LED灯状态2、电路原理图图 4 SW1,SW2,SW3 硬件原理图3、软件分析NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); NVIC_InitStructure 、NVIC_IRQChannel = EXTI0_IRQChannel; / 设定中断源为PA0 NVIC_InitStructure 、NVIC_IRQChannelPreemptionPriority = 0; / 中断占优先级为0 NVIC_InitStructure 、NVIC_IRQChan
8、nel = EXTI3_IRQChannel; / 设定中断源为PD3 NVIC_InitStructure 、NVIC_IRQChannelPreemptionPriority = 1; / 中断占优先级为1 NVIC_InitStructure 、NVIC_IRQChannel = EXTI9_5_IRQChannel; / 设定中断源为PA8 NVIC_InitStructure 、NVIC_IRQChannelPreemptionPriority = 2; / 中断占优先级为2 void EXTI0_IRQHandler(void) int i=0; if(EXTI_GetITStat
9、us(EXTI_Line0) != RESET) for(i=0;i10;i+) GPIO_Write(GPIOF,0 xffff); GPIO_SetBits(GPIOF, GPIO_Pin_6); /* LED1 点亮*/ Delay(0 x5fFFFF); GPIO_ResetBits(GPIOF, GPIO_Pin_6);/* LED1 熄灭 */ Delay(0 x5fFFFF); EXTI_ClearITPendingBit(EXTI_Line0); void EXTI3_IRQHandler(void) 精品资料 - - - 欢迎下载 - - - - - - - - - - -
10、欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 10 页 - - - - - - - - - - 嵌入式系统实验报告int i=0; if(EXTI_GetITStatus(EXTI_Line3) != RESET) for(i=0;i10;i+) GPIO_Write(GPIOF,0 xffff); GPIO_SetBits(GPIOF, GPIO_Pin_7); /* LED2 点亮 */ Delay(0 x5fFFFF); GPIO_ResetBits(GPIOF, GPIO_Pin_7);/* LED2 熄灭*/ Delay(0 x5fFFFF); EXTI_
11、ClearITPendingBit(EXTI_Line3); void EXTI9_5_IRQHandler(void) int i=0; if(EXTI_GetITStatus(EXTI_Line8) != RESET) for(i=0;i PD05 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 10 页 - - - - - - - - - - 嵌入式系统实验报告*/ GPIO_InitStructure、 GPIO_Mode = GPIO_Mode_AF_PP; /* PD05 - JP
12、7 WR */ GPIO_InitStructure、 GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOD, &GPIO_InitStructure); GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE); GPIO_InitStructure、 GPIO_Pin = GPIO_Pin_6; /* USART2 Rx - PD06 */ GPIO_InitStructure、 GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOD, &GPIO_InitStruct
13、ure); GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE); 该程序将 USART2 重映射到 PD05,PD06引脚4、实验现象PD05连接的就是 USART2 Tx,PD06 连接的就是 USART2 Rx, 通过串口调试助手就可以在电脑上面显示Program Running! 5、实验总结通过本次实验 ,可以实现对异步通信USART2的重映射 ,再通过串口调试助手在电脑上显示出来。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 10 页 - - - - - - - - - -