要求
1、接收红外遥控指令
2、通过指令控制直流电机转速
3、将转速等级显示在数码管上
提示: 红外模块需要一个定时器(无需中断函数) 直流电机也需要一个定时器(需要中断函数)
效果
资源
工程文件压缩包 链接:https://pan.baidu.com/s/1Mj9yek156DhBQ6YqWyThrQ 提取码:8xlt
main函数
#include <REGX52.H>
#include "Nixie.h"
#include "Motor.h"
#include "IR.h"
void main(){
unsigned char Command,Speed;
Motor_Init();
IR_Init();
while(1){
if(IR_GetDataFlag())
{
Command=IR_GetCommand();
if(Command==IR_0){Speed=0;}
if(Command==IR_1){Speed=1;}
if(Command==IR_2){Speed=2;}
if(Command==IR_3){Speed=3;}
if(Speed==0){Motor_SetSpeed(0);}
if(Speed==1){Motor_SetSpeed(50);}
if(Speed==2){Motor_SetSpeed(75);}
if(Speed==3){Motor_SetSpeed(100);}
}
Num_Nixie(Speed,1);
}
}
|