A 实验红外控制风速
单片机源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "pwm.h"
- #include "key.h"
- #include "remote.h"
- #include "usart.h"
- int main(void)
- {
- // u16 led0pwmval=300;
- // u8 dir=0;
- // u8 t=0;
- // delay_init(); //延时函数初始化
- // LED_Init(); //初始化与LED连接的硬件接口
- // KEY_Init(); //初始化与按键连接的硬件接口
- // LED0=0;
- // LED1=0; //点亮LED
- // TIM1_PWM_Init(899,0);//不分频。PWM频率=72000/(899+1)=80Khz
- // while(1)
- // {
- // t=KEY_Scan(0); //得到键值
- // switch(t)
- // {
- // case KEY0_PRES:
- // led0pwmval=led0pwmval-100;
- // dir=0;
- // break;
- // case KEY1_PRES:
- // led0pwmval=led0pwmval+100;
- // dir=0;
- // break;
- // default:
- // delay_ms(10);
- // }
- //
- // TIM_SetCompare1(TIM1,led0pwmval);
- // }
- u8 key;
- u8 t=0;
- u16 led0pwmval=0;
- u8 dir=0;
- delay_init(); //延时函数初始?
- LED_Init(); //初始化与LED连接的硬件接口
- LED0=0;
- TIM1_PWM_Init(600,0);//不分频。PWM频率=72000/(899+1)=80Khz
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
- uart_init(9600); //串口初始化为9600
-
- Remote_Init(); //红外接收初始化
- while(1)
- {
- key=Remote_Scan();
-
-
- switch(key)
- {
-
- case 104:led0pwmval=260;dir=0;break;
- case 152:led0pwmval=360;dir=0;break;
- case 176:led0pwmval=444;dir=0;break;
- case 48:led0pwmval=500;dir=0;break;
- case 24:led0pwmval=600;dir=0;break;
-
- }
- TIM_SetCompare1(TIM1,led0pwmval);
- }
- }
复制代码
所有资料51hei提供下载:
A 实验红外控制风速.rar
(286.42 KB, 下载次数: 16)
|