文档详情

外部按键中断延时控制LED设计题稿.doc

发布:2017-01-06约4.74千字共8页下载文档
文本预览下载声明
成绩 实训报告 目: 课程名称: 学生姓名: 任课教师: 系 别: 电子工程学院 专 业: 通信工程 年 级: 13级 : 电子工程学院 外部按键中断延时控制LED设计 学生: 指导老师:权循忠 电子工程学院通信工程专业 实训目的 1.掌握STM32项目开发流程; 2.学会画出算法流程图; 3.掌握LED的控制编程。 二、实训内容 (1)LED0亮2秒,LED0灭2秒;循环(1)的操作5次; (2)LED1亮3秒,LED1灭3秒;循环(2)的操作5次; (3)然后到(1)循环。 三、实训过程 人员分配: 负责用c语言算法,建立工程项目,生成目标文件,将目标文件编程下载到开发板,;负责;负责程序流程框图以及实验报告。 电路设计: (1)要求使用LED0和LED1两个LED,连接图如下: 图1、LED原理图 (2)所用到的硬件只有LED(DS0和DS1)。LED与MCU连接,实现定时控制LED闪烁,其原理图如下: 图2、LED与STM32连接原理图 3.电路分析: 因为用Proteus绘图软件来绘制原理图,Proteus中没有MCU芯片,通过手绘将这些芯片和引脚绘出来,不能进行仿真。 LED0(DS0)与PB5相连;LED1(DS1)与PE5相连。 .算法设计 算法解释: LED0=0; delay_ms(1500); delay_ms(1500); 按下KEY1时,实现函数 LED0=0; delay_ms(1500); delay_ms(1500); 按下WK_UP时,实现函数 LED0=0; LED1=0; delay_ms(1500); delay_ms(1500); delay_ms(1500); delay_ms(500); LED0=1; LED1=1; 5.部分源代码 #include exti.h #include led.h #include key.h #include delay.h #include usart.h void EXTIX_Init(void) { EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); KEY_Init(); GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource5); EXTI_InitStructure.EXTI_Line=EXTI_Line5; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(EXTI_InitStructure); GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource15); EXTI_InitStructure.EXTI_Line=EXTI_Line15; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Inter
显示全部
相似文档