电话远程监控系统的研究与制作毕业设计Word文档下载推荐.docx
《电话远程监控系统的研究与制作毕业设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《电话远程监控系统的研究与制作毕业设计Word文档下载推荐.docx(23页珍藏版)》请在冰点文库上搜索。
![电话远程监控系统的研究与制作毕业设计Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-4/28/e3324456-f8b2-421e-962b-2c0c09db1c52/e3324456-f8b2-421e-962b-2c0c09db1c521.gif)
■密码校验;
■双音频信号解码;
■输入信息分析;
■控制电器开关;
■电器状态查询;
■忙音检测;
1.1.2系统基本工作原理
系统基本工作原理是:
系统上电,单片机复位,系统开始工作,当电话线路中有振铃信号时,振铃检测电路将产生占空比为1:
4的方波,方波从89c2051单片机的外部计数端输入,系统在程序控制下进行计数,当振铃次数为8次时约40秒若没有人接电话,表明没有人在场,系统一方面,启动语音提示电路,发出“尊敬的用户,您好!
欢迎您使用智能电话控制系统,请输入用户密码,并以‘#’字确认”;
另一方面,发出自动摘机控制信号,外线经摘挂机控制的开关电路与DTMF译码电路接通,译码电路将对外线传递的信号进行译码,译码信号以四位二进制形式输出。
经译码输出的四位二进制数从单片机的I/O口输入,单片机对读入的二进制数与预置的密码进行比较,如果所拨的密码与预置的相同,则发出“请输入操作码,并按#字键加以确认”的提示音,如果所拨的密码与预置的不同,则发出“对不起,你拨的密码不正确,请核对密码后重新输入,挂机请按‘*’字键确认”的提示音。
操作者在主叫话机键盘上输入4位密码,若密码输入正确,会在听筒里听到约2秒的音乐声。
按入遥控命令,按“1”,“#”表示第一路开,按“1”,“*”表示第一路关......依次类推,共可操作5路设备,每个操作命令结束时均能听到约1秒的音乐声作为确认信号。
操作完毕按入“0”,接收电路收到“0”这一信息后即“挂断”电话。
如果有人在默认的振铃次数之前接听电话,则不进入电话遥控状态,因此不影响电话的正常通话使用。
系统原理框图如下图1.1.2-1所示:
图1.1.2-1系统原理框图
1.1.3系统设计的关键技术
在整个系统功能的实现中,利用DTMF解码器对用户通过电话输入的DTMF号码进行检测是系统功能实现的关键。
MT8870应该能及时并准确地检测到电话线传入的DTMF信号,并以中断方式通知CPU接收其检测到的DTMF号码。
而MT8870能否及时检测到DTMF信号并正确译码出该信号对应的主叫号码,与LE78D11的初始化密切相关。
在初始化时需要特别注意如下几个方面:
■设置参数要根据系统情况精确计算确定,尤其输入信号增益参数调整不能让DTMF信号饱和失真,否则会导致MT8870对DTMF音检测译码出错。
■MT8870的时钟频率寄存器应在芯片上电后第一个进行设置。
确保MT8870能及时检测系统时钟与8kHz的帧同步信号的同步情况并给出指示。
■在初始化最后要启动模拟通道校准功能并确保校准完成。
■MT8870在进行DTMF音的检测译码时,语音通道连通并都处于激活状态,向单片机发出中断请求,单片机响应中断,接收来电信息。
根据电话通信信令,在电话通信过程中,使用某些特定频率音的不同断续组合来指示通信进程。
为了判定当前处于何种进程状态,需要及时识别出拨号音、忙音、回铃音、空号音以及其他电信信令规定的进程音。
为了简化系统结构,节约硬件成本,提高信号音检测的准确性与灵敏度,本系统不采用通常的信号音检测硬件模块进行检测,而是采用软件实现上述信号音的智能检测。
1.2软件模块分析
本设计以AT89C2051作为控制的单片机芯片,其详细资料请参阅本设计的硬件电路设计部分。
软件部分的设计由以下几个模块构成。
■信号音计数。
本单元可以使用AT89C51的两个计数器的外部中断方式来实现对不同信号音的计数。
■密码检测。
本单元可以在系统初始化的时候,在单片机内部的存储器的内部开辟一块空间放置密码。
当用户输入密码的时候,单片机把输入的密码写入另外的一块空间,然后利用减法运算比较两者是否相等。
这样就可以实现密码检测的功能。
■信号分析处理。
本单元可以利用查表方式,也可以用简单的语句,稍微长一点的语句实现。
2系统硬件电路设计
2.1振铃检测电路
2.1.1电路工作原理
振铃检测电路由光耦LE以及门电路G4等元件组成。
电话线路没有铃流时,电话交换机提供的线路电压为48V-60V的直流信号。
当用户呼叫时,电话交换机发来振铃信号,89C2051单片机驱动摘挂机控制开关电路,DTMF信号译码电路,铃流检测电路和语音提示电路等电路设备。
此时光耦LE的发光二极管导通,使光敏晶体管导通,于是+5V电源通过1K电阻和二极管向100uF电容充电。
当电容上电压充到开门电平时,与门G4输出高电平并由AT89C2051的P3.5检测,每振铃一次,门G1输出一次高电平即一个正脉冲。
振铃信号为25±
3V的正弦波,电压有效值为90±
15V,振铃以5s为周期,即1s送4s断。
正脉冲信号可以直接输出至单片机的中断计数器输入口,完成整个振铃音检测和计数的过程。
2.1.2电路图设计
根据振铃信号的特征,设计振铃检测电路如图2.1.2-1所示。
图2.1.2-1振铃检测电路
2.2摘挂机控制电路
2.2.1电路工作原理
AT89C2051首先从P3.5检测与门G4的输出,G4每输出一个正脉冲,电话振铃一声;
P3.5必须检测到8个正脉冲信号时,才从P1.1送出低电平使三极管T7导通,于是继电器JK吸合使两对常开触点JKa和JKb闭合,并使500欧电阻〈与小音频变压器绕组串联〉被接入电话线,实现了“模拟提机”。
然后P3.2等待DTMF解码器STD端正脉冲的到来,一旦识别到STD端的正脉冲,P3.0-P3.4即读入DTMF解码器的输出的二进制码信息,这个信息就是遥控命令,AT89C2051能对其进行判别---究竟是密码还是控制某路开、关的命令,或是挂机命令。
挂机命令的执行信号是从P1.1输出的,当P1.1=1时,T7截止,继电器释放,即实现了“模拟挂机”。
而控制受控对象动作的信号是从P1.3-P1.7共5路输出的。
2.2.2电路图设计
设计摘挂机控制电路如图2.2.2-1所示。
图2.2.2-1摘挂机控制电路
2.3音频DTMF解码电路
2.3.1电路工作原理
DTMF解码,接收电路使用DTMF解码集成电路MT8870。
当电路接口中的JKa和JKb闭合时,由发送端送来的DTMF信号进入MT8870的"
IN-"
端,经过DTMF解码,得到4位二进制码从Q3-Q0输出,同时由STD端给出一个正脉冲,该正脉冲的出现表明Q3--Q0已经准备就绪,就可以被读取了。
2.3.2电路图设计
双音频DTMF解码电路设计如图2.3.2-1所示。
图2.3.2-1双音频DTMF解码电路
2.4用电器控制电路
2.4.1电路工作原理
该系统的目的是通过电话遥控,控制不同的电器的电源的通断,在本装置中一共有5路电器可以控制。
控制受控对象动作的信号是从P1.3-P1.7共5路输出的,例如若P1.3=1能使T1导通,继电器J1吸合;
若P1.3=0,则J1释放......若P1.7=1,则能使T5导通,继电器J5吸合;
若P1.7=0,则J5释放。
但由图中可知,P1.3并没有直接接到T1......P1.7并没有直接接到T5,而是隔了一片集成块74LS273。
74LS273是一个8D锁存器也就是芯片内部包含了8个D触发器,输入端为D0-D7,输出端为Q0~Q7。
若清零端CLR加低电平,则器件复零,Q0-Q7输出全为零,若清零端为高电平,则每当触发端CLK有一个电平的上跳变时(从“0”变到“1”的瞬间),输入端D0~D7的状态就会被锁存到器件内并从Q0-Q7输出,只要CLK端不再触发,这一状态就会被永远记住。
2.4.2电路图设计
家用电器控制原理图如下图2.4.2-1所示。
图2.4.2-1家电控制电路
2.5信息反馈电路
2.5.1电路工作原理
它由一片成品“音乐集成电路”构成,当AT89C2051完成一次对受控对象的操作后,由P1.0输出一个高电平脉冲触发音乐片发音。
音乐信号经过三极管功率放大,再经过电话接口中的小音频变压器B耦合至电话线上。
远方的遥控操作者即能从电话听筒里听到反馈信息。
2.5.2音乐集成电路芯片介绍
它们一般都是软包封,即芯片直接用黑胶封装在一小块电路板上。
其内部含有振荡器、节拍器、音色发生器、ROM、地址计算器和控制输出电路等。
音乐集成电路有许多系列,且在控制功能上也各不相同,但它们的基本电路结构和工作原理大都是相同的。
内部具体构成如下所示。
■振荡电路。
振荡电路由外接电阻R构成一个完整的振荡器,其振荡频率与R阻值的大小有关,一般的振荡频率为100kHz或50kHz。
振荡频率是音调发生器和节奏发生器的时间基准。
■存储器。
存储器(ROM)的存储容量有64字七位的,也有512字七位的不等,其中四位用于控制音调发生器,三位用于控制节奏发生器,同时也提供自停信号。
■音调发生器。
音调发生器按ROM的数据分配产生不同音调的代码。
■速度控制。
它可提供与放音速度相匹配的速度,这种速度已按编好的程序固化在集成电路内,不能由外部选择。
2.5.3音乐集成电路使用中的注意事项
■应正确了解和选用集成电路的工作电压,否则将会产生失真。
■外接电阻阻值的大小与输出的音调有关,阻值小时音调高,阻值大时音调低。
■由于集成电路的种类很多,有时很难从型号及外形上知道它输出的乐曲或语音内容。
因此在选购这类集成电路时,最好f临时搭接外围元件,试听一下曲调是否理想。
■有的集成电路输出电流很小,对于这类集成电路,应外接放大电路。
■音乐集成电路大多由CMOS电路组成,因此焊接时应使电烙铁外壳可靠接地。
3系统软件设计
3.1软件设计原理
软件部分的设计核心是89C2051芯片。
编程语言为单片机汇编语言。
设计本监控装置的控制程序的主要工作是对电话信号进行检测以及接收用户指令控制家用电器的工作。
系统程序主要包括管理监控主程序和定时中断子程序。
管理监控主程序CPU检测振铃信号状态和按键状态,当检测到有效振铃信号后,启动计数程序,计数到设定振铃次数后,CPU送出摘机信号控制电路自动摘机并送出摘机提示音信号,提示用户输入密码。
当检测到有“*”键按下时,也同样送出摘机提示音信号,提示用户输入密码。
单片机检测MT8870送出的STD信号,当STD信号有效时,从MT8870读入指令代码并与预设密码比较,如果两者不一致,则送出警告提示音信号,用户可以重新输入密码,若连续3次密码错误,系统自动挂机,不能进行遥控设定,如果输人密码与预设密码一致,则送出确认提示音信号,用户可以输入开机、关机、定时工作等指令,也可以输入查询指令查询系统工作状态或输入更改密码指令、更改设定密码。
设定或查询完成后,按“#”键则系统挂机,连续一定时间不输入任何指令信号,系统也会自动挂机,让出电话线路。
定时中断程序完成定时工作方式下的计时和本地按键设定状态的查询和执行。
3.2统程序设计流程图
系统程序设计流程图如下图3.2-1所示。
图3.2-1系统程序流程
4结束语
此次课程设计用到了数字电子技术,模拟电子技术,电路原理,单片机原路及接口技术等专业知识。
涉及到的专业知识面广,技术要求高,难度也较大,很好的运用了三年以来所学的专业知识。
对未来的工作和继续学习将会有很大的帮助。
利用电话网络进行远程监控是通讯电子信息行业发展的必然结果。
随着社会的发展和人们生活水平的提高,越来越多的家用电器进入了百姓的生活,给大家带来了很多的方便和享受,同时随着电话在家庭中的普及,利用电话实现远程监控自然是未来的发展方向。
本设计的目的是希望通过对电话远程监控的研究使这一技术能早日应用于老百姓的日常生活中。
本设计在很大程度上也只是从理论方面给出电话远程监控的可行性。
许多技术性问题可能还要在实际运用中加以解决。
这次的课程设计得到了老师、同学的帮助,感谢XX老师、XX老师给予我这样一次机会,能够独立地完成一个课题,并在这个过程当中,给予我们足够的时间和帮助,使我们在即将离校的时间里,能够更多地学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。
再一次对亲爱的可爱的敬业的老师们表示感谢!
还要感谢在整个课程的设计与撰写期间给予我帮助与意见的同学,因为有了你们的帮助,才让我不仅学到了本次课题所涉及的新知识,更让我感觉到了知识以外的东西。
最后,感谢所有在这次课程设计中给予过我帮助的人!
附录1:
电路总图
附录2:
程序清单
----------------------初始化---------------------------
START0:
ACALLSTA
MOVA,WADD
ACALLWRBYT
ACALLCACK
JBF0,START0
MOVA,#00H
ACALLACK
ACALLTOP
ACALLSTA
MOVA,RADD
MAIN2:
JBF0,MAIN2
MOVR1,#CODEAD
-----------------主程序--------------------
MAIN:
JBZHENL,MAIN
INCR2
CLRTESTLED
CLRSPEAKER
JNBZHENL,$
SETBTESTLED
SETBSPEAKER
MOVA,R2
CJNEA,#32,MAIN
MOVR2,#00H
INCR3
MOVA,R3
CJNEA,#2,MAIN
MOVR3,#00H
CLRZHAIJI
ACALLM8880
ACALLDEL100MS
START:
ACALLJSSJ
INCCODEWS
MOVA,@R0
INCR0
CJNEA,#12,LOOP;
确认键
DECCODEWS
MOVR0,#CODEST
LOOP1:
MOVR0,#CODEST
MOVCODEWS,#0
INCCODECW
AJMPLOOP
LOOP2:
DJNZCODEWS,MIMAPD
CLRP0.0;
密码正确亮灯指示
MOVR0,#JDCP
JD:
MOVA,@R0
CJNEA,#1,LOOP3;
键1修改密码
MOVR0,#CODEAD
MMXG:
CJNEA,#12,MMXG;
密码修改确认键
LOOP3:
CJNEA,#2,JD;
键2家电控制
LOOP4:
MOVR7,#16
JD0:
CJNEA,#1,JD1
MOVJDBH,#01H
JD1:
CJNEA,#2,JD2
MOVJDBH,#02H
JD2:
CJNEA,#3,JD3
MOVJDBH,#04H
JD3:
CJNEA,#4,JD4
MOVJDBH,#08
JD4:
CJNEA,#5,JD5
MOVJDBH,#10H
JD5:
CJNEA,#6,JD6
MOVJDBH,#20H
JD6:
CJNEA,#7,JD7
MOVJDBH,#40H
JD7:
CJNEA,#8,JD8
MOVJDBH,#80H
JD8:
CJNEA,#11,JD9
JNB20H.0,JDON1
CLRLED1
JDON1:
JNB20H.1,JDON2
CLRLED2
JDON2:
JNB20H.2,JDON3
CLRLED3
JDON3:
JNB20H.3,JDON4
CLRLED4
JDON4:
JNB20H.4,JDON5
CLRLED5
JDON5:
JNB20H.5,JDON6
CLRLED6
JDON6:
JNB20H.6,JDON7
CLRLED7
JDON7:
JNB20H.7,JD9
CLRLED8
JD9:
CJNEA,#12,JD10
JNB20H.0,JDOFF1
SETBLED1
JDOFF1:
JNB20H.1,JDOFF2
SETBLED2
JDOFF2:
JNB20H.2,JDOFF3
SETBLED3
JDOFF3:
JNB20H.3,JDOFF4
SETBLED4
JDOFF4:
JNB20H.4,JDOFF5
SETBLED5
JDOFF5:
JNB20H.5,JDOFF6
SETBLED6
JD10:
DJNZR7,JD11
ACALLDEL100MS
AJMPCSH
JD11:
AJMPJD0
--------------接收数据子程序---------------
JSSJ:
ACALLREADPSW
ACALLREDAJCQ
ACALLDISP
RET
--------------8870初始化------------
READPSW:
CLRCK
SETBRSO
SETBRW
SETBCK
MOVA,P2
JNBACC.6,READPSW
RET
-----------读8870接收数据寄存器--------
REDAJCQ:
CLRRSO
SETBRW
ANLA,#0F0H
---------启动I2C总线子程序------
STA:
SETBSDA
SETBSCL
CLRSCL
----------停止I2C总线子程序------
STOP:
CLRSDA
NOP
---------发送应答位信号子程序------
MACK:
---------发送非应答位信号子程序------
MNACK:
SETBSCL
CLRSCL
CLRSDA
--------发送一字节数据子程序--------
WRBYT:
MOVR7,#08H
WLP:
RLCA
JCWR1
WR1:
SETBSDA
CLRSDA
AJMPWLP1
--------接收一字节数据子程序--------
RDBYT:
MOVR7,#08H
RLP:
MOVC,SDA
RLCA
MOVR2,A
DJNZR7,RLP
----------