电话远程智能遥控系统文档格式.docx

上传人:b****5 文档编号:19056094 上传时间:2023-01-03 格式:DOCX 页数:29 大小:202.22KB
下载 相关 举报
电话远程智能遥控系统文档格式.docx_第1页
第1页 / 共29页
电话远程智能遥控系统文档格式.docx_第2页
第2页 / 共29页
电话远程智能遥控系统文档格式.docx_第3页
第3页 / 共29页
电话远程智能遥控系统文档格式.docx_第4页
第4页 / 共29页
电话远程智能遥控系统文档格式.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

电话远程智能遥控系统文档格式.docx

《电话远程智能遥控系统文档格式.docx》由会员分享,可在线阅读,更多相关《电话远程智能遥控系统文档格式.docx(29页珍藏版)》请在冰豆网上搜索。

电话远程智能遥控系统文档格式.docx

本装置并联于电话机的两端,不会影响到电话机的正常使用。

用户通过异地的电话机拨通本装置所连接外线的电话号码,通过市局交换机向电话机发出振铃信号。

本装置如果检测到振铃五次,即五次响铃后无人接,自动摘机,进入密码检测,输入正确后选择被控制电器,然后输入开或关进行遥控电器,完成后返回。

第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±

在本电路检测铃流信号时,以五次铃响为准,即五次振铃后无人摘机,便由单片机控制自动模拟摘机。

原理说明:

电话振铃信号通过电容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、两声低音,表示密码已经通过,请选择电器,其参数:

3、三声低音,表示电器已经选定,请控制(开/关),其参数:

4、三声高音,表示密码输入错误,其参数:

频率f=1000Hz,延时t=0.3秒/声;

5、一声高音,表示控制已经完成,其参数:

提示音发生是使用有限循环,反复使单片机的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:

passwordwrong

RING22:

1600Hz

RING23:

LCALLDL20;

sound=3

delay=0.25s

DJNZR7,RING23

DJNZR6,RING22

MOVR7,#200

RING24:

LCALLDL10

DJNZR7,RING24

DJNZR3,RING21

RET

ORG1200H

RING30:

MOVR3,#02

RING31:

select

RING32:

RING33:

sound=2

DJNZR7,RING33

DJNZR6,RING32

RING34:

DJNZR7,RING34

DJNZR3,RING31

ORG1250H

RING40:

RING41:

control

RING42:

RING43:

DJNZR7,RING43

DJNZR6,RING42

MOVR7,#100

RING44:

DJNZR7,RING44

DJNZR3,RING41

ORG1300H

RING50:

MOVR6,#40;

finish

RING51:

RING52:

delay=0.15s

DJNZR7,RING52

DJNZR6,RING51

ORG1500H

DL10:

MOVR5,#25;

delay1.25ms,f=800HZ,fosc=12MHz,

DL12:

MOVR4,#25

DL11:

DJNZR4,DL11

DJNZR5,DL12

ORG1600H

DL20:

MOVR5,#12;

delay0.625ms,f=1600HZ,fosc=12MHz,

DL22:

DL21:

DJNZR4,DL21

DJNZR5,DL22

ORG1650H

DL30:

MOVR5,#50;

delay20ms

DL32:

MOVR4,#200

DL31:

DJNZR4,DL31

DJNZR5,DL32

4.2密码检测部分

本系统密码校验的基本原理是:

在系统初始化的时候把原始密码写入地址为30H开始的存储空间内,密码的位数“5”赋给R7。

当系统摘机时,要求输入密码,单片机把解码后的数据(使用者输入的密码)存储在38H开始的存储空间内。

然后单片机对进行两个存储地址的内容逐位进行比较,直到完全相等才能转到下一进程,有一位不同,程序就转到出错程序。

ORG0150H

HOKE:

CLR7DH

SETBP3.1;

opentelephone

CLRTR0;

closeT0

MOVR2,#03H;

passwordwrong3

LCALLRING10;

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:

password5***

MOVR0,#30H;

passwordtop

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!

LCALLRING20

LJMPSTOP

IN1:

LCALLRING20;

passwordwrong,try!

LJMPIN

4.3密码修改部分

本系统是通过在线输入密码而改变特定存储器中的密码值的。

程序代码:

ORG1700H

KEYIN:

SETBRS1;

当前工作寄存器第二工作区

CLRRS0

ANLA,#00H;

清零A寄存器

MOVB,#05H

发提示音:

输入密码***

MOVR7,#5H

MOVR1,#38H

WPIN:

JBC7EH,READ;

等待INT0中断

LJMPWPIN

READ:

MOVR1,#38H

MOVR0,#40H

MOVR7,#05H

READ1:

MOVA,@R1

MOV@R0,A

DJNZR7,READ1;

判断输入密码是否为5位,否跳转READ1

满5位,发提示音:

再输入新密码

WRE:

JBC7EH,KEYCMP;

等待中断INT1

LJMPWRE

KEYCMP:

MOVR6,#05H

KEYCP:

MOVA,@R0

SUBBA,@R1;

A减((R1))

JZBBB;

A的内容如果为0,则跳转BBB

LJMPLL

BBB:

DJNZR6,KEYCP;

R6减1不为0,则跳转KEYCP,即循环比较密码的五位

MOVR0,#30H

MOVR6,#5H

KEYREIN:

MOVA,@R1

DJNZR6,KEYREIN;

R6减1不为0,则跳转,即循环比较密码的五位

LCALLRING50;

新密码已经设置

4.4控制电器部分

本系统首先通过外围双音频解码电路解码的信息(选择电器)判断所选择的电器,然后跳转到每一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1