系统中选择的是51 系列的AT89C51芯片,AT89C51是一种带4k字节闪烁可编程可擦除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8 位微处理器,俗称单片机。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。由于将多功能8 位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51 是一个低功耗高性能单片机,40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含2 个外中断口,2 个16 位可编程定时计数器,2 个全双工串行通信口,AT89C51 可以按照常规方法进行编程,也可以在线编程。
红外发射电路模块:单片机发出的信号如何被红外发射管识别,发射管能否正常发射红外信号是发射电路要解决的关键问题。要发射红外信号,必须要有红外发射器件。红外发光二极管是一种能产生红外光的发光二极管,目前大量使用的红外发光二极管发出的红外线波长为940nm 左右,外形与普通发光二极管相同,只是颜色不同。常见的红外发射二极管有黑色,透明色,它与普通发光二极管的最大区别在于所发出的光为不可见光,而普通发光二极管发出的是各种颜色的可见光,通常,红外发光二极管分为两种结构形式:一种是遥控发射型红外发光二极管(即最常用的手持遥控器所用的红外发射二极管);一种是近距离发射型红外发光二极管,这种二极管把红外光的发射与接收共集为一体。由于本设计实现的是家居遥控,因此采用第一种即可。
如图所示为系统遥控发射原理图,P1.0 口为按键输入口;P2.0 口为红外发射端口,用于输出38kHz 载波编码,脉冲经9013(NPN)放大然后由红外发射管输出;第9 脚为单片机的复位脚,采用RC 手动复位电路;18、19 脚接晶振。
红外接收电路模块:接收电路和调光电路的实现均是通过继电器实现的,给每一个继电器串联一个电阻,构成一个回路,本电路将四个继电器回路并联,连接在P0 口上,当四个继电器均闭合时,灯最亮,当三个继电器工作时,灯较亮,当两个继电器工作时灯次亮,当一个继电器工作时,灯最暗,当四个继电器都不工作时,灯泡处于关闭状态。接收电路图如图6所示:
所用的红外线接收器SM0038 的解调中心频率为38KHz,故发射频率也采用38kHz,本电路采用一路按键,一种编码方式实现对电路的控制,接收端根据接收到的不同编码个数实现灯的不同亮度的调节控制。每一次P1.0 口为低电平时,则确定键被按下,由P2.0 口发射一个编码。接收端接收编码时进行判断,首个低电平是否大于2ms,如果是,再判断是否是正确的编码,如果是,num加1,亮度调暗一档。本设计最大的难点是如何实现红外信号的发射与接收,为了减少电路的繁琐,可以使用单片机来实现软件编码解码,能大大提高电路的灵活性,降低了成本,仅仅使用一个键就能实现对一个灯具的开关和亮度调节,若是把一个按键开关改设成一个矩阵键盘,就可以实现对整个家里的灯具的开关和亮度控制,实用性很强。