单片机与PC机电话远程通信系统

江 冰  张学武

  摘要:结合电话远程采集灌区水位/流量的研究课题,系统地介绍了采用89C51与通用异步收发器8250接口和控制智能MODEM以实现单片机与PC机在有线公共电话网中进行远程数据通信技术。
  关键词:异步收发器;MODEM;串行通信
  中图分类号:TP274+.2    文献标识码:A

Telephone Telecommunication System by SINGLECHIP & PC

JIANG Bin   ZHANG Xue-wu
(Computer & Information Department,He Hai University,Changzhou 213022)

  Abstract: This paper is based on research project about irrigation district water line & water flux by telephone remote acquisition ,by the numbers introduce technique of interface about 89C51 & 8250 ,and control intelligent MODEM implement remote data communications between singlechip and PC by the PSTN .
  Key words: asynchronism transceiver ;MODEM ; serial communication

1.引言
  随着通信技术的不断发展,计算机网络系统通信是当今技术发展的一个重要的方向,然而在网络系统中利用现有电话网作为通信信道则是最经济、最方便和最可靠的方法。当前现代电话通信网已经进入程控交换时代,技术比较先进,速度快,容量大,因此采用电话通信网建立数据通信系统确实具有其独特的优越性。
  利用单片机系统采集灌区水位、水流量,实现无人职守和科学的管理水资源具有实际意义,特别对少雨缺水地区更具有应用价值。

2.系统硬件设计
  本系统采用了MODEM将前端单片机采集的数据通过电话网远程传输到中心站PC机,并实现一对多点通信(站点数、通信距离均不限),后台PC机通过拨号的方式对各站点进行数据接收并实时存储记录、查询、打印。系统框图如图1所示。

10-1.gif (5271 bytes)

图1 系统框图

  单片机系统从传感器(含数字编码器)直接采集数字信号,通过RS232接口送给本端的MODEM,MODEM将数字信号调制成音频模拟信号在电话线上传输,再经中心站MODEM调制成数字信号送往PC机。系统中MODEM采用外置式Hayes144型,用户使用贺氏标准AT命令呼叫和应答,实现与远程系统的通信。
  上述单片机系统的硬件设计关键在于:(1)单片机89C51与异步收发器8250的接口,8250具有与MODEM接口和控制串行通信的能力。8250输入输出均为TTL电平,按EIA(国际电子工业合作会)RS232标准,采用串行收发驱动器芯片ICL232或MAX232进行电平转换和驱动。(2)SRAM的选择与连接,静态RAM保存加有时标的数据,选择DALLAS公司生产的DS1216D,内带有电池和实时日历时钟功能,内含RAM为628128,容量为128K,该芯片掉电自动保存数据和时钟运行。(3)MODEM的连接,采用9芯接口插座完成各信号的连接。具体电路原理如图2所示。

10-2.gif (20905 bytes)
10-2b.gif (16256 bytes)

图2 单片机系统原理图

3.系统软件设计
  该系统前台机软件由MCS51汇编程序设计,后台机软件由VB5.0程序设计(略述),前台单片机系统通信软件主程序框图如图3所示。

10-3.gif (4653 bytes)

图3 单片机系统程序流程图

3.1 MODEM通信中的AT命令
  MODEM使用AT命令可以分三个阶段:初始化、呼叫与应答、拆链挂机。
  MODEM初始化主要包括:设定振铃次数、设定返回结果码形式和复位MODEM ,例如:
ATS0=3V0   ‘3次响铃,结果码为数值型;
ATZ      ‘复位MODEM ;
  上述命令的第一句可以采用WINDOWS 95超级终端编程固化在MODEM内非易失性RAM中,也可以同ATZ一起放在8250初始化程序中。
  MODEM 具有自动呼叫与应答功能,在电话交换网中,MODEM之间如同普通电话机相互通信,只要呼叫方发出拨号命令:ATDT6688787(数字表示电话号),便可形成通信链路,该命令用在PC机通信软件的编程中。
  通信完成后,双方MODEM要拆链挂机,在PC机通信软件的编程中采用如下AT命令完成挂机:
  + + +     ‘转义序列
  延迟1秒     ‘1s静寂
  ATH0      ‘挂机
3.2 8250初始化
  8250初始化主要包括四项内容:(1)波特率的设置,向地址为3F8H和3F9H两个寄存器置数,本系统采用2400bps;(2)对线控制寄存器设置字符代码传送格式参数,即:数据位、奇偶校验位、停止位;(3)对MODEM控制寄存器初始化,即控制发出发向对方的信号及管理中断;(4)对中断允许寄存器的初始化,用于决定在接收的数据准备好时,在发送保持寄存器空时、在接收字符出错及MODEM 状态改变时是否发中断。
3.3 数据通信
  当某一方单片机接收到呼叫振铃后,RI信号有效,8250的INTRPT引脚高电平中断,系统便进入数据通信状态,为了使数据传送准确无误,编程采用XMODEM协议对数据打包处理,单片机数据通信程序流程图如图4。

10-4.gif (7273 bytes)10-4b.gif (6809 bytes)

数据发送流程图        数据接受流程图

图4 单片机数据通信程序流程图

4 结束语
  本文就多点单片机与PC机的电话远程通信,比较详细地介绍了软、硬件设计思想,该系统由于采用普通电话网作为通信信道,实现一网多用,十分经济。而且后台PC机用VB5.0开发通信和数据管理系统软件既方便、可视又易操作、可靠。

作者简介:江冰(1960-),女,江苏常州市人,副教授,硕士,从事数字信号处理与传输研究。
作者单位:
河海大学常州分校,江苏 常州 213022

参考文献
[1]马宏杰.微机通信原理与实用技术[M].北京:清华大学出版社,1994.10.
[2]杨龙,刘吉发.利用MCS51单片机串行接口和调制解调器实现远程通信[J].电测与仪表 1999,(1).