基于AT89C52单片机对遥控电扇的改造

发布者:WiseThinker最新更新时间:2018-04-06 来源: eefocus关键字:AT89C52  单片机  遥控电扇 手机看文章 扫描二维码
随时随地手机看文章

    传统电风扇多采用机械方式进行控制,功能少,噪音大,各档的风速变化大。随着科技的发展和人们生活水平的提高,家用电器产品趋向于自动化、智能化、环保化和人性化,使得由微机控制的智能电风扇得以出现。随着电子制造业的不断发展,社会对生产率的要求越来越高,各行业都需要精良高效、高可靠性的设备来满足要求。作为一种老式家电,电风扇具有价格便宜、摆放方便、体积轻巧等特点。由于大部分家庭消费水平的限制,电风扇作为一个成熟的家电行业的一员,在中小城市以及乡村将来一段时间内仍然会占有市场的大部分份额,但电风扇功能简单,不能满足智能化的要求。本文利用了单片机的红外控制功能,对电扇的控制结构进行了重新的设计,使得人在距离电扇10 m范围内就可以短程控制电扇,使得人不用走近电扇即可对电扇的风速进行调控,方便,实用,具有广阔的市场前景。

1 系统功能简介
    传统的电扇都是由机械按键来控制电扇的启停,本设计采用红外遥控进行控制,由一单片机作为发射电路的主控部分,根据传统的机械按键也设计了4个按键控制,分别是关闭,小风速,中档风速,高风速。用户可以在夏天的时候,坐在沙发上,就可以完成电扇的打开,关闭,高速,低速的调节。

2 系统结构
    该设计的系统的框图如图1所示。

a.jpg

    
    由图1我们可以看到该设计一共由6大模块构成,其中2个单片机AT89C52模块是相同的,他们分别是单片机的最小系统,具有单片机的最基本的启动和复位功能,其中按键部分完成按键功能,将0或者1的电平送给单片机进行处理,至于红外发送模块,功能就是把单片机编制好的红外编码发送出去,红外接收模块仅仅完成接收工作。后面的单片机模块完成对红外脉冲的解码,由不同的编码完成对电机的控制,也就相当于对电扇进行控制了。

3 系统硬件设计
3.1 遥控发射电路设计
    如图2所示,该图为红外遥控发射电路图。
    在图2中,单片机采用AT89C52,这是遥控电路的主芯片。ATMEL公司生产的AT89C52单片机采用高性能的静态80C51设计,并采用先进工艺制造,还带有非易失性的Flash程序存储器,它是一种高性能、低功耗的8位CMOS微处理芯片,市场应用最多。其主要性能特点如下:
    *8 kB FLASH ROM,可以擦除1 000次以上,数据保存10年。
    *256字节内部RAM。
    *电源控制模式:1)时钟可停止恢复2)空闲模式3)掉电模式。
    *6个中断源。
    *4个中断优先级。
    *4个8位I/O口。
    *全双工增强型UART。
    *3个16位定时/计数器:T0,T1(标准80C51)和增加的T2(捕获和比较)。


    *全静态工作方式:0~24 MHz。

b.jpg

 

    
    在单片机的右半部分,接有4个按键分别是S2,S3,S4,S5与单片机的P0口的0到3号端口相连。P0口在用作输入的时候,必须接有上拉电阻。在单片机的左半部分是最小系统模块和红外发射部分,遥控器的信息码由AT89C52单片机的定时器1中断产生40 kHz红外线方波信号,由P3.5口输出,经过三极管9013放大,由红外线发射管发送。改变电阻R3的大小可以改变发射距离。
3.2 红外遥控接收电路设计
    如图3所示,该图为红外遥控接收电路图。
    如图3所示,单片机的左半部分是万能红外接收头IR1838,其管脚1为输出,管脚2,3分别是接地和电源的输入,电源电压仍然为5 V,左半部分的单片机的最小系统完成的是单片机的复位功能和启停,右半部分电路是由一个DAC0808芯片构成,该芯片输出与一个放大器相连,通过放大后将电压加在直流电机的两端,从而驱动了电机的工作。关于DAC0808它的主要参数为,误差最大,快速建立时间为150 ns,高速输入乘以转换率为:8 mA/μs,电源电压为±4.5~±18 V到,该芯片为低功耗的,最大功耗为33 mW。该DAC是8位的,也就意味着输入的范围为0到255,输出的电压从0~10 V变化的,这样最小精度为10/255 V,但是经过一个集成放大器后,也就能驱动一个小小的电动机了。

