《单片机控制的小型简易程控交换系统.doc》由会员分享,可在线阅读,更多相关《单片机控制的小型简易程控交换系统.doc(34页珍藏版)》请在三一办公上搜索。
1、单片机程控交换机的分析摘 要:介绍了一种基于单片机控制的小型程控空分交换系统,他能模仿市话呼叫处理的各种基本功能。对该系统的硬件组成、软件设计、工作原理、各部分功能进行了详细地论述。 关键词:单片机、交换网络、用户线接口引言在现代生活中,电话已成为传递、交换信息不可缺少的通信工具。电话交换接续技术也在不断地发展,从人工交换机,到了程控电话交换机。打电话看来很简单,其实不然。每接通一次电话,在电话交换机里都是各个电路单元相互配合工作的结果。当你拿起电话听筒准备打电话时,电话就立即作好接线准备。你每拨一个号码,就有专门负责这个号码的机器找到适当的接线位置,一级一级地接下去,直到拨完号码,交换机就为
2、你找到了被叫用户。程控电话交换机是采用电子计算机作为控制设备,由计算机中存储的程序(也称软件)来控制电话的交换接续工作。把“存储程序控制”方式简称为“程控”。用户安装使用程控交换机的电话,就叫作“程控自动电话”,简称“程控电话”。程控电话具有接续速度快、声音清晰等特点。更可贵的是,用户一旦安装了程控电话,除了可以进行一般的电话通信外,程控自动电话交换机还可根据用户的申请为其开放多种服务项目。随着移动通信技术的发展,电话也在船舶上安了家.这些无线电话广泛地应用于业务联系,定时报告船位和进出港日期,听取陆地调动指挥,船上的海员还可以利用无线电话在遥远的大洋中向陆地上的亲属说点悄悄话,使得寂寞的海上
3、生活多一些温暖和欢笑.安全通信历来是海上移动通信的重要内容.在海上航行的船舶,随时面对着风浪,暗礁,浅滩以及相撞的危险,电话给船员们带来更多的安全.用户交换机是构成现代式通信网的重要设备,主要由用户线接口部分、交换网络和控制系统3大部分组成。控制系统依靠存储器中的程序和数据,引导微处理器对各种信令进行适当的处理,对交换网络和接用户交换机是构成现代交换式通信网的重要口实行必要的控制。由于微处理机功能的不断增强和集成电路成本的不断下降,人们已有可能用合理的造价生产出功能齐全的交换机。实际中实现交换系统的方案有较大差别,缺乏统一模式,这就给详细、具体地掌握系统的内部结构带来了一定的困难。基于以上原因
4、,我们考虑将单片机知识与程控交换的基本原理相结合来设计简易的交换系统。该系统采用单片机、网络交换芯片和用户接口电路芯片,以单片机为微控制器来实现通信系统的呼叫响应、处理、应答,话路接续,通话计时及复位拆线等基本功能。 交换机电路包括CPU板,公共控制板,用户板,双音频板及电源.如下图(1)所示:图1 交换机结构方框图每块用户板有四个指示灯来显示各用户的工作状态,当交换机对某用户振铃时,对应的指示灯以1秒亮,4秒灭的规律不断闪亮.用户摘机时,对应的指示灯常亮. 电源是将输入的交流220V或直流24V电压,变换成交换机所需要的+5V,+12V,DC24V直流电压和AC75V(25Hz)的铃流电压.
5、当交流电源和直流电源同时加到交换机上时,则由交流电源供电,直流电源为备份.电源单元具有过压和过流保护功能. 为了确保交换机电源工作的安全,在接线板上安装了保险丝,交流供电的保险丝规格为1A,直流供电的保险丝规格为5A. 本设备的每一个接口电路(振铃检测、模拟摘挂机、语音反馈、双音频解码等)都已经经过实际的交换机在线实验,具有很强的实用性。本设备使用最简单的电路、最便宜的电路芯片实现了完善的功能。本系统还有许多可以添加的功能,具有很强的市场前景。1 程控交换机的具体设计要求 主要技术指标适应话机号盘参数: 脉冲速度为812脉冲/秒,断续比(1.32.2):1 DTMF信号电平: 高频群-7MdB
6、3dB,低频群-9MdB3dB 用户线路参数: 用户线最大环路电阻不小于400. 信号音:拨号音 频率45025HZ,电平-103 dB,失真度10% 回铃音 频率45025HZ,通断时间为1秒通,4秒断 忙 音 频率45025HZ,通断时间0.35秒:0.35秒 传输衰耗: 内部通话回路的传输衰耗不大于2.0dB. 串音衰耗: 任意两通话回路的串音衰耗不小于68dB. 对地不平衡度: 不小于46dB. 杂音: 电话加权杂音电平小于-67dB 中继: 中继接口闭合的直流电阻不大于300,开路电阻大于100K. 铃流: 频率253HZ,电压7515V,失真度10% 供电 :AC220V10%(5
7、0/60HZ) DC24V15% 2 硬件电路分析21系统的组成及原理 工作原理在分析交换机一开始,我就想好了采用模块化分析,这也为以后的调试省下很多时间,具体的整部电路原理图我放在最后的附录上了。铃流及信号音电路用户接口1用户接口2交换网络单 片 机编码时钟电路DTMF解码显示电路PCM编解码图2 交换机系统原理方框图 本系统是依据程控交换原理设计的微型空分交换系统,系统原理框图如图2所示。其基本工作原理:当用户1摘机呼叫用户2时,交换机向主叫方发送拨号音,同时由单片机将主叫号码送七段显示器显示,主叫方拨打相应号码后,DTMF译码电路译出对应的编码并引起单片机中断,AT89C51读入数据同时
8、显示被叫号码,此时交换机切断拨号音并检测被叫方状态,若被叫用户忙则交换机向主叫方发送忙音,否则,向被叫方送铃流、向主叫方送回铃音。当被叫方摘机后,交换机切断铃流和回铃音,接续话路,双方开始通话并启动通话计时。当一方挂机后,计时停止显示通话时间并向对方送催挂音,对方挂机后系统拆线复原。22硬件电路组成2.2.1信号检测、信号音控制电路。图3 信号检测信号检测电路(如图3)用来检测用户的状态并接收用户拨打的电话号码,并根据用户状态启动相应的信号音控制信号。以2个通话用户为例,采用AT89C51的P1口与用户接口电路相连,用以检测是否有用户呼叫并控制DTMF解码电路。P1.0、P1.1用于接收主、被
9、叫方的摘挂机信号,用户摘机则话机经P1.0、P1.1向AT89C51发出一高电平信号,此时表示有用户呼叫。P1.3、P1.4通过模拟开关CD4066控制主、被叫双方的DTMF解码电路,高电平有效。采用8255的PC口接收话机经用户接口发送来的电话号码,单片机中断时从PC口读入数据。图4 信号音控制电路 信号音控制电路(如图4)采用8255芯片的PA、PB口进行控制,PA0、PA1作为铃流控制输出信号,PA4、PA5用作回铃音控制信号,PB0、PB1为忙控制信号,PB4、PB5为拨号音控制信号,各控制信号均为高电平有效。因此,1片8255可同时对2对用户的信号音进行控制。单片机根据检测到的用户状
10、态产生相应信号音的控制信号,以便向用户端发送信号音。2.2.2双音频解码电路输入电路高频组带通滤波器低频组带通滤波器过零检测器过零检测器码 变 换锁 存 与 缓 冲信 号 输 入图5 DTMF接收原理框图DTMF接收器包括DTMF分组滤波器和DTMF译码器,其基本原理如图4所示。DTMF接收器先经高、低频组带滤波器进行f(L)/f(H)区分,然后过零检测、比较、得到相应DTMF的两路f(L)、f(H)信号输出。该两路经译码、锁存、缓冲,恢复成对应于16种DTMF信号的4比特二进制(D1D4) 双音频解码芯片如图5所示:图6 MT8870双音频解码芯片该电路的基本特性:提供DTMF信号分离滤波和
11、译码功能,输出相应16种DTMF频率组合的4位并行二进制码可外接3.579545MHz晶振,与内部振荡器产生基准频率信号具有抑制拨号音和模拟信号输入增益可调的能力二进制码为三态输出提供基准电压输出电源:+5V功耗:15mwMT8870芯片引脚功能如表1所示:引脚符号功能引脚符号功能1、2IN+、-DTMF信号输入端9VSS电源负端3GS放大器输出信号10OEI数据输出允许4VREF参考电压输出1114Q0Q38421码输出端5TSI内连点15DV数据输出有效端6PD内连点16EST初始控制输出7OSC1震荡输入端17ST/GT控制输入/时间监视8OSC2震荡输出端18VDD电源正端表1是MT8
12、870的引脚功能。 双音多频DTMF信号解码电路由MT8870主要承担。MT8870的连线如图6所示:图6 双音多频DTMF信号解码电路AT89C51的P1.3、P1.4接模拟开关CD4066的13、12脚来控制MT8870的解码,高电平时允许解码电路工作。2个用户的双音多频信号分别由CD4066的1、11脚输入,经过MT8870内部的前置放大器送入高低频组带通滤波器,再经幅度检测器进入译码电路,最后从输出端输出相应的编码。采用CD4066还可起到隔离话音信号与DTMF信号的作用,以免对解码造成干扰。MT8870的STD接AT89C51的INT0,当STD电平由低变高时引起单片机中断读取电话号
13、码。DTMF板测试接上交流电源线; 先打开交流开关,指示发光二极管D00亮后,再分别按下直流输出开J8,J9.此时实验箱上的六组电源已供电,各自发光二极管亮.此时,CPU将对系统进行初始化处理,当LCD显示实验提示后,即可进行实验; 用户1,用户3接上电话机; 用户1摘机,开始拨打号码,即按电话机上的任意键,用示波器的直流档对以下测量点进行观察并记录波形: TPDTMF:当有键按下时有双音多频信号,无键按下时无信号; TPSDT:当无键按下时该点为高电平,有键按下时该点是低电平(脉冲); TP11:当有键按下时有双音多频信号,无键按下时无信号. 按不同的键时,其双音多频信号的波形不一样,要仔细
14、观察; 在按键过程中观察发光二极管D3D0与所按键值的关系:(显示二极管是在该按键抬起的瞬间发生改变的) D3D0对应的是8421码,如按下的键值为5时,对应的码字为0101,发光二极2.2.3交换网络电路 MT88165的工作原理:MT88165是CMOS大规模集成电路芯片。是一片8 * 16 模拟交换矩阵,如图7所示:图7 MT88165交换矩阵示意图图中有8条COL线(COL0-COL7)和16条ROW线(ROW0ROW15),形成一个模拟交换矩阵.它们可以通过任意一个交叉点接通.芯片有保持功能,因此可以保持任一交叉点处于接通状态,直至有断开控制信号或复位信号为止.CPU 可以通过地址线
15、 ACOL2ACOL0和数据线AROW3AROW0控制和选择需要接通的交叉点号.ACOL2ACOL0管COL7 COL0中的一条线;ACOL7ACOL0编成二进制码,经过译码以后就可以接通交叉点相应的 COLi.数据线AROW3AROW0管ROW15ROW0中的一条;AROW3AROW0也是编码的,经过译码以后就可以接通交叉点相应的ROWi.也就是说,通过控制相应的COLi和ROWi以接通有关的交叉点.例如要接通COL1和ROW8之间的交叉点.这时一方面向ACOL2ACOL0送001,另一方面向AROW3 AROW0送 1000.并使DI为高电平,当送出地址启动门ST时,就可以将相应交叉点接通
16、了,图中还有一个端子叫RESET复位端.当RESET为1时,全部交叉点就断开了. 电子接线器速度快,驱动要求低,并能自己保持.因此使用起来十分方便. 其它型号的芯片的基本原理也大致相同.区别只是容量不一样. 电子接线器的优点是体积小,价格便宜,它的缺点是导通电阻较机械接点大(一般几十欧姆到一百欧姆),并且串音衰耗也较机电的接线器小,因此电子接线器组成的交换网络和由机械接点组成的交换网络也有所区别. 用户交换电路图8 用户交换电路 电子接线器是空分交换网络的核心部件,我采用MT88165来完成通话双方线路的接续(如图8所示)。MT88165芯片是816的模拟开关阵列,8路列输入/输出(Y0Y7)
17、和16路行输入/输出(X0X15)形成模拟交换矩阵,芯片有保持电路,可保持任一交叉点处于接通状态,直至接收到复原信号为止。 AT89C51 的P0口通过列地址线AY0AY2和行地址线AX0AX3控制列线与行线选择需要接通的交叉点(例如,要接通Y0和X1间的交叉点需向AY0AY2送000,向AX0AX3送1000)。DATA为交叉点开关控制位,高电平时交叉点开关连通相反则断开。RST为复位信号输入,高电平时全部开关均置于截止状态。STB为选通脉冲输入,AT89C51送入列、行地址码后还必须给STB端送一脉冲信号同时DATA置高电平,才能使MT88165完成接续工作,MT88165拆线复原的过程与
18、接续过程类似,此时只须将DATA置低电平即可。 交换网络向用户端发送的各种信号音的接通和切断可通过相应的信号音控制信号(8255的PA、PB口)选通CD4066来实现。交换网络电路测试步骤: 接上交流电源线; 先打开交流开关,指示发光二极管 D00 亮后,再分别按下直流输出开关 J8,J9.此时实验箱上的六组电源已供电,各自发光二极管亮.此时,CPU将对系统进行初始化处理,当LCD显示实验提示后,即可进行测试; 将四个用户接上电话机; 首先用户1呼叫用户3,并进行通话,然后用户2呼叫用户4通话; 用双踪示波器观察 用户1说话时(或按电话上的任意键), (用户1的去话), (用户3的来话)有语音
19、波形(或双音多频信号),且波形一致,只是(用户1的去话)的幅值比(用户3的来话)的幅值大;不说话时无波形; 用户3说话时(或按电话上的任意键), (用户3的去话), (用户1的来话)有语音波形(或双音多频信号),且波形一致,只是(用户3的去话)的幅值比(用户1的来话)的幅值大;不说话时无波形; 用户2说话时(或按电话上的任意键), (用户2的去话), (用户4的来话)有语音波形(或双音多频信号),且波形一致,只是(用户2的去话)的幅值比(用户4的来话)的幅值大;不说话时无波形; 用户4说话时(或按电话上的任意键), (用户4的去话), (用户2的来话)有语音波形(或双音多频信号),且波形一致,
20、只是(用户4的去话)的幅值比(用户2的来话)的幅值大;不说话时无波形. 2.2.4用户接口电路用户接口电路方框图如下图6所示:震铃过压保护馈电测试监测混合编码器编码器控制系统交换网络用户接口图9 用户接口电路方框图用户接口电路是由用户线接口芯片MH88615和PCM编解码芯片TP3067组成,如图(9)。两者共同完成BORSCHT七项功能。用户线接口检测到用户1摘机后,MH88615的SHK引脚输出一高电平至P1.0,AT89C51将8255的PB4端置高电平控制交换网络向用户1送拨号音,单片机收到正确号码后控制系统发出振铃控制信号即将8255的PA1置高电平并由MH88615的RC脚输入,驱
21、动继电器K闭合向用户线接口2送振铃,同时将PA4置高电平控制交换网络向用户1送回铃音。当用户2摘机时,其接口电路的SHK脚输入一高电平至P1.1,单片机控制MT88615接续通话线路。当任一方挂机时其相应的SHK输出一低电平控制系统向另一方送催挂音。图10 用户接口电路线路接续成功后,话音信号经MH88615的VS输出送入TP3067中进行编码。PCM编码器的抽样频率为8 kHz,由帧同步脉冲FSX获得,FSX除提供PCM抽样频率外,还选通输出缓存器使缓存器中的8 B,自FSX下降沿开始以主时钟2.048 Mb/s的速率由DX端输出至交换网络,主时钟由MCLKX脚输入。PCM解码是指将来自交换
22、网络的主时钟频率的PCM信号在帧同步信号FSR的下降沿开始时由DR接收至输入缓存器中,其主时钟频率由MCLKR输入仍为2.048 Mb/s。二/四线变换电路 二/四线变换由用户线接口电路中的语音单元电路实现,图9为电路的功能框图,该电路完成二线单端之间信号转换,在PBL38710内部电路中已经完成了该变换. 图11 二/四线变换功能框图 二/四线变换的作用就是把用户线接口电路中的语音模拟信号(TR)通过该电路的转换分成去话(T)与来话(R),对该电路的要求是:将二线电路转换成四线电路;信号由四线收端到四线发端要有尽可能大的衰减,衰减越大越好;信号由二线端到四线发端和由四线收端到二线端的衰减应尽
23、可能小,越小越好;应保持各传输端的阻抗匹配,以便于PCM编译码电路形成发送与接收的数字信号. 2.2.5电源电路电路控制芯片KA3525KA3525脉宽调制型控制器,更适合运用MOS管作为开关器件的DC/DC变换器,它是采用双级型工艺制作的新型模拟数字混合集成电路,性能优异,所需外围器件较少。它的主要特点是:输出级采用推挽输出,双通道输出,占空比0-50%可调。每一通道的驱动电流最大值可达200mA,灌拉电流峰值可达500 mA。可直接驱动功率MOS管,工作频率高达400KHz,具有欠压锁定,过压保护和软启动等功能。该电路由基准电压源、震荡器、误差放大器、PWM比较器与锁存器、分相器、欠压锁定
24、输出驱动级,软启动及关断电路等组成,可正常工作的温度范围是0-+125C。基准电压为5V,工作电压范围很宽,为8V到35V。 引脚功能KA3525采用16端双列直插DIP封装,引脚图及各端子功能介绍如下:表3 KA3525引脚功能引脚符号功能引脚符号功能1、2-反向输入端9COM补偿端2+同向输入端10OFF关断端3OSC同步输出端11OA脉冲输出端4OSC同步输出端12GND接地端5CT震荡电容端13C推挽输出电路电压输入端6RT震荡电容端14OB脉冲输出端7N2放电端15VDD电源正端8软启动16VREF基准电压端 电源电路分析本电路主要有控制电路、跟踪稳压电路和保护电路组成。原理框图如下
25、图13所示:图13 控制电路图14 多路输出可调电压输出、电压检测电路 输入滤波回路图16 输入滤波电路该回路主要由桥堆全波整流、耦合变压器隔离干扰、大电容滤波、在经过7809三端稳压块把输入电压稳定在9V供给KA3525工作,其目的是抑制输入电源中的电磁燥声干扰和传导干扰,也阻止本开关电源的高频电子开关所产生的高频电磁波通过电源线进入电网干扰其他设备。本开关电源的输入电压为85V265V,输出功率P1为286W,工作频率为200KHz,效率为90%,占空比最大D为0.5直流输入回路的平均电流Id:输入最低直流电压: V1 = 85 *1.18 = 100 V 输入电功率: P = P1 /
26、N = 286/0.9 =316(W)输入有效电流: Ids= P1 / V1 = 286/100 = 2.86(A)输入回路平均电流: Idc= Ids *D = 2.86*0.5= 1.43(A) 脉宽控制回路图17 PWM控制回路脉宽控制回路由KA3525和其相关的电阻、电容所组成,其作用是产生一个占空比可变的控制脉冲,驱动功率转换电路的VT1、VT2。该电路采用KA3525有力地提高了PWM的控制范围和控制精度。因为KA3525片内集成了斜波发生器、脉宽调制器、T型触发器、基准电压源以及两只脉冲驱动晶闸管等多个功能电路,所以使外围元器件数量大大减少,简化了电路设计。24V直流电压经W7
27、809三端稳压块降压向IC1的 13脚提供9V的直流电压,同时IC1的脚从电源中获得了电力,使片内振荡器起振。起振了的频率与误差放大器的信号进行脉冲调制、选通及内部逻辑处理,然后由输出级输出一可控制的脉冲调制信号并从11脚和14脚传输出去。调制脉冲经开关晶闸管VT1和VT2放大后驱动高频变压器。由于驱动电路的作用,两只晶闸管VT1和VT2交替导通。当VT1导通时,电源电压加在高频变压器上,VT2的漏极通过变压器耦合作用承受2倍供电电压,电流经过78系列三端稳压块得到+5V、+6V、+12V。当VT1关断时,由于次级电能的储备和漏感的原因,VT1的漏极电压将升高,通过变压器耦合,VT2的漏极电压
28、下降。KA3525具有软启动功能,实质上是由内部5V基准源经50uA的恒流源给KA3525接一电容充电实现的,在电容器充电的过程中仍以电容器上的电压缓升来达到PWM脉宽缓慢展宽的目的,基于这种考虑,当给定KA3525的8脚上给定一电压值,应得到一固定脉宽输出,根据KA3525的资料手册,给定KA3525的8脚上的电压典型值超过3.2V小于5V内脉宽不变,也就是当电压值达到3.2V时,KA3525的输出为最大脉宽,当从某一电压值上升至3.2V时,在这段电压范围内,对应的电压值对应了固定的脉宽输出,以高频变换也就得到了相应的电压输出,由此输出可调的目的也就达到了。图17所示,通过外接开关调整管V1
29、、V2,可实现扩流。11和14脚将芯片内部输出管A和B并联作为外接复合调整管V1和V2的驱动级。5、6脚分别接入R5和C2,故震荡器的震荡频率f = 1.15/(20*1000*0.01*10-6F)=5.75KHz由16脚输出的5V基准电压经R3、R4的 分压的U(ref)=5V*R4/(R4+R3)=2.5V,送到误差放大器的同相输入端2脚。本电路采用光电耦合调制脉冲宽度来稳定输出,输出电压稳定度在3%上下范围内波动。 多路输出电路图18 多路输出电路高频电压经过全波整流、以及型滤波和用78系列稳压管得到一个波纹波动很小的直流电压输出,光电耦合器为KA3525提供一个反馈电压,为下一步频率
30、转换、脉宽调制提供条件。 输出电压可调回路图19 输出电压可调原理图调整、比较放大电路基准电压取 样 电 路U1U0+图20 结构框图 输出电压可调电路组成框图如图20所示:它由调整管、取样电路、和比较放大电路等部分组成。图19所示为稳压电源原理图,V1为调整管,它工作在线性放大区,稳压管D1提供基准电压为V1的发射极提供基准电压,R1、R2和Rp组成取样电路,它将稳压电路的输出电压分压后送到V1管的基极,V1管此时构成比较放大电路,用来对取样电压与基准电压的差值进行放大。当输入电压U1增大(或负载电流减少)引起输出电压U0增加时,取样电压Uf随之增大,Uz与Uf的差值减少,经V1管放大后使本
31、身基极电压减少,集电极减少,管压降增大,输出电压减少,从而使的稳压电路的输出电压上升趋势受到限制,稳定了输出电压。同理,当输入电压减少或负载电流增大引起输出电压减少时,电路将产生上述相反的稳压过程,亦将维持输出电压不变。 过压保护回路图21 过电压保护电路该电路是由VT4、R15、R16、VD5、R8组成的。正常工作时,流入R15的直流电压在其上产生压降,使VT4导通。当负载过大或短路时,使VT4导通,在VD5上产生0。7V左右的压降并送入KA3525的13、15脚使振荡输出脉冲变窄甚至锁定PWM运行,使输出脉冲截止,达到保护电源的目的226信号音产生电路图22 信号音产生电路交换机向用户发送
32、的铃流信号是25 Hz、幅度为90 V的方波信号,拨号音、回铃音、忙音、催挂音是通过控制450 Hz交流信号的断续时间来产生的,各种信号音可由单片机编程产生,但为避免程序过于复杂,使AT89C51更好的对系统主要部分进行监控,设计中各种信号音的产生均采用硬件电路完成,可由555芯片配以适当的外围电路产生各种信号音。 拨号音及产生电路图23 450Hz拨号音产生电路主叫用户摘机,单片机检测到大、该用户摘机状态后,立即送出声音信号,表示可以拨号,当单片机收到第一个拨号脉冲后,立即切断该声音信号,该信号就叫拨号音.拨号音用连续的信号音,其频率为400450Hz,幅度在1.0V左右的正弦波. 回铃声及
33、控制电路图24 25Hz回铃声及控制电路回铃音信号由单片机控制输出,通知主叫用户正在对被叫用户振铃,回铃音信号,频率也同拨号音频率,断续周期为1秒通,4秒断的重复周期为5秒的信号,与振铃一致.(7)号码显示电路图25 号码显示电路 显示电路主要利用了8255芯片作为AT89C51的扩展输出口,由8155、74LS240和MC1413及七段LED组成,用来显示主叫、被叫方号码及通话时间。8155的PA口与MC1413相连经反相后作为数码管的位选信号,PB口经74LS240作为段选信号送数码管显示,片选信号接AT89C51的P2.7。由于整个系统较为复杂,在显示电路的调试过程中我们只采用了5位数码
34、显示管,中间3位显示通话时间(1位分钟,2位秒针),前后2位分别显示主被叫方的代号(如用户1用1表示,用户2用2表示),但只须对程序稍加变动既可使分别显示主被叫放的电话号码和通话时间。3 整机调试与故障分析3.1 主叫摘机检测 主叫方摘机后,显示电路显示主叫号码,拨号音控制信号置高电平,交换网络向主叫方送拨号音,等待主叫方拨打电话号码。3.2 拨号检测与等待摘机 检测到拨号脉冲后,立刻切断拨号音,AT89C51响应中断读取电话号码对应的二进制编码。若被叫号码对应的话机不存在或被叫方处于状态,则忙音控制信号置高电平,交换网络向主叫方送忙音,催其挂机;若号码检测正确则铃流控制信号置、回铃音控制信号
35、置高电平,交换网络向被叫方送铃流信号,同时向主叫方送回铃音。MT8870的收发程序说明 : 单片机的 P0.0-P0.3 分别接入 8870 的 D0-D3; 单片机的 P0.4-P0.7 分别接 8870 的 RS0CSR/W?2.( 其中 ?2 是由时钟和 P0.7 共同控制的 )ORG 0000HAJMP MAIN;* 8870 初始化 *MAIN: MOV A, #90H MOV P0, A ; 写 8870CRA MOV P0, A ; 写 8870CRA MOV A, #98H MOV P0, A ; 写 8870CRA MOV A, #90H MOV P0, A ; 写 8870
36、CRB MOV A, #94H MOV P0, A ; 写 8870CRA,8870 模式 1 为 DTMF,IRQ* 接收程序 * MOV R1, #0 MOV R0, #10HLOOP1: MOV A, #0FFH MOV P0, A SETB P0.7 SETB P0.4 CLR P0.5 SETB P0.6 MOV A, P0 ; 读 8870 状态寄存器 JNB ACC.2, LOOP1 CLR P0.4 MOV A, P0 ; 读 8870 接收数据寄存器 ANL A, #0FH ; 屏蔽高四位 MOV R0, A I NC R0 INC R1 CJNE R1, #07H, LOO
37、P1 发码程序 * MOV R0, #10H MOV R1, #7 MOV A, #9DH ; 写 8870CRA MOV P0, A MOV A, #90H MOV P0, A ; 写 8870CRB,8870 模式 2 为 TONE,DTMF,IRQ,BURSTLOOP2: MOV A, R0 ORL A, #0F0H ANL A, #8FH MOV P0, A ; 发送数据 MOV A, #0FFH MOV P0, A SETB P0.7 SETB P0.4 CLR P0.5 SETB P0.6LOOP3: MOV A, P0 ; 读 8870 状态寄存器 NB ACC.1, LOOP3
38、 INC R0 DJNZ R1, LOOP23.3 话路接续 检测到被叫方摘机信号后,系统停止发送铃流和回铃音,AT89C51启动MT8816接通通话线路。3.4 计时与通话检测 线路一旦接续成功,双方即可进行通话,AT89C51内部时钟计时开始,通过8155芯片加以显示。对用户状态进行判断,当检测到任一方挂机信号后,跳出计时程序交换网络向未挂机用户送催挂音(本系统中催挂音用忙音代替),双方挂机后,AT89C51控制MT8816拆除通话线路,回初始化程序重新等待用户摘机。3.5 显示 动态显示主、被叫方的电话号码及通话时间。8155初始化,设定PA口、PB口工作在输出状态,PCK口为输入、为A
39、LT1方式,控制字为03H代码转换,从PB口输出段选码,应将待显示的字符09自动转换成段选码,为此,在EPROM中开辟一个换码表区,有指令查表取出段选码。位选码的形成。显示从最左边一个LED开始,位选码为7FH,由PA口输出,然后右移一位选择左边两位,依次轮流进行。根据上述分析,5位动态LED显示子程序框图如图20所示:8155初始化PA、PB置成基本输出方式动态显示初始化显示缓冲区首址 10HR0动态显示位选码 7FHR3位选码8155PA口取代显示数据,并查表换成相应端选码8155PB口延时1ms显缓指针加1,R0+1R0五位显示完吗?显示下一位,R3右移一位返回显示子程序入口NY图25
40、5位动态LED显示子程序流程图根据图25编写的程序清单如下:DIS: MOV A, #03H ;8155命令字PA、PB口基本输出 MOV DPTR, #7F00H ;8155 I/O命令口地址 MOVX DPTR, A ;写入8155方式命令字 MOV R0, #10H ;送片内显示缓冲区RAM首地址 MOV R3, #7FH ;位选码、最左一位先亮 MOV A, R3 ;暂存于A中 LD0: MOV DPTR, #7F01H ;指向PA口地址 MOVX DPTR, A ;从PA口输出位选码 MOV A, R0 ; 取待显示数据送A MOV DPTR, #TABLE ;指向换码表首地址 MO
41、VC A, A+DPTR ;取出对应段选码 MOV DPTR, #7F02H ;指向PB口地址 MOVX DPTR, A ;从PB口输出段选码 ACALL DL1 ;调用延时1ms子程序 MOV A, R3 JNB ACC.3 LD1 ;判断5位LED显示完否,显示完则转 RR A ;未显示完右移一位,变成下一位选码 MOV R3, A ;暂存 INC R0 ;指向下一个PAM显示地址 LJMP LD0 ;转回,显示下一个数据LD1: RETTABLE: DB 3FH ;0 DB 06H ;1 DB 5BH ;2 DB 4FH ;3 DB 66H ;4 DB 6DH ;5 DB 7DH ;6 DB 07H ;7 DB 7FH ;8 DB 6FH