电话远程智能遥控系统.docx
- 文档编号:6059244
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:29
- 大小:202.22KB
电话远程智能遥控系统.docx
《电话远程智能遥控系统.docx》由会员分享,可在线阅读,更多相关《电话远程智能遥控系统.docx(29页珍藏版)》请在冰豆网上搜索。
电话远程智能遥控系统
目录
第1章总体设计5
第2章系统设计可行性分析6
2.1总体设计分析6
2.2硬件模块7
2.3软件模块7
第3章硬件单元电路设计9
3.1振铃检测电路9
3.2模拟摘挂机电路10
3.3双音频解码10
3.4信号音提示电路11
3.5电器控制电路12
第4章软件设计13
4.1信号音发声部分13
4.2密码检测部分16
4.3密码修改部分17
4.4控制电器部分19
4.5振铃计数部分21
第5章系统调试22
5.1整体调试22
5.2硬件单元电路22
5.3软件程序调试24
5.4联机在线调试27
第6章系统使用说明29
第7章系统功能扩展30
结论31
附录32
参考文献34
第1章总体设计
电化智能遥控器由单片机构成主控部分,进行主要的信息处理,接收外部操作指令形成各种控制信号,并完成对于各种信息的记录;接口电路提供单片机与电话外线的接口。
其中包括铃流检测、摘挂机控制、忙音检测、双音频DTMF识别,及语音提示电路。
语音提示电路是该作品重要组成部分。
为了降低本装置的造价,作品的提示音使用程序产生。
语音提示电路受单片机的控制产生相应的提示音提示,并通过反馈电路反馈至电话外线。
从而使操作者对电器的操作达到交互式,并能即时了解有关的信息;显示电路用于状态设置时的显示;控制部分即受控的终端,如前所述,可通过接驳不同的终端并对电话进行必要的改动从而达到功能的扩展。
这一点,可使产品达到系列化。
本系统的每一个接口电路(振铃检测、模拟摘挂机、语音反馈、双音频解码等)都具有很强的实用性。
本系统使用最简单的电路、最便宜的电路芯片实现了完善的功能。
本系统还有许多可以添加的功能,具有很强的市场前景。
本装置并联于电话机的两端,不会影响到电话机的正常使用。
用户通过异地的电话机拨通本装置所连接外线的电话号码,通过市局交换机向电话机发出振铃信号。
本装置如果检测到振铃五次,即五次响铃后无人接,自动摘机,进入密码检测,输入正确后选择被控制电器,然后输入开或关进行遥控电器,完成后返回。
第2章系统设计可行性分析
2.1总体设计分析
根据电话远程智能遥控系统的具体设计要求:
⑴通过电话网对异地的电器实现控制(开/关);
⑵控制器可以实现自动模拟摘挂机;
⑶控制器设置密码校验;
我设计此系统必须具有以下单元功能模块:
⑴铃音检测、计数;
⑵自动摘挂机;
⑶密码校验;
⑷在线修改密码;
⑸双音频信号解码;
⑹输入信息分析;
⑺控制电器开关;
⑻电器状态查询;
⑼忙音检测;
根据电话机和交换机发出的不同信号音以及电话线各种状态的不同要求,我结合实际情况对具体的单元功能模块作出软件或硬件上的不同分工,具体如下:
理论上交换机所发出的各种信号音都可以通过软件编程而识别,即通过单片机发出的脉冲信号来检测信号音单位时间内的脉冲个数计算出其频率,从而完成信号音识别。
但是从系统的可靠性和程序的结构设计上分析,我选择了硬件来解决振铃音检测、忙音检测、双音频信号解码等功能模块。
自动摘挂机和电器的控制必须使用具体硬件电路来实现。
振铃音计数、忙音计数、密码校验、在线修改密码、输入信息分析、电器状态查询等功能模块使用软件编程方式要比硬件电路简单的多,实现也很容易。
综上所述,我设计信号音检测、自动摘挂机、控制电器、双音频解码等功能模块使用硬件电路实现。
而信号音计数、密码校验、在线修改密码、信息分析、电器状态查询等功能模块使用软件编程完成。
2.2硬件模块
本作品使用了大量的硬件电路完成部分功能模块,其目的就是充分利用硬件电路的可靠性、稳定性,使整体电路达到比较高的稳定性。
2.2.1自动摘挂机
因为程控电话交换机对电话摘机的响应是电话线回路电流突然变大为约30mA的电流,交换机检测到回路电流变大就认为电话机已经摘机。
自动摘挂机电路可以通过单片机控制一个继电器的开关,继电器的控制端连接一个大约300Ω的电阻接入电话线两端,从而完成模拟摘挂机。
2.2.2振铃音的检测
当用户被呼叫时,电话交换机发来铃流信号。
振铃为25±3伏的正弦波,谐铃失真不大于10%,电压有效值90±15V。
振铃以5秒为周期,即1秒送,4秒断。
根据振铃信号电压比较高的特点,可以先使用高压稳压二极管进行降压,然后输入至光电耦合器。
经过光耦的隔离转换,从光电耦合器输出的波形是时通时断的正弦波,经过RC回路进行滤波输出很标准的方波。
方波信号就可以直接输出至单片机的中断计数器输入口,完成整个振铃音检测和计数的过程。
2.2.3控制电器
此部分比较简单,通过单片机控制多路继电器的开关即可。
2.2.4双音频解码
此部分是整个系统的关键,它的工作情况直接决定了系统的可靠性。
经过翻阅资料,我发现使用电话专用的双音频编解码芯片进行输入双音频信号的解码,是比较常用的一种方法。
使用集成电路不但外围电路简单,而且可靠性强。
经过专用集成电路的解码,信号转换成为不同的码制信号,可以直接被单片机读取。
一般常用的电话双音频编解码集成电路有8870、8880、8888等,经过反复论证比较,我决定使用双音频解码集成片MT8870来完成此功能模块。
2.3软件模块
经过比较,我决定使用AT89C51作为控制的单片机芯片。
2.3.1信号音计数
本单元可以使用AT89C51的两个计数器的外部中断方式来实现对不同信号音的计数。
2.3.2密码检测
本单元可以在系统初始化的时候,在单片机内部的存储器的内部开辟一块空间放置密码。
当用户输入密码的时候,单片机把输入的密码写入另外的一块空间,然后利用减法运算比较两者是否相等。
这样就可以实现密码检测的功能。
2.3.3信号分析处理
本单元可以利用查表方式,也可以用简单的语句,稍微长一点的语句实现,例如CASE语句等。
第3章硬件单元电路设计
3.1振铃检测电路
在电话线路未来铃流前,电话线路由电话交换机提供大约48V的直流电压。
当用户被呼叫时,电话交换机发来铃流信号。
振铃信号为25±3伏的正弦波,谐铃失真不大于10%,电压有效值90±15V。
振铃以5秒为周期,即1秒送,4秒断。
在本电路检测铃流信号时,以五次铃响为准,即五次振铃后无人摘机,便由单片机控制自动模拟摘机。
原理说明:
电话振铃信号通过电容C1隔直、D1稳压二极管、R1限流电阻输入至光电耦合器4N25的输入端1口,C1、D1和R1共同组成振铃信号变换电路,它们使输入电压和电流不会太大,对后面的光电耦合器起保护作用。
光电耦合器4N25起的是隔离作用,光电耦合器是一种电信号的耦合器件,它一般是将发光二极管和光敏三极管的光路耦合在一起,输入和输出之间不可共地,输入电信号加于发光二极管上,输出信号由光敏三极管取出。
光电耦合器以光电转换原理传输信息,它不仅使信息发出端(一次侧)与信息接收并输出端(二次侧)是绝缘的,从而对地电位差干扰有很强的抑制能力,而且有很强的抑制电磁干扰能力。
速度高、价格低、接口简单。
振铃信号通过光耦4N25的4脚输出振铃正弦波,R2和C2共同组成滤波电路,信号到了开关三极管T1的基极就变成了方波。
经过三个反向器的整形输出到单片机AT89C51的T0/P3.4口,中断方式采用外部中断,计数5次产生T0中断,控制继电器模拟摘机,完成振铃音检测。
原器件选取:
1、C1隔直电容,因为是过滤直流,滤出低频信号,而且振铃信号的电压还比较高,因此选取1μF耐压100V的瓷片电容;
2、D1为稳压二极管,选取36V的稳压二极管;
3、R1是4N25的限流电阻,取33kΩ;
4、IC1选取光电耦合器4N25;
5、R2和C2共同组成振铃信号音滤波电路,根据电话振铃的技术指标:
频率25Hz的正弦波,1秒通,4秒断,τ=RC可以推出0.02≤τ≤4(S)。
为了使振铃信号音输出很好的方波波形,计算后选取R2=10kΩ,C2=100μF,τ=1s;
6、R3和D3共同组成振铃指示灯,R3=100Ω,D3为黄色5mm发光二极管;
7、T1和R4组成模拟开关电路,T1选取9013,根据分压原理和74LS04的低电平有效值,R4取2.9kΩ;
8、反向器由74LS04中的三组反向器组成,起整流作用;
3.2模拟摘挂机电路
设计主要思路:
根据国家有关标准规定:
不论任何电话机,摘机状态的直流电阻应≤300Ω,有“R”键的电子电话机的摘机状态直流电阻应≤350Ω。
在挂机状态下,其漏电流≤5μA。
当用户摘机时,电话机通过叉簧接上约300Ω的负载,使整个电话线回路流过约30mA的电流。
交换机检测到该电流后便停止铃流发送,并将线路电压变为十几伏的直流,完成接续。
模拟摘挂机电路主要由一个三极管开关电路控制继电器的开关,继电器控制接入电话线两端的200Ω电阻。
摘挂机信令由单片机通过使TXD/P3.1口变为高电平实现。
经过两个反向器驱动发光二极管D1指示摘机,同时改变三极管T1的基极电压,使T1处于导通状态,从而开启继电器J1,J1使电阻R3接入电话线两端。
因为R3的电阻为200Ω,使回路电流变大,控制电路向交换机发出模拟摘机的信号,交换机响应摘机信号,完成电话线路接通。
整个电路完成自动模拟摘机过程。
根据设计原理,原器件选取如下:
1、反向器取74LS04中的两组反向器;
2、R1是摘机指示灯限流保护电阻,取220Ω;
3、D1是摘机指示灯,取5mm绿色发光二极管;
4、R2是三极管限流电阻,取2kΩ;
5、T1三极管是起模拟开关控制继电器的作用,取9013;
6、D2二极管是起继电器反向保护的作用,取4001;
7、J1是继电器控制开关,取JRC4001F(DC5V);
8、R3是摘机电阻,取200Ω;
3.3双音频解码
原理简介:
双音多频DTMF信号解码电路由MT8870主要承担。
它的2、3脚接收来自电话机的双音多频脉冲信号该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高,低音频信号分开,再经高,低群滤波器,幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端(11~14脚)输出相对应的8421码。
MT8870的数据输出端Q4~Q1连到AT89C51的P1口的P1.4~P1.7,CPU经P1口识别4位代码。
其中,A,B,C,D4个按键常被当作R/P,REDIAL,HOLD,HANDSFREE等功能使用。
注意,需要特别指出的是,对于“0”号码,MT8870输出的8421码并非是“0000”,而是“1010”;另外,“*”,“#”字号码,MT8870输出的8421码分别为“1011”和“1100”。
有些技术资料会出现错误,包括比较权威的手册,所以我是在实验中,记录下测量的每一组数据后,才把这些数据应用于程序当中。
为了使单片机AT89C51获取有效数据,MT8870的STD有效端经反相后接CPU的/INT0引脚。
当MT8870获取有效双音多频信号后,STD电平由低变高,再反相为低,CPU检测后,指示P1口接收有效二进制代码。
而无效的双音频信号(电话线路杂音、人们的语音信号等)是不会引起MT8870的STD端变化的。
对于DTMF接收器的外围电路,接在电源处的电容对抗干扰有一定的作用。
在实际应用中,存在这样一个问题:
MT8870的使能控制端不允许中断时,将使MT8870的STD端中断关闭。
其解决办法是,将STD端接与非门的一输入,与非门的另一输入端接一不定电平端P。
当STD有效(即中断开放)时,P=1则/INT0中断关闭;P=0时则/INT0中断允许。
本单元元器件列表:
1、D1、D2、D3、D4共同组成整流电路,选取4001;
2、R1和R2是输入平衡电阻,取100KΩ,C1隔直电容,取0.1μF;
3、芯片外部晶振选择3.579MHz;
4、IC1是双音频解码芯片,选取MT8870;
5、C2选取0.1μF;
6、R3是输出平衡电阻,选取100KΩ;
7、反向器选取74LS04的一组反向器;
3.4信号音提示电路
原理说明:
为了方便本系统的使用者,本人设计了信号音提示音电路。
首先我规定了信号音的规范以及其对应含义:
1、响1声,频率为500Hz:
请输入密码;
2、响2声,频率为500Hz:
请输入需要控制的电器号;
3、响3声,频率为500Hz:
请输入控制开/关;
4、响1声,频率为1000Hz:
完成操作;
5、响3声,频率为1000Hz:
密码错误;
信号音从单片机89C51的RXD/P3.0口输出,先经过一组反向器进行整流、隔离,从反向器输出的是频率一定,时通时断的方波,提示信号经过隔直电容C1输入到音频放大集成电路LM386N-1的输入端。
经过LM386N-1的放大,信号音经耦合电容C5至变压器T1,它是音频输出专用的耦合变压器,正好符合阻抗匹配的要求。
音频放大集成电路LM386的连接比较简单,本装置的使用是LM386放大增益为50dB的连接方式。
原器件选取:
1、反向器选取74LS04中的一组反向器;
2、C1的是对音频信号起隔直耦合的作用,所以取100μF的电解电容,耐压性能无特殊要求;
3、IC1、R1、R2、C2、C3、C4和C5共同组成音频放大电路,IC1选取LM386N-1,R1取1kΩ,C2取10μF的电解电容,C3取10μF的电解电容,R2取1kΩ,C4取10μF的电解电容,C5取100μF的电解电容;
4、T1是音频输出专用变压器;
3.5电器控制电路
原理说明:
本单元电路主要是由译码扩展电路、反向电路、D触发器和继电器控制电路组成。
首先,单片机AT89C51从P1口的低四位输出四位控制信号。
P1.0、P1.1、P1.2作为三位数据线,P1.3作为使能控制信号,一同加在3-8线译码器的输入端。
当使能端有效时,三位数据线经过译码器数扩展为八位数据线。
这八位数据连接八个反向器进行整流隔离,然后连接D触发器进行数据锁存。
每个D触发器的输出端都控制一路继电器,而每一路继电器也控制一路电器的开关。
二极管指示灯并联在开关三极管两段作为电器开关指示。
这样就可以完成单片机对多路电器的控制。
也可以把P1口的八位都用作控制电器,数据输入口改在P2口。
元器件选取:
1、3-8线译码器选取74LS138P;
2、反向器选取两片74LS04(每一片内有六个反向器)中的九个反向器;
3、触发器选取四片4013(每一片内有两个D触发器);
4、三极管选取八个9013;
5、二极管起保护作用,选取八个4001;
6、指示灯选取八个红色5mm发光二极管;
7、指示灯限流电阻选取八个1kΩ的电阻;
8、三极管的限流电阻选取八个2kΩ的电阻;
9、继电器选取八个JRC-4100FDC5V继电器;
第4章软件设计
本系统的软件设计主要分为系统初始化、振铃检测计数、控制摘挂机、双音频信号分析处理、控制电器、信号音提示等部分。
每个功能模块对于整体设计都是非常重要的,单片机T89C51通过软件程序才能很好的对外部的信息进行采集、分析和决策。
下面,就整体设计以及每个单元功能模块分别进行说明。
4.1信号音发声部分
本功能模块主要是产生信号提示音,方便不同的使用者。
根据普通人耳的反应频率为20Hz至20KHz的范围,和CCITT规定的电话话音信号的频率范围是300Hz至3400Hz,我在本功能单元的发声频率定为500Hz和1000Hz两种。
主要分为五种提示音:
1、低音,表示装置已经摘机,请输入密码,其参数:
频率f=500Hz,延时t=0.5秒/声;
2、两声低音,表示密码已经通过,请选择电器,其参数:
频率f=500Hz,延时t=0.5秒/声;
3、三声低音,表示电器已经选定,请控制(开/关),其参数:
频率f=500Hz,延时t=0.5秒/声;
4、三声高音,表示密码输入错误,其参数:
频率f=1000Hz,延时t=0.3秒/声;
5、一声高音,表示控制已经完成,其参数:
频率f=1000Hz,延时t=0.3秒/声;
提示音发生是使用有限循环,反复使单片机的RXD口的电平反转,从而形成方波信号。
子程序代码:
ORG1100H
RING10:
MOVR6,#20;inputpassword
RING11:
MOVR7,#20;800Hz
RING12:
LCALLDL10;sound=1
CPLP3.0;delay=0.5s
DJNZR7,RING12
DJNZR6,RING11
CLRP3.0
RET
ORG1150H
RING20:
MOVR3,#03
RING21:
MOVR6,#20;passwordwrong
RING22:
MOVR7,#20;1600Hz
RING23:
LCALLDL20;sound=3
CPLP3.0;delay=0.25s
DJNZR7,RING23
DJNZR6,RING22
CLRP3.0
MOVR7,#200
RING24:
LCALLDL10
DJNZR7,RING24
DJNZR3,RING21
CLRP3.0
RET
ORG1200H
RING30:
MOVR3,#02
RING31:
MOVR6,#20;select
RING32:
MOVR7,#20;800Hz
RING33:
LCALLDL10;sound=2
CPLP3.0;delay=0.5s
DJNZR7,RING33
DJNZR6,RING32
CLRP3.0
MOVR7,#200
RING34:
LCALLDL10
DJNZR7,RING34
DJNZR3,RING31
CLRP3.0
RET
ORG1250H
RING40:
MOVR3,#03
RING41:
MOVR6,#20;control
RING42:
MOVR7,#20;800Hz
RING43:
LCALLDL10;sound=3
CPLP3.0;delay=0.5s
DJNZR7,RING43
DJNZR6,RING42
CLRP3.0
MOVR7,#100
RING44:
LCALLDL10
DJNZR7,RING44
DJNZR3,RING41
CLRP3.0
RET
ORG1300H
RING50:
MOVR6,#40;finish
RING51:
MOVR7,#20;1600Hz
RING52:
LCALLDL20;sound=1
CPLP3.0;delay=0.15s
DJNZR7,RING52
DJNZR6,RING51
CLRP3.0
RET
ORG1500H
DL10:
MOVR5,#25;delay1.25ms,f=800HZ,fosc=12MHz,
DL12:
MOVR4,#25
DL11:
DJNZR4,DL11
DJNZR5,DL12
RET
ORG1600H
DL20:
MOVR5,#12;delay0.625ms,f=1600HZ,fosc=12MHz,
DL22:
MOVR4,#25
DL21:
DJNZR4,DL21
DJNZR5,DL22
RET
ORG1650H
DL30:
MOVR5,#50;delay20ms
DL32:
MOVR4,#200
DL31:
DJNZR4,DL31
DJNZR5,DL32
RET
4.2密码检测部分
本系统密码校验的基本原理是:
在系统初始化的时候把原始密码写入地址为30H开始的存储空间内,密码的位数“5”赋给R7。
当系统摘机时,要求输入密码,单片机把解码后的数据(使用者输入的密码)存储在38H开始的存储空间内。
然后单片机对进行两个存储地址的内容逐位进行比较,直到完全相等才能转到下一进程,有一位不同,程序就转到出错程序。
子程序代码:
ORG0150H
HOKE:
CLR7DH
SETBP3.1;opentelephone
CLRTR0;closeT0
MOVR2,#03H;passwordwrong3
LCALLRING10;inputpassword
IN:
CLR7EH;7EH=0
DTMF:
MOVR7,#5H;PASSWORD:
5R7
MOVR1,#38H;sign
SETBP1.4
SETBP1.5
SETBP1.6
SETBP1.7
WAIT:
JBC7EH,CC;waitINT0
LJMPWAIT
CC:
MOVR7,#5H;password5***
MOVR0,#30H;passwordtop
MOVR1,#38H;sign
CMP:
MOVA,@R1
MOVR4,A
CLRC
MOVA,@R1
SUBBA,@R0;test
INCR0
INCR1
JZAAA;OK,passone
LJMPQQ
AAA:
DJNZR7,CMP;R7-1!
=0
LJMPLL;pass
QQ:
DJNZR2,IN1;passwordwrong&R2!
=0
LCALLRING20
LJMPSTOP
IN1:
LCALLRING20;passwordwrong,try!
LJMPIN
4.3密码修改部分
本系统是通过在线输入密码而改变特定存储器中的密码值的。
程序代码:
ORG1700H
KEYIN:
SETBRS1;当前工作寄存器第二工作区
CLRRS0
ANLA,#00H;清零A寄存器
MOVB,#05H
LCALLRING10;发提示音:
输入密码***
MOVR7,#5H
MOVR1,#38H
WPIN:
JBC7EH,READ;等待INT0中断
LJMPWPIN
READ:
MOVR1,#38H
MOVR0,#40H
MOVR7,#05H
READ1:
MOVA,@R1
MOV@R0,A
INCR0
INCR1
DJNZR7,READ1;判断输入密码是否为5位,否跳转READ1
LCALLRING10;满5位,发提示音:
再输入新密码
MOVR7,#5H
MOVR1,#38H
WRE:
JBC7EH,KEYCMP;等待中断INT1
LJMPWRE
KEYCMP:
MOVR6,#05H
MOVR0,#40H
MOVR1,#38H
KEYCP:
MOVA,@R0
CLRC
SUBBA,@R1;A减((R1))
INCR1
INCR0
JZBBB;A的内容如果为0,则跳转BBB
LJMPLL
BBB:
DJNZR6,KEYCP;R6减1不为0,则跳转KEYCP,即循环比较密码的五位
MOVR1,#38H
MOVR0,#30H
MOVR6,#5H
KEYREIN:
MOVA,@R1
MOV@R0,A
INCR1
INCR0
DJNZR6,KEYREIN;R6减1不为0,则跳转,即循环比较密码的五位
LCALLRING50;发提示音:
新密码已经设置
LJMPSTOP
RET
4.4控制电器部分
本系统首先通过外围双音频解码电路解码的信息(选择电器)判断所选择的电器,然后跳转到每一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电话 远程 智能 遥控 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)