1.题目要求
我们在第九章第2讲第一个例程“按键控制舵机桨”的基础上,实现用红外遥控器的前三行按键控制舵机桨停留在我们想要的位置,这样就实现了无线遥控控制机械结构运动的简单功能。
2.main.c测试代码
#include #include #include #include sbit PWMOUT=P1^7; u8 highval = 10; void main() { LED_Init(); //初始化LED硬件模块 EA = 1; InitInfrared(); //初始化红外接收功能 TIM0_Init(100,34); //定时0.1ms,舵机专用,34是微调使定时精度更高,每次微调都由中断函数里的内容而决定 ShowNumber(highval); while (1) { if (irflag) //接收到红外数据时刷新显示 { irflag = 0; //以下是遥控器第一行按键 if(ircode[2]==0x45)highval=5; if(ircode[2]==0x46)highval=7; if(ircode[2]==0x47)highval=10; //以下是遥控器第二行按键 if(ircode[2]==0x44)highval=12; if(ircode[2]==0x40)highval=14; if(ircode[2]==0x43)highval=16; //以下是遥控器第三行按键 if(ircode[2]==0x07)highval=19; if(ircode[2]==0x15)highval=22; if(ircode[2]==0x09)highval=24; ShowNumber(highval); } } } void TIM0_IRQHandler() interrupt 1 { static u8 pwm=0; TH0 = T0RH; //重新加载重载值 TL0 = T0RL; pwm++; if(pwm>=200)pwm=0; //pwm在0~199之间间隔0.1ms变化,周期为20ms if(pwm%10==0)SEG_Scan(); //间隔1ms刷新数码管 if(pwm }
上一篇:51单片机-电位器控制舵机
下一篇:51单片机-温度传感器与串口
推荐阅读最新更新时间:2024-11-10 09:11
设计资源 培训 开发板 精华推荐
- 2.0!ATMEGA32U4 开发板 验证板 最小系统板
- TEA1936XDB1463-多标准45W移动充电
- 使用 Allegro MicroSystems 的 A8501 的参考设计
- L7885C输出稳压电路的典型应用
- PCF2127 TCXO RTC 的计时、CLKOUT、电源管理、时间戳、电池连接和外部设备应用的供电
- LT3496EUFD 演示电路,升压或降压-升压模式三路输出 LED 驱动器 @ 200mA/通道
- 使用 LTC4162EUFD-LAD 1 节 USB 供电充电器和 PowerPath 的典型应用
- 雷电USB4开源示波器:4通道,带宽350MHz,采样率1Gsps,上位机支持Windows和Linux
- 使用 Sanken Electric Co., Ltd 的 SPF5003 的参考设计
- LTC3621IMS8E-5 1.2Vout、强制连续模式、1MHz 同步降压稳压器的典型应用