程序只适用于keil5
单片机源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "key.h"
- int main()
- {
- u8 led0stat=1,led1stat=1;
-
- Cache_Enable();
- HAL_Init();
-
-
- delay_init(80);//(u8 SYSCLK)形参,,是unsigned char 0-255
- Stm32_Clock_Init(432,25,2,9);//外部晶振为25M的时候,推荐值:plln=432,pllm=25,pllp=2,pllq=9.
-
- __HAL_RCC_GPIOA_CLK_ENABLE();
- __HAL_RCC_GPIOB_CLK_ENABLE();
- __HAL_RCC_GPIOH_CLK_ENABLE();
- __HAL_RCC_GPIOC_CLK_ENABLE();
- key_init();
- led_init();
-
-
-
- while(1)
- {
- u8 key;
-
- key=key_scan(0);
- if(key)
- {
- switch(key)
- {
- case KEY0_PRES: //KEY0有效
- led0stat=!led0stat;//key0--led0
- break;
- case KEY1_PRES: //KEY1有效
- led1stat=!led1stat;//key1--led1
- break;
- case KEY2_PRES: //KEY2有效
- led0stat=!led0stat;//同时反转
- led1stat=!led1stat;
- break;
- case WKUP_PRES: //KEY_UP 有效
- led0stat=!led0stat;
- led1stat=!led0stat;//互斥
- break;
-
-
- }
- LED0(led0stat);
- LED1(led1stat);
- }
-
-
- }
- }
复制代码
所有资料51hei提供下载:
003KEY-LED.rar
(971.06 KB, 下载次数: 20)
|