微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于HT46RU232单片机的智能家居电话远程控制系统

基于HT46RU232单片机的智能家居电话远程控制系统

时间:10-28 来源:互联网 点击:

声音监听和语音提示都由PA4进行控制,监测家居环境的声音信号由安置在房间内的MIC 话筒产生,而语音信号由ISD2560语音芯片输出。当PA4为高电平时,三极管Q7截止,对声音信号和语音信号没有放大功能;当PA4为低电平时,三极管Q6、Q12导通,继电器K3动作,K3触头控制ISD2560 Q7的SP-接地,三极管Q7 导通,对信号有放大作用。通过电话线传输,此时用户在远处通过电话或手机就可实现对家居环境的监听或者自动语音提示。
ISD2560是高度集成的语音芯片,可录60 s的语音信息,只需外接少量的阻容元件即可进行录放音操作[5]。本系统采用了硬件方式录音,录音前先给A0~A9赋值,然后再开相应的端口就可以实现录音功能,录音结束芯片内部自动在该段的结束位置插入结束标志(EOM)。在系统运行过程中根据需要,从相应的录音地址中取出对应的语音信号进行播放,遇到EOM 标志即自动停止放音,从而引导用户进行下一步的操作。
需要注意的是,本程序中涉及的放音地址不是语音输入地址而是PB口给语音芯片送的地址。
2.4密码存储电路
本系统采用EEPROM存储密码。为了减小电路的体积及单片机I/O口,存储器采用了AT24C02串行EEPROM芯片。该芯片有2 KB的存储空间,当系统掉电后密码也不会丢失。密码存储电路如图5所示。

AT24C02 的1、2、3 脚是三条地址线,用于确定芯片的硬件地址。在与HT46RU232连接时全部接地,第8脚和第4 脚分别为正、负电源。第5脚DATA为串行数据输入/输出,数据通过这条双向I2C串行总线与单片机的PC4进行数据传送。第6脚CLK为串行时钟输入线,与单片机的PC3连接。DATA 和CLK都需外接一个10 k?赘的上拉电阻才能正常工作。可通过软件编程对密码进行存储和修改[6]。
2.5 DTMF 检测电路
  DTMF检测电路是整个系统的关键部分,其工作情况直接决定了系统的可靠性。DTMF编解码方式在电话拨号系统中应用非常广泛,其突出的优点是抗干扰能力很强。本系统采用专用的双音频解码集成芯片MT8870[7],其电路如图6所示。图中,PA5 为单片机的中断引脚,当MT8870 接收来自电话线的双音多频信号并准备好输出时,产生中断信号。MT8870的2、3 脚接收来自电话机的双音多频脉冲信号,该信号先经其内部的拨号音滤波器和滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高、低音频信号分开,再经高、低群滤波器,幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端(11~14脚)输出相对应的8421 码。MT8870 的数据输出端Q1~Q4连到单片机的PA0~PA3口线上,由单片机识别出4 位代码。

需要注意,为了使单片机获取有效数据,MT8870 的STD 有效端经反相后接CPU 的引脚INT。当MT8870获取有效双音多频信号后,STD 电平由低变高,再反相为低,CPU 检测后,指示PA 口从Q1~Q4接收有效二进制代码。而无效的双音频信号(电话线路杂音、人们的语音信号等)是不会引起MT8870的STD端变化的。
2.6 继电器控制电路
本系统采用继电器来控制家用电器的开关。单片机的PD0和PD1输出低电平控制两路继电器,从而控制两路家电,如空调和电饭煲。根据需要,还可设定延时开、延时关的功能。电器控制电路如图7所示。若采用译码器进行扩展,可控制更多路的家电。

3 软件设计
为提高控制系统的可靠性、可维护性和编程效率性,控制系统的软件采用模块化结构,用C语言编写。在硬件的基础上,智能型电话遥控器的所有功能都由软件实现,通过软件编程可以控制电器的开关、延时开关、声音监听及语音提示等。软件模块包括振铃检测、模拟摘机、语音提示、密码存储、MT8870中断等[8]。图8为系统软件流程图。由于篇幅所限,下面只给出MT8870中断程序部分。

/************MT8870中断**************/
#pragma vector isr_int @ 0x004
void isr_int(void)
{
uchar i,k;
k=0;
j=0;
dat=_pa;
dat=dat0x0f;
if (allow == 1)
{
function();
}
if (allow == 0)
{
GRingCount++;
if (GRingCount 7)
{
if (dat == 10)
{
data1[GRingCount-1] = 0;
} else
{
data1[GRingCount-1] = dat;
}
} else {
if (dat == 0x0c)
{
for (i = 0; i 6; i++)
{
if (ucGpassward[i] == data1[i])
{
k++;
_nop();
}
}
if (k==6)
{
allow=1;
GRingCount=0;
i=0;
k=0; //密码输入正确
ISDPlay(5);
//调第6段放音程序,提示进行下一步操作
} else
{
allow=0;
i=0;
k=0;
GRingCount=0;
j++;
if (j3)
{
ISDPlay(1);
//调第2段放音程序,提示密码输入错误
}
if (j >= 3)
{
Holdon=1;
j=0;
} //密码输入错误三次则挂机
}
}
测试结果表明,本系统能够通过任一部电话、手机对家用电器进行远程遥控,实现了密码存储、修改及家居环境声音监听等功能,系统工作正常。
本文介绍的智能家居控制系统,充分利用现有电话网络的特点,不需专门布线,不占用无线电频率资源,不受距离和环境影响,节约了成本。采用了高性价比的HT46RU232单片机,与传统的80C51单片机相比,更具有竞争优势;系统具有远程家电控制、工作状态查询、环境声音监听等多项功能,操作过程需要验证密码,较好地避免了电话正常使用时对家用电器的误操作,可以让家居生活更加舒适、安全、高效。系统略作改进,也可适用于生活小区、工业企业等不同环境的监控管理,因此具有较高的实用性和推广价值。
参考文献
[1] 蒋昊,李哲英,蒋大明.基于电话交换机的远程家电控制系统[J].微计算机信息,2007,23(8-2):267-269.
[2] 钟启仁.HT46XX单片机原理与实践[M]. 北京:北京航空航天大学出版社,2008.
[3] HT46RU232八位单片机. http://www.holtek.com.cn/china/docum/uc/46x232.htm,2009-12-05.
[4] 刘芬,杨继生.智能电话网远程家电控制系统的设计[J]. 微型机与应用,2010(1):34-36.
[5] 程广才,蒋小松.ISD系列语音芯片的特性及应用[M].北京:电子工业出版社,2006.
[6] 张鹏. HOLTEK HT46系列单片机C语言实例教程[M].北京:北京邮电大学出版社,2010.
[7] 张庆龙. 单片机控制与网络传输应用[M]. 北京:中国电力出版社,2007.
[8] 王明秋.智能家居控制系统的设计与实现研究[D].武汉:华中师范大学,2006.

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

网站地图

Top