电话机拔号控制器的设计.docx
- 文档编号:11097801
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:62
- 大小:406.63KB
电话机拔号控制器的设计.docx
《电话机拔号控制器的设计.docx》由会员分享,可在线阅读,更多相关《电话机拔号控制器的设计.docx(62页珍藏版)》请在冰豆网上搜索。
电话机拔号控制器的设计
河南科技学院
2009届本科毕业论文(设计)
论文题目:
电话机拔号控制器的设计
学生姓名:
段国强
所在院系:
机电学院
所学专业:
应用电子技术教育
导师姓名:
付广春
完成时间:
2009年05月25日
摘要
本设计主要是单片机控制去电电话,即根据主叫所拔的号码,通过检测存储器预设的黑名单控制某个电话的能够打出或者禁止。
本设计以单片机AT89C51和双音多频解码芯片MT8870集成电路为核心,通过单片机实现对电话机的智能化控制,DTMF信号可以实现微机通信,具有传输距离长、数据准确以及抗干扰能力强等特点,文中介绍了DTMF信号的接收芯片MT8870的功能及引脚,并给出了DTMF信号接收器芯片MT8870与单片机接口实现数据传输的应用电路,文中介绍了该系统的组成、应用、工作原理及程序设计方法。
关键词:
双音多频,单片机,去电控制,液晶显
DesignoftheTelephoneDialingController
Abstract
ThisdesignismainlytheSing-ChipMicrocomputercontrolsendsatelegramthetelephone,namelythebasiscallingpullsoutthenumber,controlssometelephonethroughtheexaminationmemorypreinstall'sblacklisttobeabletosplitoutortoforbid,orcontrolsonegametothenumber,determinedwhethertosplitout.ThisdesigntakemonolithicintegratedcircuitAT89C51andthedoublesoundmulti-frequencydecodingchipMT8870integratedcircuitasacore,realizesthroughthemonolithicintegratedcircuittotelephone'sintellectualizedcontrol,theDTMFsignalmayrealizethemicrocomputercorrespondence,hasthetransmittingrangetobelong,thedataisaccurateaswellasantijammingabilitystrongandsooncharacteristics,inthearticleintroducedDTMFthesignalreceivechipMT8870functionandthepin,andhavegivenDTMFsignalreceiverchipMT8870andthemonolithicintegratedcircuitconnectionrealizethedatatransmissionapplicationelectriccircuit,thearticleintroducedthissystem'scomposition,applies,theprincipleofworkandtheprogrammingmethod.
Keywords:
DTMF,Microcontroller,PhoneNumberControlling,Liquidcrystaldisplay
1绪论
电话是人们使用最广泛、最普遍的通信工具,以电话为基础的各种扩展设备不断地被开发应用。
随着社会的发展和科技的进步,越来越多的家用电器进入了人们的生活,这些家用电器给人们的生活带来了很多的方便和享受,同时随着电话在家庭的普及,电话机的功能将进一步得到开发和利用。
为使电话使用更方便、更安全,已出现不少具有防盗打、来电显示等功能的电话附属装置,但其功能单一,使用不方便,而且不能限制用户,使其任期拨打各种号码,尤其在企事业单位出现了使用单位电话随意拨打长途电话及一些话费较高的特殊服务电话的现象,导致企事业的电话费用巨增、浪费,因此设计一种具有限拨功能、来去电显示、语音提示等多功能的电话智能控制器将会给日常生活,特别是企事业单位带来极大的方便。
电话智能去电控制器就是为此而开发的。
本文介绍了一种基于单片机的电话机智能控制装置,该装置利用双音多频电话机,可以通过对单片机的设置实现对电话机的控制。
本系统在普通电话的基础上,以DTMF解码芯片MT8870为核心器件,对被叫号码进行解码,以单片机AT89C51为主控器件,对被叫号码进行识别,根据被叫号码内容控制电路的通断,本系统的用户操作内容均可以被液晶显示器清晰显示。
该系统进行人性化设计具有实用性强,使用方便,操作灵活等特点,具有较高的使用价值。
2系统总体设计
2.1系统功能描述
本系统主要是针对那些在企事业单位中,利用单位公司电话随意拨打长途电话或拨打收费较高的特殊服务电话而设计的。
根据设计任务及实际需要,用户可以自行设置任一个或者任一间段的权限电话,并有密码保护且可自设密码。
当拨打电话时,系统会判断是否输入的是密码,如果不是系统会自动与用户存储的号码进行比较,分析是否属于权限电话,对于权限电话系统会报警并且会自动切断电话。
如果输入密码正确的话,系统就会识别到用户为合法用户,不执行任何操作,即所拨号码可以被拨出。
此外系统还设计了功能键,用于修改密码和设置权限电话。
当摘机后,系统会自动检测到已摘机,这时系统就会检测功能键是否按下,如果按下的话,系统就会根据你所输入的密码来判断你是要修改密码还是要修改权限电话。
如果摘机后没有按下功能键也没有拨号,系统就会延时等待三秒后自动断开线路并复位。
2.2系统硬件总体框图
为了实现以上功能,电话智能控制器的硬件电路由AT89C51单片机、摘挂机检测电路、双音频信号DTMF识别电路、报警电路、液晶显示电路、AT24C16存储电路及输出控制电路构成,其框图结构如图1所示。
系统工作原理:
系统上电,单片机复位,系统开始监视电话机是否摘机,当电话机摘机后,系统接着检测是否按下功能键,如果此时功能键按下的话,系统就转入号码存储和密码修改功能;如果此时没有按下功能键,而是拨打电话号码,那么系统就将电话机发出来的双音多频信号DTMF送到MT8870双音多频解码器进行解码,双音多频解码器将解出的数字信号送到单片机与预先存储的数据(电话号码)进行比较,然后来决定是否接通被叫,当用户所拨的号码与设置的号码不同时,则单片机输出控制信号,驱动控制电路断开电话机与交换机的连接,同时发出报警声,从而以实现控制过程。
图1硬件设计方框图
3系统硬件电路设计
电话机智能去电控制系统是以AT89C51作为主要控制器件,基于MT8870作为DTMF双音多频解码芯片,在硬件结构上主要有话机摘机检测电路、DTMF信号识别及解码电路、报警电路、继电器控制电路及存储和液晶显示电路等[1]。
3.1DTMF信号
3.1.1DTMF信号理论基础
双音多频DTMF信号由高低频群组成,高低频群各包含4个频率。
一个高频信号和一个低频信号叠加组成一个组合信号,代表一个数字[2]。
DTMF信号有16个编码,分别对应电话机上的16个按键及相应的功能[3]。
按照组合原理,它必须有8种频率中任意抽出2种进行组合,又称其为8种取2的编码方式。
双音多频的拨号键盘是4×4的矩阵,每一行代表一个低频,每一列代表一个高频。
每按一个键就发送一个高频和低频的正弦信号组合[4]。
DTMF信号的频率组合及对应的编码如表1所示。
3.1.2MT8870介绍
MT8870是一种双音多频解码芯片,由于它电路实现简单所以得到广泛应用,MT8870是MITEL公司生产的DTMF解码器,为CMOS电路,DIP封装。
它具有DTMF信号分离滤波和译码功能,可直接与MCS-51系列单片机接口[5]。
图2为MT8870引脚分配图。
MT8870采用了标准的微处理器接口,他的内部寄存器、控制接口和数据总线便于实现与微处理器的直接相连。
并通过微处理器对电路进行工作模式控制,使得信号的接受和发送变得简单。
MT8870内部有5个寄存器,可分为数据暂存寄存器、收发控制寄存器和收发状态寄存器。
表1DTMF信号的频率组合及对应编码
低频组(Hz)
高频组(Hz)
D4D3D2D1
键号
697
1209
0001
1
697
1336
0010
2
697
1477
0011
3
770
1209
0100
4
770
1336
0101
5
770
1477
0110
6
852
1209
0111
7
852
1336
1000
8
852
1477
1001
9
941
1336
1010
0
941
1209
1011
*
941
1477
1100
#
697
1633
1101
A
770
1633
1110
B
852
1633
1111
C
941
1633
0000
D
其引脚说明如下:
IN+、IN-为运放的同、反相输入,DTMF信号输入端;GS为运放输出端,通过外部接入的反馈电阻可调节其内部放大器增益;VREF为基准电压输出;INH、PWDN为内部连接点,应接至VSS端;OSC1、OSC2为振荡器输入、输出,可外接3.58MHZ晶振;TOE为数据输出控制端,当它为高电平时允许输出数据;D1~D4为数据输出端;STD为延迟控制输出端;ST为控制输入端/时间监测输出端;EST为初始控制输出端;VDD接正电源,VSS为接地。
MT8870在具体的应用时需要注意一下电话线的接法是否符合MT8870芯片的规则。
将电话线的正极TIP接入芯片的IN+,电话线的负极LING接入芯片的IN-。
图2MT8870引脚分布图
图3MT8870内部结构图
MT8870的内部功能模块图见图3,其基本工作流程如下:
模拟信号从IN-脚引入后,经双音滤波器初步滤除带外干扰信号,随后,此滤出信号再经高群滤波器和低群滤波器分别滤出其中的高频和低频分量,这两种分量分别通过过零检测后送给数字检测计算电路;该电路对音频信号进行进一步的优化,能排除外部噪声因偶然含有某些特定频率而被编码器编码,或者影响编码器的编码,从而引起后续的收号错误。
当高,低频组信号同时被编码器测到时,EST脚将输出高电平作为有效检测DTMF信号的标志;而当此DTMF信号消失时,EST将输出低电平;为了防止外部噪声被MT8870误编码,编码器要求被编码器的音频信号能维持一段时间。
这段时间由外部的一个RC电路来决定。
如前所述,当音频信号被检测到时,EST输出高电平1,电容放电,VC上的电压值上升(假设信号在整个要求时间内都存在),VC升到一个门限Vtst时,该音频信号即被编码,变成了数字信号,该数字信号将被锁存起来。
此时,GT脚输出高电平,使VC点的电压由门限值升到VDD,此后,只要EST仍保持为高,GT就为高,使外部的RC电路回到初始状态。
随后,经过一段锁存操作引起的延时后,STD脚输出高电平,表示信号已锁存完毕。
这时,外部器件若要从Q1-Q4上读这四位编码,应使TOE为高,打开锁存器[6]。
3.1.3MT8870电路设计
双音多频信号识别解码电路主要有MT8870及其外围电路组成,如图4所示。
用户音频电话发出的双音多频(DTMF)信号通过电容及电阻耦合芯片的第2脚,2脚是芯片内部运算放大器的反向输入端,3脚是运放的输出端,输入输出之间接一个100千欧的比例放大电阻。
芯片的11脚至14脚是DTMF信号的二进制代码的输出数据通道。
它们与单片微处理机的数据总线相连。
芯片内部的DTMF信号代码可通过此通道进入控制电路的RAM中。
芯片的18脚接电源+5V,16、17、18脚之间所接的电阻及电容是识别DTMF信号所需的时间常数电路。
5、6、9接地,1脚与4脚相连,7、8之间接一个3.58MHZ的晶振,分频产生芯片内部所需的DTMF信号双音中的各单元比较信号。
芯片的15脚是DTMF信号检测输出,当芯片接收到双音多频信号时,15脚为高电平,平时15脚为低电平。
芯片的10脚为数据允许输出端,允许芯片接收到的DTMF二进制代码从11-14脚上输出,高电平有效。
平时10脚保持低电平,11-14脚为高阻态。
这种接线方式是常规使用时的接线方式。
一块芯片在同一时刻只能接收一个用户终端送来的DTMF信号[7]。
图4MT8870应用电路
3.2摘挂机检测电路
摘挂机及拨号脉冲识别电路如图5所示。
电路中,采用了光电耦合器件。
在这里使用光电耦合器能够有效的隔离来自电话线路中的各种频率干扰,确保对摘机信号的正确识别。
当用户摘机时,交换机为用户提供20—50mA的恒流,此时光电耦合器导通,将光耦的输出端降为TTL低电平,然后将此电平送至C51单片机的P1.7端;当用户挂机时,电话线路中因为没有恒电流流过,所以光电耦合器截止,将光电耦合器的输出端升为TTL高电平,然后将此电平送至C51单片机的P1.7端[8]。
因此,摘机检测电路在设计时根据P1.7端的TTL高、低电平的变化,就可以在软件上实现对摘机情况的判断。
图5摘挂机检测电路
3.3继电器控制电路
继电器控制电路的原理图如图6所示,其核心器件是PNP三级管和继电器。
本电路的工作原理是:
当用户拨打电话号码时,单片机经过禁拨电话号码分析对比后,经确认是非合法用户号码时,就会在P2.6端输出一个TTL低电平,从而使三级管导通,此时继电器就会通电正常工作,使其常闭触点断开,从而使电话机与交换机断开,以达到控制的目的。
电路中并联在继电器两端的二级管,用于保护继电器。
图6继电器控制电路
3.4液晶显示电路
3.4.1液晶显示模块1602控制
液晶显示模块1602在使用的时候首先进行初始化操作。
这些操作以及向显示器送入显示数据都需要先输入控制指令,然后根据指令的内容对显示模块进行相应的操作。
初始化的内容包括清屏、功能设置、显示开/关控制、输入方式设置。
对液晶显示模块1602的初始化有两种方法,其一是电路电源满足模块自身的初始化条件,其二是利用软件的方法进行[9]。
其具体的指令功能见表2所示。
表2液晶模块1602指令表
指令名称
指令码
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
说明
清屏
LLLLLLLLLH
清除屏幕,置AC为零
返回
LLLLLLLLHX
设DDRAM地址为零,显示回原位,DDRAM内容不变
输入方式设置
LLLLLLLHI/DS
设光标移动方向并指定整体显示是否移动
显示开关控制
LLLLLLHDCB
整体显示开关(D),光标开关(C),及光标位的闪烁(B)
移位
LLLLLHS/CR/LXX
移动光标或整体显示,同时不该变DDRAM的内容
功能设置
LLLLHDLNFXX
设接口数据位数(DL),显示行数(L),及字符(F)
CGRAM
地址设置
LLLHACG
设CGRAM地址,设置后
CGRAM数据被发送和接收
DDRAM
地址设置
LLHADD
设DDRAM地址,设置后
DDRAM数据被发送和接收
读忙(BF)
及地址计数器
LHBFAC
读忙位(BF)判断内部操作并读地址计数器内容
写数据
CG./DDRAM
HL写数据
写数据到CG或DDRAM
读数据
CD/DDRAM
HH读数据
读数据由CG或DDRAM
3.4.2液晶显示模块1602字符库
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”[9]。
字符库详细内容如表3所示。
表3液晶显示块1602字符库
3.4.3液晶显示模块1602应用电路
本电路应用P1口作为8位并行数据端口,接至D0-D7,用于输入数据信号;应用P3.5、P3.6、P3.7作为使能端,接至1602功能端,控制液晶模块的读写操作。
1602的1、2脚接一个5V的电源,3脚通过一个电位器接至电源正极,用于调整屏幕的对比度[9]。
电路图如图7所示。
图7液晶显示模块1602应用电路
3.5I2C总线
3.5.1I2C总线简介
I2C总线是PHILIPS公司推出的芯片间串行数据传输总线,2根线(SDA、SCL)即可实现完善的全双工同步数据传输,能够十分方便的构成多机系统和外围器件扩展系统。
它提供一小型网络系统为总线上的电路共享公共的总线,总线上的器件有单片机LCD驱动器以及E2PROM器等等。
两根双向线中,一根是串行数据线(SDA),另一根是串行时钟线(SCL)。
总线和器件间的数据传输均由这根线完成。
每一个器件都有一个唯一的地址,以区别总线上的其它器件。
当执行数据传输时,谁是主器件,谁是从器件详见表4所示。
主器件是启动数据发送并产生时钟信号的器件,被寻址的任何器件都可以看作从器件。
I2C器件是把I2C的协议植入器件的I/O接口,使用时器件直接挂到I2C总线上,这一特点给用户在设计应用系统带来了极大的便利。
I2C器件无须片选信号,是否选中是由主器件发出的I2C从地址决定的,而I2C器件的从地址是由I2C总线委员会实行统一发配[10]。
表4I2C总线名词解释
术语
说明
发送器
发送数据到总线上的器件
接收器
从总线上接收数据的器件
主器件
启动数据传送并产生时钟信号的器件
从器件
被主器件寻址的器件
多主器件
一个以上的主器件能同时企图控制总线而不破坏信息
仲裁
一个以上的主器件同时试图控制总线时,只允许一个有效从而保证数据不被破坏的过程
同步
使两个或更多的器件的时钟信号同步的过程
3.5.2I2C总线特性
I2C总线特性仅需两根线一根串行数据线SDA和一根串行时钟线SCL。
与总线相连的每个器件都对应一个特定的地址采用软件寻址方式每个器件在整个通信过程中都是单一的主控器/从控器身份主控器可用作主控发送器或主控接收器。
I2C是一种真正的多主总线含有错误检测和总线仲裁功能可以防止2个或更多主控器同时启动数据传输而产生数据混乱。
串行8位传输方向确定的可双向传输的数据传送速率可由标准I2C模式下的100Kbit/s快速模式下的400Kbit/s直至高速模式可高达3.4Mbit/s。
可滤除50ns数据线上的尖峰脉冲保持数据的完整性。
连接到同一总线上的IC数目受限整个I2C系统的总线电容不可超过400PF。
3.5.3I2C总线读写时序
总线上,每一次数据传送,都是由主器件发送起始信号开始,发送停止信号结束,见图8所示。
主器件然后送从器件的特征地址,对E2PROM而言,从器件地址的前四位是固定的“1010”,接下来的三位标定器件的组合地址,以便知道哪一个2K存贮器被寻址,最后一位是读写位,“1”表示读命令“0”表示写命令,见图9所示。
图8开始/停止时序
图9从地址位
图10应答信号时序
当主器件送完起始控制命令后,地址与自己相符的从器件会产生一个应答位,见图10。
进行读还是写操作将由R/W位决定。
3.5.4总线协议
I2C总线协议定义如下:
只有在总线空闲时才允许启动数据传送;在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变;时钟线为高电平时,数据线的任何电平变化将被看作总线的起始或停止信号。
3.6AT24C16简介
AT24C16是美国ATMEL公司的低功耗CMOS串行EEPROM,具有I2C总线接口功能。
它是内含2048×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点[11]。
由于I2C总线可挂接多个串行接口器件,在I2C总线中每个器件应有唯一的器件地址,按I2C总线规则,器件地址为7位数据(即一个I2C总线系统中理论上可挂接128个不同地址的器件),它和1位数据方向位构成一个器件寻址字节,最低位D0为方向位(读/写)。
器件寻址字节中的最高4位(D7~D4)为器件型号地址,不同的I2C总线接口器件的型号地址是厂家给定的,如AT24C系列E2PROM的型号地址皆为1010,器件地址中的低3位为引脚地址A2A1A0,对应器件寻址字节中的D3、D2、D1位,在硬件设计时由连接的引脚电平给定。
对于E2PROM的片内地址,如AT24C16,相应的寻址位数应为11位(211=2048)。
若以256字节为1页,则多于8位的寻址视为页面寻址。
在AT24C系列中对页面寻址位采取占用器件引脚地址(A2、A1、A0)的办法,例如AT24C16将A2、A1、A0作为页地址。
凡在系统中引脚地址用作页地址后,该引脚在电路中不得使用,作悬空处理。
其管脚功能如表5所示。
表5AT24C16引脚功能说明
管脚名称
功能
A0、A1、A2
器件地址选择
SDA
串行数据/地址
ACL
串行时钟
WP
写保护
VCC
+V2.5V~5.5V
GND
地
AT24C16应用电路如图11所示。
图中AT24C16的1、2、3脚是三条地址线,用于确定芯片的硬件地址。
在AT89C51试验开发板上它们都接地,第8脚和第4脚分别为正、负电源。
第5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,第6脚SCL为串行时钟输入线,SDA和SCL都需要和正电源间各接一个4.7K的电阻上拉。
第7脚需要接地。
3.7电源电路
由于本系统电源电路要为单片机、音频解码模块MT8870两个相对来说对电源要求较高的模块供电,所以采用了变压器降压经整流滤波后由集成稳压器7805稳压后给整个系统提供+5V电压的方式。
图11AT24C16应用电路
电路图如图12所示。
J3为9V交流变压器输入端,D1、D2、D3、D4构成桥式整流电路,经C1(2200uF)大滤波电容滤波后送入集成稳压器7805输入端,由输出端输出后再由C3(10uF)滤波后整个系统供电。
在此电源电路中,C2为交流高频耦合电容,防止交流高频信号经电源电路串入系统,对系统构成干扰。
R10和D5组成电源指示电路,显示电路是否工作。
由于7805普遍采用TO-220封装,其Vi-Vo≥2V。
所以选用较为常见的交流9V变压器,7805上的压降Vi-Vo=5V,在它的可承受范围之内。
图12电源电路
4系统软件设计
4.1系统总体流程图
为了实现监控的实时性,程序必须时刻对用户的状态和电话线上的信号实时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电话机 控制器 设计