微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AT89C52单片机的遥控电扇

基于AT89C52单片机的遥控电扇

时间:06-14 来源:互联网 点击:

如图4所示,当某个操作键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成40 kHz的方波由红外线发射管发射出去。在上述的发射电路中,一共设置了4个按键,其中S2,S3,S4,S5的编码分别是电器码2,3,4,5,对于发射电路,每发送一个数据帧最短的时间间隔是10 ms。例如在按下S4时,即先发送3 ms的前导码,随后再发送5个1 ms的脉冲,就表示按键S4被按下了,单片机红外接收电路在接收到一串串脉冲之后,通过软件完成对红外的解码,通过设置,每个编码对应于电动机不同的操作,比如2这个编码,那么单片机的P0口输出00000000,再经过DAC0808之后,输出电压为0,这样电动机就可以停止工作了。类似的编码3,4,5分别对应直流电机的低速,中速和高速的操作。
4.3 单片机红外发送和接收程序
由于程序较长,所以在本设计中只给出部分的核心的红外发送和接收程序。关于红外的发送程序如下:


如上面程序所示发送函数是固定不变的,在发送函数中完成了编码的功能,在tx函数中,用到了一个swicch开关语句,分别对按键值的不同进行处理,例如当keyvol=2的时候,就发送3个脉冲信号。
关于单片机的红外接收解码过程,其核心程序如下:

由面的解码程序可以知道,用到了一个中断接收的程序,其中remotein为临时变量,解码时的关键在于对脉冲个数的计量,这样keyvol的值就能很方便的读出来,再用到一个switch语句就可以分别对风速进行控制了。

5 结束语
红外遥控的特点是不影响周边环境,不干扰其它电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。因此,现在红外遥控在家用电器、室内近距离(小于10 m)遥控中得到了广泛的应用。
在本设计中,利用2个单片机就可以实现短距离的控制,实际上其本质就是利用红外进行通信,并把通信的结果进行处理,反馈到最终的形式就是电扇风速的不同。另外本设计还可以进行改进的,比如我们在考虑单片机的功耗时,因为用于红外接收的那个单片机在风扇停止工作的时候,单片机如果仍在工作,那么势必增加了系统的功耗,所以为了降低功耗,在用于红外接收的那个单片机中,应该添加一个待机模式,这样就大大降低了功耗,节省了能源,当有外部中断来的时候,才唤醒单片机,让它处于工作状态,这样就达到低功耗的目的了。此外,若能在接收端加上一个测温系统,并把实时温度显示出来,用户根据目前环境的温度来对电扇进行操作,那就更好了。
经Proteus电路仿真验证后,该系统运行良好,单片机的遥控电扇工作起来可靠性较高,用户可以在几米远的地方,就可以对电扇进行实时控制了。该系统成本低廉,操作简单,随时可以根据软件编写新的功能。操作按键可扩展性强,只要稍加改变,就可以增加几个按键的功能,本系统在当今提倡人性化设计和健康产品的环境下具有非常好的市场前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top