对于89C51单片机和MT8880之间的接口问题,一直以来存在二个问题,首先89C51芯片没有一个单一的R/ 引脚,而分为 、两个引脚,无法和MT8880的R/ 端直接相连。另外89C51不能给出MT8880所需的Ф2脉冲。过去一般是采用添加硬件来解决,但是附加硬件不仅增加设备的体积,而且降低电路工作的可靠性。在这里我们采用的是MT8880与89C51单片机的最简单接口方法。
在图3中,将MT8880的D0—D3、R/ 、RS0、Ф2脚直接接在89C51的某一组I/O端口,片选直接接地,恒选通。当89C51对MT8880进行读写操作时,首先根据要进行的操作,确定出相应的控制字。进行写操作时,先把控制字送到P1口,给出 MT8880端口所需的电平及输入数据。然后从P1.6口送入正脉冲Ф2。具体程序如下:
MOV P1,#**H;送控制字
CPW:SETB P1.6 ;发Ф2正脉冲上升沿
NOP
NOP
CLR P1.6 ;发Ф2正脉冲下降沿
实用中,将标号CPW开始的语句写成子程序CPW,则使用更方便,写MT8880的程序可简化为:
MOV P1,#**H
LCALL CPW
同样,读MT8880时,先送控制字,再送Ф2脉冲。程序如下:
MOV P1,#**H
LCALL CPR
其中读MT8880的Ф2脉冲子程序CPR与上面写MT8880的Ф2脉冲子程序CPW稍有不同,如下所示:
CPR:SETB P1.6 ;发Ф2正脉冲上升沿
NOP
NOP
MOV A,P1 ;将读出数据存入ACC
ANL A,#0FH;数据在ACC低四位
CLR P1.6 ;发Ф2正脉冲下降沿
RET
按以上方法就可以对MT8880内部的数据寄存器、控制器及状态寄存器进行读写操作,控制MT8880工作。
有线/无线转接系统软件是为了满足通信之间的连接而设计的,其基本任务是识别各种输入信号,控制有关硬件电路完成转接关系并输出规定的显示信息。系统的输入包括操作过程中的按键输入和信道远端的呼叫请求,输出则体现为操作目的的实现和相应的声光信号。另外,为了保证系统在各种环境中正常运转,软件中必须采取抗干扰、采样延时等措施,提高系统的可靠性。本软件采用结构化程序设计方法,把按键处理、呼叫处理、灯光指示、自动拆线分别作成模块,彼此通过一族系统变量建立联系。这一组系统变量包含了接口控制、状态序号以及显示模式三部分。在不影响程序可读性的前提下,还加入了系统重入、复位陷阱等安全措施。
结语
本有线/无线混合指挥调度通信系统采用信令检测、处理及控制技术,提高了系统的可靠性、稳定性和实用性,该系统经过性能测试、功能试验、通信试验,其性能指标及控制功能均达到要求。与国内同类产品相比,具有功能全、可靠性高、抗干扰能力强、通话质量好的特点,达到国内先进水平。目前该系统已应用于有关大型试验场,满足其指挥调度通信要求。当然它强大的功能使得它不经改动或通过细微的改动就能应用到其它许多有有线/无线转接的系统上,有着较为理想的发展前景。