C51单片机
红外遥控控制电机调速
一、代码展示
这次的代码与上次的基本相同,通过Timer0来实现定时,为IR.C函数调用判断接收到的
不同红外线信号的时长,再根据通信协议得到传输过来的数据,主函数调用IR.C中的函数
实现数据的读取判断,根据返回的Command的值来判断那个按键被按下,从而执行相应的指令。
将控制电机的程序模块化,在主函数中调用。
将配置Timer1定时器实现PWM脉冲宽度调制从而控制电机的转速的程序,
在motor.c中写好后,就可以main.c主程序中调用。配合红外遥控接收到的Command的值判断后
将speed调到不同的值,控制电机转速。再通过数码管显示出电机的转速。
最终实现红外遥控控制电机转速的功能。
代码详解请参考注释。
我的51单片机的学习到此也告以段落了。
之后学习C语言剩下的部分。争取开学前能学完,要是能再学点Java,就更好了。
32单片机的学习就丢给开学后的我吧。
二、涉及到的相关知识
(外部定时器中断配置
请结合上面的
代码注释理解)
|