本实验通过红外接收头接收数据,通过51单片机对接收到的数据处理,改变由定时器产生的pwm信号的占空比,来对电机进行调速。
单片机是如何接收红外信号红外信号由发射装置产生,接收装置接收。红外发射装置又可由键盘电路、红外编码芯片、电源和红外发射电路组成。红外接收设备可由红外接收电路、红外解码芯片、电源和应用电路组成。通常为了使信号更好的被发射端发送出去,经常会将二进制数据信号调制成为脉冲信号,通过红外发射管发射。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。
红外发射电路的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。为了提高抗干扰性能和降低电源消耗,红外遥控器常用载波的方式传送二进制编码,常用的载波频率为38kHz,这是由发射端所使用的455kHz晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9kHz≈38kHz。也有一些遥控系统采用36kHz、40 kHz、56 kHz等,一般由发射端晶振的振荡频率来决定。所以,通常的红外遥控器是将遥控信号(二进制脉冲码)调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去的。
实验中采用了集成的红外发射器,集成了键盘电路、红外编码、电源及其发射装置。
接收装置类似一个三极管,集成了红外接收电路、红外解码芯片、电源和应用电路,采用单总线通信方式,数据结构符合NEC协议,数据码由引导码,地址码,地址反码,命令码以及命令反码构成。
NEC功能特点包含:1.地址码与地址反码,以及命令码与命令反码,具有数据校验作用,增强结果的准确性
2.脉冲距离调制,调制占空比
3.载波频率38KHZ
4.逻辑位时间为逻辑0:1.125ms或逻辑1:2.25ms
5.发送的信号与接收到的信号是反向的
PWM脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制。
pwm的频率:是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期);
也就是说一秒钟PWM有多少个周期
PWM占空比:是指一个周期内高电平时间和总时间的比值。
小编的理解就是高低电平之间已一定的时间进行转化,通过改变占空比来平均电压的大小,就是将数字信号转化为模拟信号。
程序部分
#includeextern unsigned char Compare; unsigned char Counter; void Timer1Init() { TMOD|=0x10;//选择为定时器1模式,工作方式1,仅用TR1打开启动。 TH1=0xff; //给定时器赋初值,定时100us TL1=0x9c; ET1=1;//打开定时器1中断允许 EA=1;//打开总中断 TR1=1;//打开定时器 } void Timer1() interrupt 3 { TH1=0xff; //给定时器赋初值,定时100us TL1=0x9c; Counter++; Counter%=100; //计数值变化范围限制在0~99 if(Counter Compare是调节占空比,Counter计数到99时为一个周期,当Compare的值大于Counter输出高电平,小于则输出低电平,我们只需要改变Compare的值就能改变不同的占空比。
代码链接:https://gitee.com/lighting-master-one/test/tree/master/51/%E7%BA%A2%E5%A4%96%E6%8E%A7%E5%88%B6%E7%94%B5%E6%9C%BA%E8%B0%83%E9%80%9Fhttps://gitee.com/lighting-master-one/test/tree/master/51/%E7%BA%A2%E5%A4%96%E6%8E%A7%E5%88%B6%E7%94%B5%E6%9C%BA%E8%B0%83%E9%80%9F
视频链接: 51红外控制电机调速_哔哩哔哩_bilibili