4 系统软件设计
4.1 红外发射和接收原理
    先讲一讲什么是红外线。我们知道,人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~O.46μm。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。
    常用的红外遥控系统一般分发射和接收2个部分。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量使用的红外发光二极管发出的红外线波长为940 nm左右,外形与普通发光二极管相同,只是颜色不同。红外发光二极管一般有黑色、深蓝、透明3种颜色。判断红外发光二极管好坏的办法与判断普通二极管一样:用万用表电阻挡量一下红外发光二极管的正、反向电阻即可。红外发光二极管的发光效率要用专门的仪器才能精确测定,而业余条件下只能用拉距法来粗略判定。
    接收部分的红外接收管是一种光敏二极管。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外接收二极管一般有圆形和方形两种。
    由于红外发光二极管的发射功率一般都较小(100 mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。前些年常用μPC1373H、CX20106A等红外接收专用放大电路。最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有3只引脚,即电源正(VDD)、电源(GND)和数据输出(VO或OUT)。红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管.非常方便。但在使用时注意成品红外接收头的载波频率。红外遥控常用的载波频率为38 kHz,这是由发射端所使用的455 kHz晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455 kHz÷12≈37.9kHz≈38kHz。也有一些遥控系统采用36kHz、40 kHz、56 kHz等,一般由发射端晶振的振荡频率来决定。在本系统的中采用的是40 kHz的红外发射波,接收装置采用的是万能红外接收头IR1838。


4.2 遥控码的编码格式
    遥控码采用脉冲,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为17个脉冲。
    为了使接收可靠,第一位码宽为3 ms,其余为1 ms,遥控码数据帧间隔大于10 ms,其编码波形如图4所示。

c.jpg


    如图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 单片机红外发送和接收程序
    由于程序较长,所以在本设计中只给出部分的核心的红外发送和接收程序。关于红外的发送程序如下:
d.jpg
e.jpg


    如上面程序所示发送函数是固定不变的,在发送函数中完成了编码的功能,在tx函数中,用到了一个swiCCh开关语句,分别对按键值的不同进行处理,例如当keyvol=2的时候,就发送3个脉冲信号。
    关于单片机的红外接收解码过程,其核心程序如下:
f.jpg
    由面的解码程序可以知道,用到了一个中断接收的程序,其中remotein为临时变量,解码时的关键在于对脉冲个数的计量,这样keyvol的值就能很方便的读出来,再用到一个switch语句就可以分别对风速进行控制了。

    5 结束语

    红外遥控的特点是不影响周边环境,不干扰其它电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。因此,现在红外遥控在家用电器、室内近距离(小于10 m)遥控中得到了广泛的应用。

    在本设计中,利用2个单片机就可以实现短距离的控制,实际上其本质就是利用红外进行通信,并把通信的结果进行处理,反馈到最终的形式就是电扇风速的不同。另外本设计还可以进行改进的,比如我们在考虑单片机的功耗时,因为用于红外接收的那个单片机在风扇停止工作的时候,单片机如果仍在工作,那么势必增加了系统的功耗,所以为了降低功耗,在用于红外接收的那个单片机中,应该添加一个待机模式,这样就大大降低了功耗,节省了能源,当有外部中断来的时候,才唤醒单片机,让它处于工作状态,这样就达到低功耗的目的了。此外,若能在接收端加上一个测温系统,并把实时温度显示出来,用户根据目前环境的温度来对电扇进行操作,那就更好了。

    经Proteus电路仿真验证后,该系统运行良好,单片机的遥控电扇工作起来可靠性较高,用户可以在几米远的地方,就可以对电扇进行实时控制了。该系统成本低廉,操作简单,随时可以根据软件编写新的功能。操作按键可扩展性强,只要稍加改变,就可以增加几个按键的功能,本系统在当今提倡人性化设计和健康产品的环境下具有非常好的市场前景。


关键字:AT89C52  单片机  遥控电扇 引用地址:基于AT89C52单片机对遥控电扇的改造

上一篇:基于单片机控制的数控直流电流源设计
下一篇:基于C8051F040单片机的高精度电子承载平台平衡调整系统设计

推荐阅读最新更新时间:2024-03-16 15:59

德州仪器2009年度“MCU Day”即将启动
针对多种超低功耗、实时控制以及基于ARM® 的解决方案提供深入培训 德州仪器 (TI) 将于9月初相继在全球超过150个国家与地区启动堪称公司最大规模的全球性培训活动——MCU Day,此举将把在业界深受欢迎的“430 Day”进一步推向深入,同时加入更丰富的内容,为广大客户提供有关 TI 各种创新型、智能化、低能耗 MCU 解决方案系列的技术信息。MCU Day 是一项为期一天的免费技术培训活动,内容不仅涵盖 TI 各种微处理器 (MCU) 产品系列,如 MSP430™ 超低功耗 MCU、TMS320C2000™ 实时 MCU 、基于 ARM® Cortex-M3 的 Stellaris® MCU以及基于 ARM9
[单片机]
基于C8051F410单片机的血糖仪设计方案
血糖测量的电生物化学原理是当施加一定电压于经酶反应后的血液产生的电流会随着血液中的血糖浓度的增加而增加。通过精确测量出这些微弱电流,并根据电流值和血糖浓度的关系,反算出相应的浓度。所以,确定这个关系是问题的核心。但其关系复杂,受多方面因素影响。电压强度、所使用的试条以及检测的血液量都会对其产生影响。理论上需要在所有浓度点上大量实验才能确定最终的关系。在实际操作中,只需在选择若干重要浓度点做大量实验,然后采用曲线拟合或插值等数据处理方式来确定其与电流值之间的关系。 血糖测量通常采用电化学分析中的三电极体系。三电极体系是相对于传统的两电极体系而言,包括,工作电极(WE),参比电极(RE)和对电极(CE)。参比电极用来定点位零点,电
[单片机]
基于C8051F410<font color='red'>单片机</font>的血糖仪设计方案
89C51单片机的工作方式与工作原理
89C51单片机共有复位、程序执行、低功耗以及编程和校验等四种工作方式。 1.复位方式 (l)复位操作复位是单片机的初始化操作,其主要功能是把PC初始化为OOOOH,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。 除PC之外,复位操作还对其它一些特殊功能寄存器有影响,它们的复位状态如上表所示。 复位操作还对单片机的个别引脚信号有影响。例如在复位期间,ALE和信号变为无效状态,即ALE=LPSEN=1。(2)复位信号及其产生 ①复位信号 RST引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡脉冲周
[单片机]
89C51<font color='red'>单片机</font>的工作方式与工作原理
三星电子拿下IBM和意法半导体的微控制器订单
据报道,在全球芯片短缺没有减缓迹象的情况下,IBM公司和总部位于瑞士的意法半导体(STMicroelectronics)日前选择不再等待台积电制造的芯片,而是将代工订单交给三星电子。    三星向IBM供应的芯片将用于生产采用先进制造技术的新一代服务器。此外,这是意法半导体首次将其主要客户所需微控制器单元(MCU)的生产外包。这些采用16纳米制造工艺的微控制器将用于苹果公司的下一代iPhone。    三星电子上一次获得的微控制器订单是2017年荷兰恩智浦的订单。MCU被供应链瓶颈打击最为严重。据业内消息人士称,部分MCU订货交付时间长达40周。    考虑到微控制器广泛应用于各种系统和设备,本次三星赢得MCU订单使人们对三星进军
[半导体设计/制造]
【51单片机】利用烧录软件生成延时函数 入门学习
1.打开烧录软件 2.(1)找到延时计算器 (2)选择晶振(11.0592和12Mhz的情况下建议都选择12Mhz) (3)选择时间单位us 或者 ms 3、 (1)选择STC-Y1(该系列适用51单片机系列,具体看图中2) (2)生成代码 (3)复制代码到keil 4. 生成的代码并不能直接使用,还需要加上以下几句话 下文中延时时间的是Delay(1)=1ms 下图中可以看到,程序从19走到21,延时0.10080200s,误差几乎忽略不计。对于精度要求不高的延时计算已经够用了。 同时也能通过更改i,j的值进行微调。
[单片机]
【51<font color='red'>单片机</font>】利用烧录软件生成延时函数 入门学习
单片机进制转换
  一、正数   在高速发展的现代社会,计算机浩浩荡荡地成为了人们生活中不可缺少的一部分,帮助人们解决通信,联络,互动等各方面的问题。今天我就给大家讲讲与计算机有关的“进制转换”问题。   我们以(25.625)(十)为例讲解一下进制之间的转化问题。 1. 十 ----- 二   给你一个十进制,比如:6,如果将它转换成二进制数呢?   10进制数转换成二进制数,这是一个连续除2的过程:   把要转换的数,除以2,得到商和余数,   将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。   听起来有些糊涂?我们结合例子来说明。比如要转换6为二进制数。   “把要转换的数,除以2,得到商
[单片机]
基于51单片机控制的数字气压计设计与实现
1 引言 气压计是利用压敏元件将待测气压直接变换为容易检测、传输的电流或电压信号,然后再经过后续电路处理并进行实时显示的一种设备。其中的核心元件就是气压传感器,它在监视压力大小、控制压力变化以及物理参量的测量等方面起着重要作用。运用于气压计的气压传感器基本都是依靠不同高度时的气压变化来获取气压值的。 气象学研究表明,在垂直方向上气压随高度增加而降低。例如在低层,每上升100m?气压便降低10hPa;在5~6km的高空,高度每增加100m,气压便会降低7hPa;而当高度进一步增加时,即到9~10km的高空之后,高度每增加100m,气压便会降低5hPa;同样,若空气中有下降气流时,气压会增加;若空气中有上升气流时,作用于空气柱
[单片机]
基于51<font color='red'>单片机</font>控制的数字气压计设计与实现
单片机定时器设置的门铃
这是一个单片机定时器设置的门铃程序,附带源代码及文档,用定时器设计的门铃说明:按下按键时蜂鸣器发出叮咚的门铃声。 程序 /* 下载程序后按键K1按下就会触发蜂鸣器门铃“叮咚”响 */ #include reg52.h typedef unsigned char u8; typedef unsigned int u16; sbit beep=P1^5; sbit k1=P3^1; u8 ding,dong,flag,stop; u16 n; void delay(u16 i) { while(i--); } void time0init() //定时器0初始化 { TMOD=0X01; //
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved