PC机与多单片机串行通信的实现

分享到:
点击量: 203762

1 引言

  在实际工程应用中,经常会遇到将一台pc机与多个单片机或多个智能仪表相连接进行实时监测与管理的情况。这就要考虑通信方案的选择问题,如果采用多个串行口或采用网络通信的方法,则会增加成本,同时,软件的编写也不容易。下面介绍一种简单易行,成本低廉的通信方法—用pc机的一个串行口对多个at89c51单片机的通信。

2 通信硬件系统的构成

  整个系统如图1。

  2.1 pc机的rs-232串行口接口设计

  通常,pc机提供一个打印机输出的并行口(lpt),两个串行口(com1,com2),采用pc机的rs-232串行口时,在pc机与单片机间通信必须有相同的通信协议,由于at89c51单片机采用的电平为ttl逻辑电平,在pc机侧的rs-232串行口采用+12v和-12v的电平方式,为使两者的连接,在pc机的rs-232侧用max202cp进行电平转换。

  2.2 at89c51单片机的接口设计

  at89c51芯片内部有一个全双工的串行口,其与外部交换数据用两线即可,该引脚与p3.0(rxd)、p3.1(txd)共用,在本方法中要对于多个at89c51进行串行通信,考虑到多个at89c51共用一个rs-232转换后的电平,在单片机向pc机传送数据时不受其它的at89c51单片机的影响,就在at89c51的rxd端串入一个二极管,如上图1所示:

  图1 通信硬件系统

1  2  3