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 上傳
點擊文件名下載附件
|