微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于89C51设计的电话远程控制开关

基于89C51设计的电话远程控制开关

时间:06-07 来源:互联网 点击:

程序代码:
HOKE1: LJMP HOKE
ORG 0090H
TT0: SETB 7DH
RETI
ORG 0150H
HOKE: CLR 7DH
SETB P3.1 ;open telephone
CLR TR0 ;close T0
MOV R2,#03H ;password wrong 3
LCALL RING10 ;input password
IN: CLR 7EH ;7EH=0
DTMF: MOV R7,#1H ;PASSWORD:5 R7
MOV R1,#38H ;sign
SETB P1.4
SETB P1.5
SETB P1.6
SETB P1.7
WAIT: JBC 7EH,CC ;wait INT0
LJMP WAIT
CC: MOV R7,#1H ;password 5***
MOV R0,#30H ;password top
MOV R1,#38H ;sign
CMP: MOV A,@R1
MOV R4,A
CLR C
MOV A,@R1
SUBB A,@R0 ;test
INC R0
INC R1
JZ AAA ;OK,pass one
LJMP QQ
AAA: DJNZ R7,CMP ;R7-1!=0
LJMP LL ;pass
QQ: DJNZ R2,IN1 ;password wrongR2!=0
LCALL RING20
LJMP STOP
IN1:LCALL RING20 ;password wrong,try!
LJMP IN

5.4 联机在线调试
经过前一阶段硬件、软件的分别调试,本装置的制作也到了最后的冲刺阶段,那就是联机在线调试。

联机在线调试所用到的设备:
1、 MCS-51仿真机一台;
2、 TC-108H“多路通”实验程控交换机一台;
3、 HA8188(9)P/T双音多频电话机一台;
4、 HA119(6)P/T双音多频电话机一台;
5、 主频为50MHz的微机一台;

由于实验室条件有限,只有两台交换机供十几组使用,时间非常有限。本装置的前期调试工作尽可能的完成在交换机外,例如:振铃检测的调试基本上就是在宿舍的电话上完成的。我是选择了一个晚上从23点一直调试到了次日凌晨2点,在别人不使用交换机的时候调试基本完毕的。
联机在线调试的第一步是振铃音检测,由于事先的调试,这一部分没有花太多时间,只是在单步执行的时候,有时会发生仿真机不正常结束程序的情况。经过询问老师和同学,MCS-51仿真机不是太稳定,这种情况经常发生,在全速执行或把程序烧录片子之后就不会发生了。
双音频信号解码在联机在线调试的时候也没有发生太大的问题。
最大的问题发生在程序内部的信息处理部分,因为我事先并没有对信号的编解码做规定,这样就直接导致双音频信号解码后输入到单片机内,造成跳转指令混乱。比如我按下“7”键,单片机会认为我按下的是“1”键。这一部分原理是比较简单的,但是程序还是挺麻烦的,因为当时已经是半夜,所以头脑比较混乱,我用了一个多小时的时间才把程序内译码、码制转换的问题解决。
因为调试的时候是只使用一位密码,控制一路电器,所以到了这时,我还有扩展密码位数和扩展控制路数的问题要解决。这些扩展都是时间问题,只要仔细的拷贝一些程序代码就可以顺利完成。
在联机调试的后期我还发现了一些小问题:我的实验桌上一共有三排数据线,我使用的是其中的一排。结果总是第三路电器无法实现遥控,更换数据线就会变正常。经万用表测量发现原先使用的数据线有一根线根本是不导通的。
我还用不同的MCS-51仿真机实验,发现几乎没有两台MCS-51仿真机的实验结果是完全相同的,不是晶振的振荡频率不同,就是有个别管脚不能输出数据。晶振的振荡频率不同就直接造成延时不同,发生频率不一样。
经过一个通宵的调试,大大小小的各种问题都得到了解决,到此为止,在线联机调试也就告一段落。

第六章 系统使用说明

本系统使用起来非常方便,下面我就系统使用流程图做一下简单的使用方法介绍。
如右图7.1所示,首先用户把本装置的信号线并联在电话线的两端,插上电源线,打开电源开关,本装置自动复位,就能正常工作了。
当用户从异地打来电话,本装置接收到电话振铃音,开始计数。当电话铃声计到五次,装置自动摘机,回送提示音提示输入密码。
当用户在三次之内输入正确的密码后,用户就可以对装置所连的电器进行选择,然后根据需要对其进行开关控制。
用户可以在一次“通话”中同时控制几个电器。如果用户控制完毕,可以按‘#’键让装置自动挂机,结束“通话”。而已经开启的电器将保持其开启的状态,直到下一次的“通话”控制使其关闭。
本装置使用起来简单易学,而且功能强大。


第七章 系统功能扩展
本系统由于时间的限制,在毕业设计结束之前只能作到现有的程度。在本次毕业设计的后期,我也尽量对本作品的功能进行了相应的扩展。例如:单片机控制电器数量的增加,此部分充分应用了单片机外围接口扩展技术。
我在这里对本系统还可以的扩展功能做一下简单的介绍。
1、使用MT8888芯片还可以进一步扩展其功能,而且使本装置的体积大大减小,在这里就MT8888集成电路作一个简单的介绍。
MT8888是MITEL公司的产品,是一种带呼叫进展过滤器的单片双音多频收发器。它包括一个带增益可调放大器的DTMF接收器和一个DTMF发送器。接收器的结构及工作原理与MT8870大同小异,也采用集频带分离滤波和数字解码为一体的结构。其中滤波电路也采用高频群和低频群两个六阶开关电容带通滤波器,解码采用数字计数器技术来确定输入的DTMF音调的频率,并将其译成标准的四位二进制码。发送器采用开关电容D/A变换器。片内使用了一个脉冲计数器,能合成精确的音调脉冲,保证音调脉冲准确的定时发送。MT8888提供了一个标准的微处理器总线接口,可以直接与MCS-51系列微机接口。它还可以选用呼叫进展方式工作,通过呼叫进展滤波器来检测特定通带内的信号频率,供微处理机或计数器电路分析,以确定检测到的呼叫进展音的性质。
MT8888的接收工作方式,从检测DTMF信号到解码的过程与MT8870完全一致,差异较大的是解码后的二进制码的输出。MT8888没有延时导引输出端stD,当收到的有效音调对已被寄存且相对应的四位二进制码已被锁在接收数据寄存器中时,片内状态寄存器中的延时控制标志位b3复位,同时状态寄存器中的接收数据寄存器满标志位b2置位,CPU可通过查询这些状态标志来了解解码的过程。如果选中的是中断方式,当延时控制标志位复位时,IRQ/CP端将变为低电平,向CPU发送中断请求,当CPU响应此中断,读出状态寄存器中的数据后,IRQ/CP端返回高电平状态。
根据MT8888的以上特点,它可以检测出电话振铃音、忙音等信号音。我设计了新的系统功能,改进了的系统可以首先工作于第二方式,即电话线路信号音检测状态,然后根据振铃情况控制摘挂机,摘机后MT8888工作于第四方式,即双音频解码状态,后面就和8870一样了。这样就能节省硬件电路的设计制作,还可以大大缩小本装置整体体积。
2、利用138译码器的STA、STB和STC还可以进行级联扩展为24线译码器,若外接一个反向器还可以级联扩展成为32线译码器。
3、使用LM567锁相环可以对电话信号音中的忙音进行识别,使使用者更加方便,而且能够提高本装置的稳定性。

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

网站地图

Top