标题:
STM32f103单片机按键控制LED程序仿真失败
[打印本页]
作者:
卢OK
时间:
2023-10-20 18:24
标题:
STM32f103单片机按键控制LED程序仿真失败
1、LED 点亮实验:使用 GPI0 的相关知识,设计基于无限循环架构的嵌入式应用程序,点亮开发板上绿色 LED 和红色 LED;
2、流水灯实验一:使用 GPIO 和延时循环,设计基于无限循环架构的嵌入式应用程序,使开发板上的绿色 LED 和红色 LED 先后轮流闪烁;
3、按键控制 LED 实验:使用 GPI0 的相关知识,设计基于无限循环架构的嵌入式应用程序,实现以下功能:
(1 )当按下 WK_UP 按键时,开发板上的绿色 LED 点亮;当释放 WK_UP 按键时,开发板上的绿色 LED 熄灭;
(2 )当按下 KEY1 按键时,开发板上的红色 LED 点亮;当释放 KEY1 按键时,开发板上的红色 LED 熄灭;
(3 )当按下 KEY0 按键时,开发板上的红色 LED 和绿色 LED 同时闪亮;当再次按下 KEY0 按键时,开发板上的红色 LED 和绿色 LED 同时熄灭。
单片机源程序如下:
#include "stm32f10x.h"
#include "delay.h"
#include "led.h"
#include "key.h"
u8 KeyNum;
int main(void)
{
int a=0;
LED_Init();
KEY_Init();
delay_init();
LED_xx();
while (1)
{
//LED_ss();//流水灯
KeyNum = KEY_Scan();
if (KeyNum == KEY0_PRES)
{
a++;
if(a>2)a=0;
}
switch(a)
{
case 1 : LED_ss1(); break;
case 2 : LED_xx();break;
}
if(KEY1==0)
{
while(KEY1==0)
{
GPIO_ResetBits(GPIOA, LED1_Pin);//点亮LED1
}
GPIO_SetBits (GPIOA, LED1_Pin);//熄灭LED1
}
if(WK_UP==1)
{
while(WK_UP==1)
{
GPIO_ResetBits(GPIOD, LED2_Pin);//点亮LED2
}
GPIO_SetBits (GPIOD, LED2_Pin);//熄灭LED2
}
}
}
复制代码
程序下载:
程序.7z
(215.47 KB, 下载次数: 2)
2023-10-20 22:19 上传
点击文件名下载附件
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1