|
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "pwm.h"
#include "key.h"
int main(void)
{
u8 key,flag; //保存键值
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
delay_init(168); //初始化延时函数
uart_init(115200);//初始化串口波特率为115200
TIM3_PWM_CH1_Init(100-1,84-1);//84M/84=1Mhz的计数频率,重装载值500,所以PWM频率为 1M/500=2Khz.
KEY_Init(); //初始化与按键连接的硬件接口
LED_Init ();
while(1) //实现比较值从0-300递增,到300后从300-0递减,循环
{
key=KEY_Scan(0); //得到键值
if(key)
{
switch(key)
{
case KEY0_PRES:
flag=1;
while(flag==1){
if(KEY0==1)flag=0;
GPIO_SetBits(GPIOC,GPIO_Pin_6);
GPIO_ResetBits(GPIOC,GPIO_Pin_7);
TIM_SetCompare1(TIM3,50); //修改比较值,修改占空比
}
break;
case KEY1_PRES:
flag=2;
while(flag==2){
GPIO_SetBits(GPIOC,GPIO_Pin_6);
GPIO_ResetBits(GPIOC,GPIO_Pin_7);
TIM_SetCompare1(TIM3,50); //修改比较值,修改占空比
key=KEY_Scan(0); //得到键值
if(key)
{
switch(key)
{
case KEY1_PRES:
flag=0;
}
}else
delay_ms(10);
}
break;
}
}else {
delay_ms(10);
TIM_SetCompare1(TIM3,100);
}
}
}
|
|