




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成绩实训报告 题 目: 外部按键中断延时控制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)循环。三、实训过程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)与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);按下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_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_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); 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_InitStructure.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_InitStructure.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; NVIC_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_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.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上的中断
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州瓮安县平定营镇人民政府招聘公益性岗位人员考前自测高频考点模拟试题附答案详解
- 2025广西玉林市慈善总会公开招聘2人考前自测高频考点模拟试题带答案详解
- 2025辽宁鞍山市千山区公益性岗位招聘1人考前自测高频考点模拟试题及一套参考答案详解
- 2025甘肃金昌市金川区教育系统引进高层次和急需紧缺人才招聘12人(第二批)模拟试卷附答案详解(模拟题)
- 2025内蒙古选聘自治区特邀行政执法社会监督员考前自测高频考点模拟试题及参考答案详解1套
- 2025年西藏自治区烟草专卖局(公司)应届高校毕业生招聘29人模拟试卷及完整答案详解一套
- 2025安徽理工大学第一附属医院第二批紧缺岗位招聘14人模拟试卷及答案详解一套
- 2025年威海市环翠区卫生健康局所属事业单位公开招聘工作人员42人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025安徽芜湖前湾集团有限公司选聘2名考前自测高频考点模拟试题及完整答案详解一套
- 2025江苏苏州工业园区青剑湖小学后勤辅助人员招聘1人模拟试卷附答案详解(模拟题)
- 2025年高考全国卷历史试题真题及答案详解
- 2025年旌德县事业单位引进急需紧缺专业人才30人笔试备考试题及答案解析
- 2025年6月上海市高考语文试题卷(含答案详解)
- 2025年产业政策调整下人工智能在医疗行业的应用可行性研究报告
- 故事教学探究课件
- 数据结构(Java语言描述)(第2版)教案全套 张静 单元设计-单元1-8 数据结构与算法 -哈希表
- 酒店餐饮环境卫生安全检查表模板
- 慢性肺源性心脏病个案护理
- 征信查询管理办法
- 《麻雀》说课课件 统编版小学语文四年级上册
- 2025全国翻译专业资格(水平)考试土耳其语八十七级笔译试卷
评论
0/150
提交评论