外部按键中断延时控制LED设计题稿.doc
文本预览下载声明
成绩
实训报告
目:
课程名称:
学生姓名:
任课教师:
系 别: 电子工程学院
专 业: 通信工程
年 级: 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
显示全部