外部按键中断延时控制led设计.

上传人:今*** 文档编号:105836696 上传时间:2019-10-13 格式:DOC 页数:8 大小:3.32MB
返回 下载 相关 举报
外部按键中断延时控制led设计._第1页
第1页 / 共8页
外部按键中断延时控制led设计._第2页
第2页 / 共8页
外部按键中断延时控制led设计._第3页
第3页 / 共8页
外部按键中断延时控制led设计._第4页
第4页 / 共8页
外部按键中断延时控制led设计._第5页
第5页 / 共8页
点击查看更多>>
资源描述

《外部按键中断延时控制led设计.》由会员分享,可在线阅读,更多相关《外部按键中断延时控制led设计.(8页珍藏版)》请在金锄头文库上搜索。

1、 成绩实训报告 题 目: 外部按键中断延时控制LED设计 课程名称: ARM嵌入式系统实训 学生姓名: 徐欣 郑亮亮 杨康宁 任课教师: 权循忠 系 别: 电子工程学院 专 业: 通信工程 年 级: 13级 实训时间: 2015年11月13日 电子工程学院外部按键中断延时控制LED设计学生: 徐欣 郑亮亮 杨康宁指导老师:权循忠电子工程学院通信工程专业实训目的1.掌握STM32项目开发流程;2.学会画出算法流程图;3.掌握LED的控制编程。二、实训内容(1)LED0亮2秒,LED0灭2秒;循环(1)的操作5次;(2)LED1亮3秒,LED1灭3秒;循环(2)的操作5次;(3)然后到(1)循环。

2、三、实训过程1. 人员分配: 徐欣负责程序部分,利用c语言设计算法,建立工程项目,生成目标文件,并将目标文件编程下载到开发板,验证算法;郑亮亮负责绘制电路图,进行电路设计及分析;杨康宁负责程序流程框图以及完成实验报告。2. 电路设计:(1)要求使用LED0和LED1两个LED,连接图如下:图1、LED原理图(2)所用到的硬件只有LED(DS0和DS1)。LED与MCU连接,实现定时控制LED闪烁,其原理图如下: 图2、LED与STM32连接原理图3.电路分析:因为用Proteus绘图软件来绘制原理图,Proteus中没有MCU芯片,通过手绘将这些芯片和引脚绘出来,不能进行仿真。LED0(DS0

3、)与PB5相连;LED1(DS1)与PE5相连。4.算法设计延时3SLED0,1灭LED0灭LED0灭延时5S延时3SKEY0按下?KEY2按下?KEY1按下?LED0,1亮LED0亮LED0亮开始初始化I/O为输入,开启I/O复用时钟,设置I/O与中断线的映射关系,初始化线上中断,设置触发条件等,配置中断分组(NVIC),并使能中断编写中断服务函数检测按键算法解释:通过if选择语句实现按键选择功能,按下KEY0时,实现函数LED0=0;delay_ms(1500);delay_ms(1500); 按下KEY1时,实现函数 LED0=0;delay_ms(1500);delay_ms(1500

4、);按下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.hvoid EXTIX_Init(void) EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphCloc

5、kCmd(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

6、_Init(&EXTI_InitStructure); GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource15); EXTI_InitStructure.EXTI_Line=EXTI_Line15; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_Init

7、Structure); GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0); EXTI_InitStructure.EXTI_Line=EXTI_Line0; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); NVIC_In

8、itStructure.NVIC_IRQChannel = EXTI0_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; NVIC_InitStr

9、ucture.NVIC_IRQChannelPreemptionPriority = 0x02; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; NVI

10、C_InitStructure.NVIC_IRQChannelSubPriority = 0x00; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); void EXTI0_IRQHandler(void) delay_ms(10); if(WK_UP=1) LED0=0;LED1=0;delay_ms(1500);delay_ms(1500);delay_ms(1500);delay_ms(500);LED0=1;LED1=1;EXTI_ClearITPendingBit(EXTI_

11、Line0); void EXTI9_5_IRQHandler(void)delay_ms(10); if(KEY0=0)LED0=0;delay_ms(1500);delay_ms(1500);LED0=1; EXTI_ClearITPendingBit(EXTI_Line9_5); void EXTI15_10_IRQHandler(void) delay_ms(10); if(KEY1=0)LED0=0;delay_ms(1500);delay_ms(1500);LED0=1; EXTI_ClearITPendingBit(EXTI_Line15); 程序解释:include exti.

12、h#include led.h#include key.h#include delay.h#include usart.h引用能使用到的头文件:exti.h外部中断;led.hLED灯; key.h按键;delay.h延时函数;usart.h串口。因为WK_UP按键是高电平有效的,而KEY0、KEY1是低电平有效的,所以WK_UP=1时触发中断,KEY0=0时触发中断,KEY1=0时触发中断。当KEY0=0时LED0亮,3s之后LED0灭,并清除Line9_5上的中断标志位后,使KEY1=0,LED1亮3s之后灭,并清除Line15上的中断标志位,使WK_UP=1,两个灯同时亮5s后同时熄灭,并清除Line0上的中断标志位。清除标志位是为了清除已发生的中断请求,使其不影响后面中断的发生。中间有个10s的延时是为了消除抖动。4、 实训结果 图3 图4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号