欢迎来到专业的聚能秘书网平台! 工作总结 工作计划 心得体会 疫情防控 述职报告 思想汇报 教案设计 对照材料
当前位置:首页 > 教案设计 > 正文

基于AT89C51的红外遥控开关系统设计

时间:2022-10-25 08:30:08 浏览量:

红外线遥控具有结构简单、制作方便、成本低廉、抗干扰能力强、工作可靠性高等一系列优点,成为当今时代的主流,在日常生活中的应用越来越广泛。一般的家用电器都配有专用的红外遥控开关,但是也有一些没有遥控功能的电器,例如电风扇、电灯等。市场上一般遥控设备系统均采用专用的遥控编码及解码集成电路,具有制作简单等特点,但由于这些芯片价格较贵,功能键数及功能受到特定的限制,且相互之间采用的遥控编码格式互不兼容,所以各机型的遥控器通常只能针对各自的遥控对象而无法通用,应用范围受到限制。基于智能化家居生活的普及,能够对多个电器进行智能化控制的遥控系统需求越来越大。

本设计采用红外遥控技术与单片机技术相结合,设计出一种家用电器的红外遥控开关系统,将对多个电器的开关控制集中于一部遥控器上,实现智能化地控制多个电器的开关,并能实现定时关闭以及电器工作状态、定时时间的显示,方便用户了解电器的工作状态。

系统需求分析与整体设计

1需求分析

本系统中要实现的是对三种电器(风扇、电视机、电灯)的开关控制以及部分电器的定时关闭功能。在遥控发射电路中,由按键控制产生不同的信号,分别控制风扇不同挡位的开与关、电视开与关、电灯开与关、风扇定时关闭以及电视定时关闭功能。为了方便用户能够清楚知道所要控制电器的工作状态,系统中加入了工作状态指示模块和定时时间显示模块。

2整体设计

本设计分为硬件和软件两大部分。硬件电路部分由遥控发射电路、遥控接收电路与接口控制电路三大部分组成,其中遥控发射电路由矩阵键盘、指令编码器、红外驱动放大发射电路构成;遥控接收电路是由红外线接收器与单片机AT89C51组成,红外线接收器将信号接收,使之转变成电信号,经检波放大、滤波等恢复原来的指令脉冲,并把信号编码送入单片机AT89C51,AT89C51将接收到的信号编码进行识别,根据指令发出相应的控制信号,送往接口电路做出相应的处理;接口控制电路同样由单片机AT89C51控制,包含各个电器工作状态显示电路、开关控制电路以及定时时间显示电路。软件部分为汇编程序,在硬件电路基础上控制信号的接收、识别、判断和接口控制功能。整个系统工作框图如图1所示。

系统硬件电路设计

1遥控发射电路

遥控器的核心元器件就是编码芯片,本设计采用专用的红外遥控编码芯片M50462AP,M50462AP采用CMOS结构,功耗极低,工作电压范围宽(1.5~5.0V),它具有64组单键操作数据码和12条双键操作数据码,键输入端和键输出端构成8×8的矩阵键盘。其工作框图如图2所示。

M50462AP内部振荡电路与外接的晶振组成振荡器,产生频率455kHz的振荡信号,由时钟电路进行12分频得到38kHz的载波信号。一路用来形成时钟脉冲,使整个系统按照统一的时序工作;另一路送至调制器控制指令的载波。当遥控器有键被按下时,振荡电路起振,扫描信号发生器随即发出8路不同时序的扫描时序脉冲,依次对键盘矩阵进行扫描,监控编码器则由接收到的信号判断出被按键位置,并输出相应的编码至指令编码器重新编码,最后调制在38kHz载波上通过红外发送设备将指令发送出去。传送码经载波(38kHz)调制输出,可很大程度上降低发射功耗。

M50462AP发射器输出的控制信号(编码脉冲)主要由用户码和功能(数据)码构成。用户码和数据码统称传送码。传送码不是用电平的高低来表示“1”和“0”,而是采用PCM(脉冲位置调制)方式,按照脉冲的时间关系来区分“1”和“0”,定义“1”的脉冲周期为“0”的两倍。集成电路M50462AP的用户码为8位(C7-C0),其中C0-C3与C6、C7,在芯片出厂前已设定好,键数据码(D7-D0)中,低位3bit(D2-D0)由键输出端决定,中间3bit(D5-D3)由键输入端决定,高位2bit(D7D6)在单键操作时为“00”。传送码在通过OUT通道串行输出时,均按由低位(LSB)到高位(MSB)的顺序进行。

遥控发射电路的原理图如图3所示。

M50462AP中,/C4、/C5为用户码选择端子,电路中令/C4、/C5开路,相当于用户码的C4、C5位为0,从而构成01000111(47H)的用户码。工作时,5~12脚输出时序不同的键扫描脉冲,经过键盘矩阵适当选通后回送到13~20脚。M50462AP则根据13~20脚接收到的不同的键选信号进行编码和码值变化,得到遥控指令的功能码,结合用户码产生出16位的传送码。本设计中共用到8个按键,各个按键功能及对应功能码如表1所示。按键指令由23脚输出。23脚外接红外线驱动放大发射电路,它主要由驱动管和红外发射二级管组成,当23脚有指令码信号输出时,该信号经驱动管放大后,加至红外发射二极管上,这样遥控指令就以红外线的形式发射出去。

2红外接收电路

