51单片机和IBM - PC机是目前我国应用最广的两种微型计算机。作为单片机,51单片机不但功能强,体积小,价格低,而且使用方便,特别市场上提供的多种51单片机开发系统,为开发应用51单片机提供了非常方便的手段。因此,51单片机在许多领域,特别是工业控制和智能仪器领域已得到广泛的应用。事实已证明,51单片机已成为8位微机之首。作为系统机,IBM - PC的优点已众所周知,可以说,IBM - PC微机的出现为微机领域带来了一场革命。在我国,由于汉字 *** 作系统( CCDOS)的引入,使得IBM - PC在各个领域得到迅速的推广使用。
串行通信是计算机进行数据通信的主要方式之一。由于其连线少,成本低,再加上有调制/解调功能,因而特别适合于距离较远,且通信点较多的场合,如各种计算机网络和分布式系统等。RS - 232C是最常用的一种串行通信标准。在IBM - PC微机中,一般都有1~2个标准RS - 232C串行口,简称COM1和COM2。利用这两个串行口,IBM - PC可以与其他数字设备(计算机)进行一般的数据传送,或构成局部网络、多用户系统和分布式控制系统等。
51单片机片内即含有一个全双工的串行口,并具有多机通信功能,可以方便地构成多机控制系统。但是,由于51单片机的串行口并非标准的RS -232C,加上其波特率是采用系统时钟由内部通用定时器产生的,误差大;而其数据处理速度也比系统机低得多。因此当其与IBM - PC微机进行串行数据通信,特别是构成分布式多机控制系统时,将会遇到许多意想不到的技术问题,诸如硬件连接、波特率选择、数据同步以及多机通信控制等。我们根据多年的实践经验,对这些问题提出了一些具体解决办法,供广大同行参考。
RS - 232C采用负逻辑。其电平范围通常为:逻辑1=-3~-15 V;逻辑0=+3~+15 V。由于51单片机的串行口是TTL电平,故必须进行电平转换,一般都采用MC1488(输出)和MC1489(输入)来完成。其连接方法如图1- 32所示。图中,MC1488采用土12 V电源,MC1489采用+5 V电源。IBM - PC串行口中的第4脚RTS(请求发送,输出)与第5脚CTS(清除发送,输入),以及第6脚DSR(数据装置准备好,输入)与第20脚DTR(数据终端准备好,输出)分别连接在一起,主要是因为PC机BIOS中的INT14H(串行通信程序)在接收和发送数据时,均要判别CTS和DSR是否有效。如果用户自己编制通信程序,采用判断收/发缓冲区是否满/空的办法来完成数据输入/输出,则可不必短接。
顺便指出,IBM - PC及其兼容机串行口中的电平转换器通常有两种:老式原装机和长城0520机,采用7515075154。而一般的兼容机均用75188( MC1488)/75189 (MC1489)。1489中的每个接收门均有一个阈值电平控制端。当该脚开路或接一电容C至地时,其阈值电平VT =1. 1~1. 25 V,即当Vi≤1.1 V时,V。=1;V1≥1. 25 V时,V0=0。不难看出,这种电平与TTL电平具有兼容性。因此,图1- 32中1488和1489均可用普通TTL反相器代换,从而省去了土12 V电源。但要注意的是,替换1488的反相器最好用OC门,以便扩大电平范围和增加驱动电流;而替换1489的反相器输入端应加双向二极管电平箝位。此外,这种接法传送距离不宜太长,一般应在3m以内(标准RS - 232C电平传送距离可达15 m以上),距离过长,因两端地电位不一致以及噪声干扰会导致电平范围出错。
上述做法虽然省去了士12 V电源,但只适合于使用MC1488/1489的PC机,且传送距离近。为了与标准RS - 232C电平兼容,又不用±12 V电源,可采用图1- 33所示的准RS -232C电平转换电路。图中虚线框内电路产生-7.0~-9.0 V的负电压。其工作原理是,由CMOS反相器F1和F2构成的多谐振荡器产生f=0.7 MHz的方波,经F3和F4双门驱动后,高电平时对Cl充电,低电平时,Cl反过来又对C2充电,从而在C2上产生一定的负电压。这里采用CMOS反相器,主要是为了降低其自身的功耗以及提高高电平电压。值得一提的是,如果8031的ALE脚负载不重,亦可直接利用它作为时钟源(1 MHz),这时由Fi和F2构成的多谐振荡器就可省去了;不过C1和C2要适当加大些。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)