通过按键改变流水灯速度
单片机源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "key.h"
- #include "timer.h"
- extern u16 num,count,flag;
- int main(void)
- {
- u8 t=0;
- delay_init(); //延时函数初始化
- LED_Init(); //初始化与LED连接的硬件接口
- KEY_Init(); //初始化与按键连接的硬件接口
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
- TIM3_Int_Init(4999,7199);//10Khz的计数频率,计数到5000为500ms
- LED1=0; LED0 =1; //点亮LED
- while(1)
- {
- if(flag)
- {
- flag=0;
- LED0=!LED0;
- LED1=!LED1;
-
- }
- delay_ms(10);
- t=KEY_Scan(0); //得到键值
- switch(t)
- {
- case KEY0_PRES:
- count=2;
- break;
- case KEY1_PRES:
- count=6;
- break;
- case WKUP_PRES:
- LED0 =1;LED1 =1;
- break;
- default:
- delay_ms(10);
- }
- }
- }
复制代码
所有程序51hei提供下载:
按键定时器不同速度流水灯.7z
(186.48 KB, 下载次数: 28)
|