用AT89C2051实现电话远程控制家用电器

摘要:随着电话和家用电器的普及,越来越多的人希望能用电话来控制家电。本文采用at89c2051单片机,配合新型的dtmf解码芯片和语音电路,成功实现了电话对家用电器的控制。

  关键词:at89c2051 mc145436 isd33060 电话遥控

  1 主要芯片简介

  (1)at89c2051

  at89c2051是atmel公司生产的与mcs-51系列兼容的单片机。内含:2k字节flash eeprom、128字节ram、15根i/o引线、2个16位定时器/计数器、1个五向量两级中断结构,1个全双工串行口、1个精密模拟比较器等,其引脚如图1所示。

  (2)mc15436

  mc145436是motorola公司生产的dtmf(双音多频)解码器,负责将dtmf信号转变为二进制数字信号,其引脚如图2所示。7脚(ain)为信号输入端;2、1、14、13脚d1、d2、d3、d4为解码输出端;12脚(dv)为输出数据有效端,当输入的dtmf信号经ic解码成功后该脚转变为高电平;3脚(en)为解码输出控制端;6脚(xen)为clk信号控制端。

  (3)isd33060

  isd33060是isd公司的第3代3v的单片语音ic,其引脚如图3所示。

  该芯片总存储时间达60s,其与外部微处理器的接口采用spi(serial peripheral interface)串行外设接口或msi(mircowire serial interface)微传输线串行接口,isd33060的录放音时间可任意进行分段,每段最短长度为150ms。

  使用spi接口协议时,主要用到5条控制线:

  ①1脚(ss)--芯片选择输入端,低电平有效;

  ②2脚(mosi)--串行数据输入端,isd芯片从该脚接收来自单片机的控制命令数据;

  ③3脚(miso)--串行数据输出端,单片机从该脚获得iso的返回数据;

  ④28脚(sclk)--spi接口串行时钟输入,用于同步数据的传送;

  ⑤25脚(int)--当语音放结束或录放音溢出时,该脚变低电平,在下一个spi周期开始时,该信号被清除并返回高电平。

  2 硬件原理图

  硬件原理如图4所示。上电后单片机在不断查询p1.4脚。无来电时,p1.4呈高电平,当有铃流来到时,光电耦合器pc817导通,p1.4呈现低电平。单片机检测到p1.4的低电平后,为了防止正常来电话本装置过快动作,先延时一段时间(这里初定为7s),然后再查询有无铃流存在,如没有,继续进入查询状态;如还有,则p3.7输出高电平,驱动9012导通,继电器j动作,接通线路。这时p1.5、p1.6、p1.7、p3.0、p3.1发出配合信号,启动语音电路isd33060,通过13脚audout端发出语音提示:"请输入密码,以#字结束"。用户听到提示后,通过电话发出dtmf密码信号,此信号通过c1进入mc145436的ain脚,经内部解码得到4位二进制信号从d1~d4脚输出;同时dv端输出高电平,单片机不断查询p3.2脚,将密码信号从p1.0~p1.3端输入,检测到"#"字信号即0ch后说明已输入完密码,然后判断密码是否正确。不正确,可输入3次,3次再不正确就结束。如正确,则isd33060再发语音提示:"请选择:1开灯,2关灯,3开空调,4关空调,5开总闸,6关总闸,7改密码,8退出"(这里初定只对灯具、空调和总闸进行控制,也可改为控制其它电器)。单片机再通过mc145436接收控制选择,如想开空调,则用户发出信号3,单片机p3.4送出高电平,控制固态继电器ssr2动态,使空调运转;如想退出,则用户通过电话按8,单片机p3.7送出低电平,9012截止,j切断线路。每次可进行多个电器的控制。

  • 用AT89C2051实现电话远程控制家用电器已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计