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)
|