基于单片机的电话遥控器的设计1Word格式文档下载.docx
- 文档编号:21314919
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:25
- 大小:119.24KB
基于单片机的电话遥控器的设计1Word格式文档下载.docx
《基于单片机的电话遥控器的设计1Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的电话遥控器的设计1Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
此系统经实际运行证明,拾机效果好,既不影响电话机的正常使用,又大大简化了挂机电路,密码设定既简单又实用,电器控制电路稳定可靠,语音提示功能强大,设定方便灵活,语音清晰,该控制器适应性强,性能稳定。
51单片机智能型电话远程遥控器
本装置并联于电话机的两端,不会影响到电话机的正常使用。
用户通过异地的电话机拨通本装置所连接外线的电话号码,通过市局交换机向电话机发出振铃信号。
本装置如果检测到振铃五次,即五次响铃后无人接,自动摘机,进入密码检测,输入正确后选择被控制电器,然后输入开或关进行遥控电器,完成后返回。
第二章系统设计可行性分析
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来完成此功能模块。
有关MT8870的详细介绍请参阅本报告的附录部分。
2.3软件模块
经过比较,我决定使用AT89C51作为控制的单片机芯片,具体有关AT89C51的介绍不在这里累述,其详细资料请参阅本报告的附录部分。
2.3.1信号音计数
本单元可以使用AT89C51的两个计数器的外部中断方式来实现对不同信号音的计数。
2.3.2密码检测
本单元可以在系统初始化的时候,在单片机内部的存储器的内部开辟一块空间放置密码。
当用户输入密码的时候,单片机把输入的密码写入另外的一块空间,然后利用减法运算比较两者是否相等。
这样就可以实现密码检测的功能。
2.3.3信号分析处理
本单元可以利用查表方式,也可以用简单的语句,稍微长一点的语句实现,例如CASE语句等。
经过翻阅大量的技术资料,对具体要求实现的功能进行完整的系统分析,我认为我的电话遥控系统设计基本符合实际情况,可以完成设计任务所要求实现的基本功能。
第三章硬件单元电路设计
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μF耐压60V的电解电容负极相连代替之);
2、D1为稳压二极管,选取36V的稳压二极管;
3、R1是4N25的限流电阻,取33kΩ;
4、IC1选取光电耦合器4N25;
5、R2和C2共同组成振铃信号音滤波电路,根据电话振铃的技术指标:
频率25Hz的正弦波,1秒通,4秒断,τ=RC可以推出0.02≤τ≤4(S)。
为了使振铃信号音输出很好的方波波形,如图3.2所示,计算后选取R2=10kΩ,C2=100μF,τ=1s;
图3.2
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的电流。
交换机检测到该电流后便停止铃流发送,并将线路电压变为十几伏的直流,完成接续。
根据有关技术指标,模拟摘挂机电路设计如图3.3所示:
模拟摘挂机电路主要由一个三极管开关电路控制继电器的开关,继电器控制接入电话线两端的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(简介详见附录)主要承担。
MT8870的连线如图3.4所示,它的2、3脚接收来自电话机的双音多频脉冲信号该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高,低音频信号分开,再经高,低群滤波器,幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端(11~14脚)输出相对应的8421码。
MT8870的数据输出端Q4~Q1连到AT89C51的P1口的P1.4~P1.7,CPU经P1口识别4位代码。
电话按键与相应译码(Q4~Q1)输出见附录。
其中,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接收器的外围电路如图3.4所示。
其中,接在电源处的电容对抗干扰有一定的作用。
在实际应用中,存在这样一个问题:
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信号音提示电路
为了方便本系统的使用者,本人设计了信号音提示音电路,如图3.5。
首先我规定了信号音的规范以及其对应含义:
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,它是音频输出专用的耦合变压器,正好符合阻抗匹配的要求。
本电路比较难点在于耦合变压器T1的选取。
因为电话线中直流电压比较高,而且还有各种信号音,这些都会影响到语音信号加载到电话线上,因此本装置使用一个耦合变压器作为隔离器件。
这个耦合变压器的阻抗匹配问题是设计的难点,设计初我查阅有关资料并没发现具体参数。
后来看到可以邮购这种电话语音专用耦合变压器,其具体性能都很优秀,但是价格太高,不符合我的设计原则(元器件便宜),因此弃置不用。
到了毕业设计的后期,本装置的基本功能已经完成,音反馈的问题又重新提到议事日程上来了。
经过我不懈的努力,终于在电子市场上发现了体积很小的电话专用耦合变压器,价格只有2元。
这种耦合变压器分两种,一种是输入,一种是输出,经过实验表明输入用的耦合变压器反馈语音性能比较好,其体积大约是10mm×
10mm×
8mm。
音频放大集成电路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触发器和继电器控制电路组成。
电路图如图3.6所示。
首先,单片机AT89C51从P1口的低四位输出四位控制信号。
P1.0、P1.1、P1.2作为三位数据线,P1.3作为使能控制信号,一同加在3-8线译码器的输入端。
当使能端有效时,三位数据线经过译码器数扩展为八位数据线。
这八位数据连接八个反向器进行整流隔离,然后连接D触发器进行数据锁存。
每个D触发器的输出端都控制一路继电器,而每一路继电器也控制一路电器的开关。
二极管指示灯并联在开关三极管两段作为电器开关指示。
这样就可以完成单片机对多路电器的控制。
也可以把P1口的八位都用作控制电器,数据输入口改在P2口。
图3.6所示的为一路电器控制电路图,在本装置中一共有八路电器可以控制,其它电器控制相同。
元器件选取:
1、3-8线译码器选取74LS138P;
2、反向器选取两片74LS04(每一片内有六个反向器)中的九个反向器;
3、触发器选取四片4013(每一片内有两个D触发器);
4、三极管选取八个9013;
5、二极管起保护作用,选取八个4001;
6、指示灯选取八个红色5mm发光二极管;
7、指示灯限流电阻选取八个1kΩ的电阻;
8、三极管的限流电阻选取八个2kΩ的电阻;
9、继电器选取八个JRC-4100FDC5V继电器;
第四章软件设计
本系统的软件设计主要分为系统初始化、振铃检测计数、控制摘挂机、双音频信号分析处理、控制电器、信号音提示等部分。
每个功能模块对于整体设计都是非常重要的,单片机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
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电话 遥控器 设计