基于MODEM实现单片机和PC及的一对多点通信系统的设计

图2单片机系统原理图

3、系统软件设计

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

基于MODEM实现单片机和PC及的一对多点通信系统的设计

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

3.1MODEM通信中的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.28250初始化

8250初始化主要包括四项内容:(1)波特率的设置,向地址为3F8H和3F9H两个寄存器置数,本系统采用2400bps;(2)对线控制寄存器设置字符代码传送格式参数,即:数据位、奇偶校验位、停止位;(3)对MODEM控制寄存器初始化,即控制发出发向对方的信号及管理中断;(4)对中断允许寄存器的初始化,用于决定在接收的数据准备好时,在发送保持寄存器空时、在接收字符出错及MODEM 状态改变时是否发中断。

3.3数据通信

当某一方单片机接收到呼叫振铃后,RI信号有效,8250的INTRPT引脚高电平中断,系统便进入数据通信状态,为了使数据传送准确无误,编程采用XMODEM协议对数据打包处理,单片机数据通信程序流程图如图4。

基于MODEM实现单片机和PC及的一对多点通信系统的设计

数据发送流程图