一体化红外接收头采用SM0038,其环氧树脂的封装结构具有红外滤波功能,可有效阻隔其他光线的干扰,内部具有光电检测和初级解码电路,接收到38kHz红外线信号时输出低电平,未接收到时输出TTL高电平。它的内部包括:红外光敏二极管、谐振电路、放大电路、解码器、滤波器等。它将红外线光信号转成电信号,经放大、整形、解调等步骤,最后还原成原来的脉冲编码信号输出,具有电路简单,灵敏度高,抗干扰性好等优点。红外接收电路如图4所示。

SM0038对外只有3个引脚:VCC、GND和1个脉冲信号输出引脚OUT,脉冲信号输出接单片机的中断输入引脚INT0,接收到红外线信号时引起单片机外部中断,进而接收遥控指令。

3接口控制电路

接口控制电路的主控芯片采用ATMEL公司的AT89C51,它是一个低功耗高性能8位单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,其将通用的微处理器和Flash存储器结合在一起,可有效地降低开发成本。

电器开关控制电路部分是通过单片机对继电器的闭合来实现的。继电器采用电磁式继电器,是用较小的电流去控制较大电流的一种“自动开关”。在继电器驱动时,继电器控制端线圈工作电流比较大,不能直接用单片机的I/O口驱动继电器,因此,在I/O口与继电器之间连接PNP三极管来作为继电器的驱动电路,各继电器与接收开关控制的电器的插座电路相连。定时时间显示单元电路采用4位LED共阳极数码管来完成,其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。LED数码管的显示方式有静态显示与动态显示两种方式,本设计中采用动态显示,即逐位扫描显示的方式。在每一瞬间只选通某一位显示段选码所对应的字符,如此轮流,使每位显示该位应显示的字符,并保持一段时间,通过视觉暂留效果,获得视觉稳定的显示状态。工作状态显示电路由单片机I/O口控制,通过驱动对应不同电器工作状态的发光二极管的亮灭来完成工作状态的指示。

(1)定时时间显示电路和工作状态指示电路

这两部分电路如图5所示。定时时间显示电路中,74LS138译码器来实现对4位LED数码管的位选和对74LS373锁存器的片选,P2.7接译码器的输入端C,P2.6接输入端B,P2.5接输入端A,Y0输出接74LS373的片选端,Y4接三极管Q1用于选中4位数码管第一位,Y5接三极管Q2用于选中数码管第二位,Y6接三极管Q3用于选中数码管第三位,Y7接三极Q4用于选中数码管第四位。P0口用于送出要显示的时间数据,P0.0-P0.7接D0-D7,74LS373输出端Q0-Q7接4位数码管的数据输入端A-DP。电器工作时间的定时主要是通过软件来实现,在执行相应程序的同时,在数码管上显示对应电器的定时时间。执行风扇定时功能时,定时30分钟,4位数码管前两位显示“30”;取消定时后,4位数码管前两位显示“00”;执行电视机定时功能时,定时30分钟,4位数码管后两位显示“30”;取消定时后,4位数码管后两位显示“00”。

工作状态指示电路中,单片机AT89C51的P1口的P1.0-P1.4口分别接5个发光二极管,用于分别显示三个电器的工作状态。P1.0口用于控制电视机工作时,通过置P1.0口为低电平,指示灯VD0亮,用于表示电视机工作;同样的原理,指示灯VD1亮表示风扇工作在1挡;指示灯VD2亮,表示风扇工作在2挡;指示灯VD3亮表示风扇工作在3挡;指示灯VD4亮表示电灯工作。工作指示灯的亮灭对应相应电器的工作状态。

(2)开关控制电路

开关控制电路通过P2.0-P2.4口控制:P2.0控制电视机开关,继电器开关与电视机的插座相连接;P2.1-P2.3控制风扇不同挡位(1/2/3)的开关,不同档位开关控制接入风扇工作电路的电阻的大小,从而改变风扇速度,这三个开关中在同一时间只能有一个是闭合的,这需要用软件来控制;P2.4控制电灯开关电路,继电器与电灯插座相连。P2口相应输出口置“0”时,相应的三极管导通,继电器开启,相应电器启动;P2口相应输出口置“1”时,相应的三极管截止,相应电器关闭。对于风扇来说,它的挡位控制开关控制其工作在不同档位,风扇的关闭则由软件来实现。风扇不同挡位的控制电路如图6所示,其中二极管的作用是保护晶体管9013,避免被继电器吸合、关断时产生的瞬时电压击穿。

系统软件设计

1主程序流程图

主程序的内容主要包括系统初始化、中断的设置和对风扇和电视机定时时间的循环显示,显示的内容由外部中断子程序根据按键的指令控制完成。主程序流程图如图7所示。

2外部中断子程序

当红外接收器接收到由遥控发射电路送来的指令时,引起AT89C51外部中断INT0,进入外部中断子程序。这部分主要完成按键的识别和进行相应的处理。开关控制以及工作指示灯的亮灭通过对相应的端口置高低电平来完成,风扇和电视机的定时关闭分别通过T0和T1定时器来进行。由于本系统中涉及到按键复用的情况,因此对复用功能的按键分别定义一个存储单元,根据该按键奇偶次按下时的状态设置其内容为“0”或“1”,使得中断子程序在判断完为该按键后,根据定义的存储单元的状态来判别此按键的不同功能。外部中断子程序流程图如图8所示。

结语

本系统能同时实现对多个家用电器的控制,并能实现定时关闭电器功能,其优点在于不但可以控制人们日常生活中常见的具有专用遥控器的电器,还可以控制其他没有配备专用遥控设备的电器。

推荐访问:遥控 开关 设计 系统 AT89C51

猜你喜欢