基于PSTNDTMF的家用电器远程控制系统.docx
《基于PSTNDTMF的家用电器远程控制系统.docx》由会员分享,可在线阅读,更多相关《基于PSTNDTMF的家用电器远程控制系统.docx(25页珍藏版)》请在冰豆网上搜索。
基于PSTNDTMF的家用电器远程控制系统
目录
第1节引言………………………………………………………………………………3
1.1家电控制系统概述………………………………………………………………3
1.2本设计任务和主要内容…………………………………………………………4
第2节系统主要硬件电路设计…………………………………………………………5
2.1单片机控制系统原理……………………………………………………………5
2.2单片机主机系统电路……………………………………………………………6
2.2.1时钟电路…………………………………………………………………6
2.2.2复位电路…………………………………………………………………7
2.2.3系统扩展电路……………………………………………………………7
2.3DTMF解码电路………………………………………………………………9
2.4振铃检测与模拟摘挂机电路………………………………………………12
2.5语音提示电路………………………………………………………………14
2.6来电显示电路………………………………………………………………16
2.7家电控制电路………………………………………………………………17
2.8日历及时间显示……………………………………………………………17
第3节系统软件设计…………………………………………………………………19
3.1系统主程序设计………………………………………………………………19
3.2DTMF检测及状态控制子程序………………………………………………20
3.3定时中断子程序………………………………………………………………20
第四节结束语……………………………………………………………………………22
参考文献……………………………………………………………………………………23
基于PSTN&DTMF的家用电器远程控制系统
数理与信息工程学院04电信刘邹
指导教师:
余水宝
第1节引言
本设计介绍了一种以单片机AT89C51为主控制器和DTMF(双音多频)解码电路芯片MT8880为核心,通过PSTN(PublicSwitchedTelephoneNetwork,公众电话网)以及ISD1420语音电路实现对家用电器的远程多路智能控制系统。
该系统实用、功能灵活多样,可以对被遥控对象的状态进行查询以及控制,可以广泛地应用于家用电器或者其他场所的各种控制设备。
在此基础上,增设了高分辨率(128×64)大屏幕LCD实时显示系统各种状态,同时显示日期和时间;增设了各种状态下所需操作的语音提示;增设了来电显示电话号码功能,并对系统机械结构进行了优化设计,整体性好,人性化强、可靠性高。
1.1家电控制系统概述
随着生活水平的不断提高,人们希望有一种自动化、智能化程度高的控制系统对所有的家用电器能实施远程控制。
目前,随着电话和家用电器的普及,借助电话来进行各种设备的远程控制显得越来越方便和实用。
为此,我们设计开发了一种低成本电话远程控制器,使用户通过电话可以随时随地完成对远程电器设备的电源开关的控制。
本设计介绍了一种基于PSTN(PublicSwitchedTelephoneNetwork,公众电话网)实现对家用电器的远程控制,通过固定电话或移动电话可以随时随地控制多种家用电器的开关和各种设定,诸如将空调提前升降温、电热水器提前预热等,应用前景相当广泛。
基于单片机的家电远程控制系统集单片机技术、电话通讯技术、语音技术于一体,可以远程的对家用电器实现相应的控制。
在设计的过程中采用模块化设计方法,将系统分主控单元、DTMF解码单元、语音单元、电话接口单元、控制单元。
主控单元以AT89C51为核心;DTMF解码单元以双音多频解码电路芯片MT8880为核心;语音单元以ISD1420为核心;电话接口单元以PH8809为核心。
该系统实用、功能灵活多样,可以对被遥控对象的状态进行查询以及控制,可以广泛地应用于家用电器或者其他场所的各种控制设备。
在此基础上,增设了高分辨率(128×64)大屏幕LCD实时显示系统各种状态,同时显示日期和时间;增设了各种状态下所需操作的语音提示;增设了来电显示电话号码功能,并对系统机械结构进行了优化设计,整体性好,人性化强、可靠性高。
1.2本设计任务和主要内容
本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:
单片机控制系统、DTMF解码电路、振铃检测电路、模拟摘挂机电路、语音信息提示电路、来电显示电路和家电控制电路等。
主要内容如下:
1单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。
它由单片机、时钟电路、复位电路等组成。
2DTMF解码电路采用MT8880双音多频解码芯片检测电话,实现双音多频信号的检测与发送。
3振铃检测电路在本系统中采用专用电话接口模块PH8809来实现对振铃信号的检测以及模拟摘挂机操作。
PH8809模块是专门用于研发、生产配套的完整电话接口功能模块,该模块具有成熟的电路设计,符合电信标准的双音频拨号指标。
4语音电路的作用是提示用户对控制器进行操作,即当用户通过固定电话网或移动电话网接通控制系统时,语音电路将提示用户输入密码、输入控制指令,对家电进行远程控制。
因此,语音电路所选用的芯片必须具备三种功能:
分段录音、放音、可寻址,根据这些功能要求,本系统选用美国ISD公司的ISD1420。
5来电显示电路采用DTMF解码电路中的MT8880检测来电号码传输给单片机,经过数据处理后再经显示电路显示电话号码。
本设计采用LCD(128×64)显示各种状态,并采用专用时钟芯片DS1302显示时间。
6家电控制电路使用分立式元件构成,包括一组继电器和保护二极管,AT89C51通过将IO口的相应位置1或清0,实现对继电器的开关状态的控制,从而实现控制家电的功能。
友好的人机界面、灵活的控制方式、优化的物理结构以及丰富的功能是本设计的亮点。
第2节系统主要硬件电路设计
2.1单片机控制系统原理
为了简化电路、降低成本、提高可靠性,本系统采用AT89C51作为主控制器,它是一款与MCS51完全兼容且内部自带有4KB的Flash存储器及256KBRAM单元的芯片,因此可以不需另外扩展EEPROM及静态RAM就可以实现所需功能。
除主控制器之外,还有振铃检测与模拟摘机电路、DTMF解码电路、语音提示电路、来点显示电路、家电控制电路。
图2-1单片机控制系统原理框图
电话远程控制器主要接收电话线上传来的控制家电的信息,译码后发出控制家电指令;通过各驱动模块,实现对电器进行开关等控制动作。
控制器采用AT89C51做主控单元,采用MY8880接收和发送经由电话线传输的DTMF信号。
语音模块采取ISD1420为主要器件。
控制器工作过程为:
当需要遥控家电时,拨打相应的电话号码,振铃检测电路检测铃流信号,当振铃次数达到预定次后(次数可以通过软件任意设定),摘挂机电路自动摘机并将摘机信号输入到单片机中,单片机接收到摘机信号后,启动语音电路发出提示音,提示输入密码,密码经MT8880接收电路接收并转换成二进制数,并由单片机进行验证,正确则提示输入控制键,控制键信号经双音多频接收电路解码后输入到单片机中,由单片机发出控制指令去,控制家电,从而完成一次遥控。
当需要遥控家用电器时,拨打相应的电话号码,振铃检测电路检测铃流信号,如果有人接听电话或振铃次数少于6次,对程控电话的使用不造成影响。
当电话无人接听或振铃次数达到6次后(次数可以通过软件任意设定),单片机启动语音提示电路发出提示音,询问是否进入家电控制模式,按“0”键否,挂机退出,按“1”键是。
若无人应答操作,摘挂机电路自动摘机进入控制状态并将摘机信号输入到单片机中,单片机接收到摘机信号后,首先启动来电显示电路显示来电号码,同时启动语音提示电路发出提示音,提示操作者输入密码或是退出(系统支持在线修改密码)。
输入的密码经DTMF接收,转换成二进制数并与事先存储在单片机中的密码比较,如果不相符,则语音提示密码错误,可再次重新输入,若三次密码错误则发提示音并自动挂机;如果密码相符则语音提示选择控制通道(按键1~8分别表示1~8号通道,分别控制8路电器)。
通道选择后,按下“1”键表示开启该路电器,并有语音提示“该路电器已经开启”,按下“0”键表示关断该路电器,有提示音“该路电器已经关闭”,按下“*”键则可挂机退出。
若超时则自动挂机(时间可由软件设定)。
2.2单片机主机系统电路
单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。
它由单片机、时钟电路、复位电路等组成。
为了简化电路、降低成本、提高可靠性,本系统采用AT89C51作为主控制器,它是一款与MCS51完全兼容且内部自带有4KB的Flash存储器及256KBRAM单元的芯片,因此可以不需另外扩展EEPROM及静态RAM就可以实现所需功能。
图2-2单片机主机系统图
2.2.1时钟电路
单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:
内部振荡和外部振荡。
MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图2-2所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。
图2-2中外接晶振以及电容C1和C2构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30P左右,晶振频率选12MHz。
2.2.2复位电路
为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。
单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。
复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H,SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。
复位操作有两种情况,即上电复位和手动(开关)复位。
本系统采用上电复位方式。
图2-2中R9和Cl组成上电复位电路,其值R取为1K,C取为22μF。
2.2.3系统扩展电路
74LS138用于扩展控制家用电器的继电器,以实现对家用电器的远程操作,这样节省了单片机的IO口,使系统的各功能得到充分发挥。
74LS573锁存器实现P0口地址数据复用,74LS573是一种低电平触发的三态锁存器,其引脚图如图2-3所示;其辑功能如表2-2所示。
系统电路图2-4所示。
图2-374LS573引脚
表2-174LS573引脚功能说明
表2-274LS573逻辑功能
图2-4单片机控制系统电路
2.3DTMF解码电路
DTMF双音多频信号解码电路是目前在按键电话(固定电话、移动电话)、程控交换机及无线通信设备中广泛应用的集成电路。
它包括DTMF发送器与DTMF接受器,前者主要应用于按键电话作双音频信号发送器,发送一组双音多频信号,从而实现音频拨号。
双音多频信号是一组由高频信号与低频信号叠加而成的组合信号,CCITT和我国国家标准都规定了电话键盘按键与双音多频信号的对应关系如表2-3所示。
表2-3电话拨号数字对应高低频率组合关系
当用户在电话机的键盘上输入密码或按下控制按钮后,这些信息均采用双音多频方式通过电话线发出。
DTMF解码电路的主要作用是接收从TEL0、TEL1输入的双音多频信号并将其转换成二进制编码,然后输至单片机进行数据处理,进而实现控制功能。
电话远程控制系统采用MITEL公司生产的MT8880作为DTMF信号的解码核心器件。
MT8880主要用于程控交换机、遥控、无线通信及通播系统,实现DTMF信号的分离滤波和译码功能,输出相应16种频率组合的四位并行二进制码。
MT8880具有拨号音抑制和模拟信号输入可调功能,所以在设计解码电路时,只需外加一些阻容元件即可。
MT8880引脚图如图2-5所示。
MT8880各频率对应的输出电平如表2-4所示。
图2-5MT8880引脚图
表2-4MT8880各频率对应的输出电平
本电路采用的是MT8880双音多频解码芯片,能实现双音多频信号(DTMF)的发送与接收。
发送DTMF信号时,信号从D0~D3经数据总线缓冲器送到发送数据寄存器,控制可编程行列计数器,经D/A转换合成DTMF信号,在音频突发开门控制和逻辑控制作用下,从8脚(TONE端)发出。
当接收DTMF信号时,模拟摘机后从TEL0、TEL1进入的双音多频信号经过耦合隔离变压器耦合入MT8880的输入脚IN-,DTMF信号经运放、拨号音滤波器、高频组及低频组分离带通滤波器送到数字算法与编码变换器进行确认,译成相应的4位二进制码,存入接收数据寄存器,需要时输出至数据总线,送入89C51的P1口。
其中输入脚IN-和增益选择端GS之间所接的反馈电阻R3可以调节运放的增益,CP为中断请求或电话信号音检测输出端,它与89C51的INT0引脚相连。
MT8880电路图如图2-6所示。
图2-6MT8880DTMF解码电路
模拟摘机后,双音多频信号经过隔离变压器耦合入MT8880输入脚。
该双音多频信号先经MT8880内部的拨号音滤波器滤除拨号音后,再经前置放大器送入双音滤波器,将双音频信号按高、低频率信号分开,又经过高、低频滤波器、幅度检测器送入译码电路,最后从MT8880的数据输出端输出相应的编码。
2.4振铃检测与模拟摘挂机电路
振铃信号检测的方法有很多种,如有的利用稳压二极管,当电路中的电压大于一定数值时,稳压二极管即可工作;有的利用光电耦合器来实现,还可以用振铃信号检测器来检测振铃信号。
在本系统中采用专用电话接口模块PH8809来实现对振铃信号的检测以及模拟摘挂机操作。
PH8809模拟电话接口模块是专门用于研制开发、生产配套的完整电话接口功能模块。
低功耗设计,杜绝元器件发热、延长器件寿命。
电子开关控制形式,稳定可靠,最适合单片机控制该模块具有成熟的电路设计,符合电信标准的双音频拨号指标。
模块内部自带多达5个信号输出输入接口,能够满足开发需要,且各种控制端口便于跟其他微处理器配套使用。
PH8809的功能描述如下:
1)专业设计的模拟电话接口电路;
2)标准DIP32P封装,体积小巧,适应所有开发、生产等应用场合;
3)自带振铃检测电路;
4)配置摘、挂机控制端口;
5)配置电话线断线检测端口;
6)配置语音信号输出、输入或者DTMF输出、输入各5个信号口;
7)独特开发设计的音量自动增益调节电路,满足不同环境使用;
8)配置测试输出端,用于微功耗直流电源提取或其它控制电路;
9)独特的低功耗设计,杜绝器件发热、负荷过重,延长使用寿命;
10)符合电信部门要求的DTMF频率指标;
PH8809电气指标:
1)工作频率:
300~3400Hz
2)环境温度:
-10℃~40℃相对湿度:
10%~95% 大气压力:
86~106kpa
3)环境噪音:
≤60dB(A)工作频率:
300~3400Hz
4)拨号指标:
低频群697、770、852、941Hz 高频群:
1209、1336、1477
Hz单一频率误差:
≤1.5%
5)电声特性:
发送和接收频响曲线符合GB/T15279-2002规定
6)模块工作电流:
≤1mA(+5V电压)
7)线路要求:
挂机电压:
>40V;振铃电压:
>交流60V
PH8809模块引脚说明如表2-5所示:
表2-5PH8809模块引脚说明
引脚
说明
引脚
说明
1
GND电源地
17
OUT1/INPUT1
2
PHONEA外接电话线输入A端
18
OUT2/INPUT2
3
NC 空脚
19
OUT3/INPUT3
4
PHONEB外接电话线输入B端
20
OUT4/INPUT4
5
NC空脚
21
OUT5/INPUT5
6
NC空脚
22
TEST 备用测试端
7
SW CPU摘、挂机控制端
23
TEST 备用测试端
8
GND电源地
24
RING振铃信号输出检测
9
NC空脚
25
VCC电源正5V
10
内部与11脚相连
26
TEST 备用测试端
11
JC外接降压电容
27
TEST 备用测试端
12
INPUT1-AGC
28
NC空脚
13
INPUT2-AGC
29
NC空脚
14
INPUT3-AGC
30
DXC电话线断线检测输出
15
INPUT4-AGC
31
NC空脚
16
INPUT5-AGC
32
VCC电源正5V
振铃检测与模拟摘挂机电路如图2-7所示。
图2-7振铃检测与模拟摘挂机电路
2.5语音提示电路
语音电路的作用是提示用户对控制器进行操作,即当用户通过固定电话网或移动电话网接通控制系统时,语音电路将提示用户输入密码,输入控制指令,对家电进行远程控制。
因此语音电路所选用的芯片必须具备三种功能:
分段录音、放音、可寻址。
根据这些功能要求,本系统选用美国ISD公司的ISD1420作为语音电路的核心芯片。
ISD1420录音电路通过开关控制录音控制端REC和地址线A0-A7,放音电路通过AT89C51的P口控制PLAYER放音。
ISD1420引脚图如图2-8所示。
图2-8ISD1420引脚图
ISD1420内置了若了干操作模式,可用最少的外围器件实现最多的功能。
操作模式也由地址端控制;当A7和A6都为1时,其它地址端置高就选择某个(或某几个)模式。
因为操作模式和直接寻址互相排斥。
操作模式可由微控制器,也可由硬件实现。
使用操作模式有两点注意:
1)所有操作最初都是从0地址,即存储空间的起始端开始。
后续操作根据所选用的模式可从其它的地址开始。
此外,A4模式中,当电路由录转为放时地址计数器复位为0,而由放转为录则不复位。
2)当控制信号(/PLAYL、/PLAYE或/REC)变低,同时A6和A7为高时,执行操作模式。
这种操作模式一直有效,除非控制信号再次由高变低,芯片重新锁存当前的地址/模式端电平,然后执行相应操作。
ISD1420操作模式如表2-6所示。
表2-6ISD1420操作模式
模式
功能
典型应用
可组合使用的模式
A0
信息检索
快进信息
A4
A1
删除EOM
要最后一条信息的结素处放置EOM
A3、A4
A2
循环
从0地址循环放音
A1
A3
连续寻址
录放连续的多段信息
A0、A1
ISD1420语音提示电路如图2-9所示。
图2-9语音提示电路如图
2.6来电显示电路
来电显示电路由电话号码检测电路与显示电路组成,当有电话接入时,DTMF解码电路检测到电话号码信号并将其转化成二进制,再输入给AT89C51进行数据处理,再输出到显示电路进行显示。
显示电路用LCD液晶显示屏(128×64)显示,LCD12864-12(黄色背光)是一款具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
LCD12864各引脚如表2-7所示。
表2-7LCD12864引脚图
管脚
名称
LEVEL
功能
1
VSS
0V
电源地
2
VDD
+5V
电源正极
3
V0
+5V
对比度调节
4
RS
H/L
数据/命令选择
5
R/W
H/L
读/写选择
6
E
H,H-L
模块使能端
7-14
DB0-DB7
H/L
双向数据口
15
PSB
H-L
H:
并行模式
L:
串行模式
16
NC
空脚
17
/RST
L
自带复位,可悬空
18
NC
空脚
19
LEDA
+5V
LED背光正极
20
LEDK
0V
LED背光负极
2.7家电控制电路
家电控制电路使用分立式元件构成,包括一组继电器和保护二极管,AT89C51通过将IO口的相应位置1或清0,实现对继电器的开关状态的控制,从而实现控制家电的功能。
2.8日历及时间显示
日历及时间主要采用的是实时时钟电路DS1302芯片,它是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,具有体积小、功耗低、接口容易、占用CPU的I/O口线少等主要特点,可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能,可作为实时时钟广泛应用于智能化仪器仪表中。
图2-10为DS1302与单片机的连接图。
图2-10DS1302与单片机的连接图
第3节系统软件设计
硬件平台结构一旦确定,大的功能框架即形成。
软件在硬件平台上构筑,完成各部分硬件的控制和协调。
系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。
因此,软件是本系统的灵魂。
软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。
同时,对软件进行全面测试也是检验错误排除故障的重要手段。
由于编程多涉及到数值运算,比较复杂,还有LCD的菜单界面设计都是需要多重选择判断,用我们平时常用的汇编语言编程是很难实现的,这里我们选用了移值性好、结构清晰、能进行复杂运算的C语言来实现编程。
3.1系统主程序设计
为了保证系统的可靠运行,必须要有良好的软件相配合,而且要有友好的人机对话功能,鉴于以上要求,该系统软件部分主要由主程序、中断子程序、延时子程序、提示音产生子程序等几大模块组成。
主程序流程图如图3-1所示。
图3-1软件总体流程图
主程序比较简单,初始化完成后,调用检测振铃程序,取得DTMF信号,并根据当前系统状态调用相应的子程序。
这里有六个基本的子程序供调用,分别对应系统的各种功能状态。
分别是语音提示子程序、来点显示子程序、时间显示子程序、设置子程序和控制家电子程序,挂机子程序等。
3.2DTMF检测及状态控制子程序
图3-2DTMF检测及状态控制子程序
由系统结构框图可以看出,家用电器通过AT89C51的IO口来控制。
控制电路的执行器件采用继电器,当单片机要实现对电器的控制时,由IO口发出控制信号并经过三极管放大后驱动继电器,从而控制了家用