欢迎来到天天文库
浏览记录
ID:56794747
大小:588.00 KB
页数:11页
时间:2020-07-12
《嵌入式系统实验报告材料.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、嵌入式系统实验报告学号:姓名:班级:13电子信息工程指导老师:大学电子信息学院2016年12月实验一:一个灯的闪烁1、实验要求实现PF6-10端口所连接的任意一个LED灯点亮2、电路原理图图1LED灯硬件连接图3、软件分析RCC_Configuration();/*配置系统时钟*/GPIO_Configuration();/*配置GPIOIO口初始化*/for(;;){GPIOF->ODR=0xfcff;/*PF8=0-->点亮D3*/Delay(1000000);GPIOF->ODR=0xffff;/*PF8=1--
2、>熄灭D3*/Delay(1000000);4、实验现象通过对GPIOF8的操作,可以使LED3闪烁5、实验总结这是第一次使用STM32开发板,主要容是对IO端口进行配置,点亮与IO端口相连接的LED灯,闪烁周期为2S。通过本实验对STM32开发板的硬件原理有了初步了解。实验二:流水灯1、实验要求实现PF6-10端口所连接的5个LED灯顺次亮灭2、电路原理图图1流水灯硬件连接图3、软件分析intmain(void){RCC_Configuration();/*配置系统时钟*/GPIO_Configuration();/
3、*配置GPIOIO口初始化*/for(;;){GPIOF->ODR=0xffbf;/*PF6=0-->点亮LED1*/Delay(5000000);GPIOF->ODR=0xff7f;/*PF7=0-->点亮LED2*/Delay(5000000);GPIOF->ODR=0xfeff;/*PF8=0-->点亮LED3*/Delay(5000000);GPIOF->ODR=0xfdff;/*PF9=0-->点亮LED4*/Delay(5000000);GPIOF->ODR=0xfbff;/*PF10=0-->点亮LED5
4、*/}}4、实验现象LED1~LED5依次点亮,亮灭的时间间隔都为1S。5、实验总结本次实验对STM32开发板的GPIO端口进行进一步学习,通过程序可以实现流水灯的闪烁。实验三:单级外部中断1、实验要求按下某个按键,触发中断,中断服务程序改变LED灯状态2、电路原理图图3SW1硬件原理图3、软件分析intmain(){RCC_Configuration();/*配置系统时钟*/GPIO_Configuration();/*IO口初始化*/GPIO_Write(GPIOF,0xffff);/*全灭*/Delay(5000
5、);while(1){if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)==0)/*如果SW1PA8=0*/{GPIO_SetBits(GPIOF,GPIO_Pin_6);/*LED1点亮*/Delay(0x1FFFFF);GPIO_ResetBits(GPIOF,GPIO_Pin_6);/*LED1熄灭*/Delay(0x1FFFFF);}}}4、实验现象原来5个LED灯都处于熄灭状态,按下SW1,触发中断程序,LED1点亮。5、实验总结通过本次实验,可以对某一状态通过外部中断,改变
6、其当前状态。实验四:多中断嵌套1、实验要求按下某个按键,触发中断,中断服务程序改变LED灯状态2、电路原理图图4SW1,SW2,SW3硬件原理图3、软件分析NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitStructure.NVIC_IRQChannel=EXTI0_IRQChannel;//设定中断源为PA0NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//中断占优先级为0NVIC_Init
7、Structure.NVIC_IRQChannel=EXTI3_IRQChannel;//设定中断源为PD3NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;//中断占优先级为1NVIC_InitStructure.NVIC_IRQChannel=EXTI9_5_IRQChannel;//设定中断源为PA8NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//中断占优先级为2voidEXTI0_IRQ
8、Handler(void){inti=0;if(EXTI_GetITStatus(EXTI_Line0)!=RESET){for(i=0;i<10;i++){GPIO_Write(GPIOF,0xffff);GPIO_SetBits(GPIOF,GPIO_Pin_6);/*LED1点亮*/Delay(0x5fFFFF);GPIO_
此文档下载收益归作者所有