新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机与PC机串行通信的实现的设计原理

单片机与PC机串行通信的实现的设计原理

作者:时间:2012-05-30来源:网络收藏

随着和微机技术的不断发展,特别是网络技术在测控领域的广泛应用,由机和多台构成的多机网络测控系统已成为技术发展的一个方向。它结合了单片机在实时数据采集和微机对图形处理、显示的优点。同时,windows环境下后台微机在数据库管理上具有明显的优势。二者结合,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而形成了向以网络为核心的分布式多点系统发展的趋势。本文主要介绍机与51系列单片机的一般方法和步骤。

本文引用地址:http://www.amcfsurvey.com/article/171398.htm

硬件结构和单片机的通1S程序

单片机和机的一般采用RS-232、RS-422或B3-485总线标准接口,也有采用非标准的20nnJL电流环的。为保证的可靠,在选择接口时必须注意:(1)通信的速率;(2)通信距离:(3)抗干扰能力;(4)组网方式。本文主要介绍采用RS-232接口与单片机通信的方法。

1、 RS-232电平转换和PC机的接口电路

RS-232是早期为公用电话网络数据通信而制定的标准,其逻辑电平与ITLCMOS电乎完全不同。逻辑0规定为+5- +15V之间,逻辑1,,规定为-5~-15V之间。由于RS-232发送和接收之间有公共地,传输采用非平衡模式,因此共模噪声会耦合到信号系统中,其标准建议的最大通信距离为15米.但实际应用中我们在300bi:/s的速率下可以达到300米。

RS-232规定的电平和一般微处理器的逻辑电平不一致,必须进行电平转换,逻辑电平转换可以采用以下三种方式。

采用 MCl488和MCl489芯片的转换接口 MCl488和MCl489芯片为早期的RS-232至TTL逻辑电平的转换芯片,上图为实际电路。该电路的不便之处是需要±12V电压,并且功耗较大,不适合用于低功耗的系统。图中TXD、RXD分别接单片机的发送和接收端。

采用MAX232芯片的转换接口 MAX232是MAXIM公司生产的,包含两路驱动器和接收器的RS-232转换芯片。上图为实际电路。芯片内部有一个电压转换器,可以把输入的+5v电压转换为RS-232接口所需的±10V电压,尤其适用于没有±12V的单电源系统。与此相同的芯片还有MAx202、AD公司的ADDtl01以及 INl2只SIL公司的ICl232芯片。

采用分立元件的转换接口上图为采用分立元件实现的RS-232-TTL电平的转换接口电路,其特点是利用PC机的BS-232接口的③脚信号出(也可用④、⑦脚)来供给负电源,FC机的③、④、⑦脚在非发送逻辑0电平时均为1电平(-10V左右),其驱动能力为20mA,利用这个特性,用一个二极管和电解电容,即在电解电容上获取了RS-232通信所需的负电源。该电路简单、功耗小,在没有专用芯片时不失为一种替代方法。

上述介绍的RS。232至TTL电平转换的方法可以适用于大多数通信系统,在一些特殊应用场合需要诸如静电保护、多收发器(如与MODEM连接)时可采用MAX238(4驱动、4接收)或MAX3221t t15Kv静电保护)等芯片。

2、单片机通信程康

单片机串工作方式目前广泛应用的51系列单片机的通信可工作于同步或异步方式,多数与8031兼容的51系列单片机都有一个或多个UART 异步接口,这就为用户通信程序提供了很好的便利条件。当应用系统中需要多个串行通信接口时,可采用以下几种方法:(1)采用多串口的单片机,如华邦的WW77E58就有2个串行接口;(2)采用通用异步串口扩展芯片,如TLl6c552(2路)、LCl6C554(4路);(3)采用普通I/O 模拟实现通信。这是最简单经济的方法,并且可以实现高速串通信,本文仅讨论采用一个异步串行通信的设计方法,单片机串口的控制方式MCS-51系列单片机对串口的控制是通过对串行口控制寄存器SCON和功率控制寄存器PCON的设置来实现的。SCON是一个可位寻址的特殊功能寄存器,通过设置SGON的SM0和SMI,可以使单片机有四种不同的工作方式。SCON的格式可参见有关手册说明。在用于和PC机实现串行通信时,一般设置为方式1或方式3,主要区别是方式1的数据格式为8位,方式3的数据格式为9位,其中第9位SM2为多机通信位,可实现单片机的多点通信。功率控制寄存器PCON的SMOD为串行口波特串倍率控制位,当单片机的品振为整数时(如6M),设置5MOD为1通常可获得更高的通信速串,但 SMOD不能位寻址。

单片机串口的速率设置单片机和PC机通信时,其通信速率由定时器T1或定时器T2产生(52系列),在T1工作在方式2时的通信速率的计算公式为:波特串=(SMOD× Fosc)/(32×12×[256-TH1])。其中Fosc晶振频率,为获得准确的通信速率,Fosc通常为11.0592MH2。采用T1定时器通信的系统,速率不可能过高,一般情况下最高为19200bit/s。如为了获得更高的通信速率可利用52系列单片机的定时器T2,最高速率可达 115200bjt/s。实际应用中我们曾经在6MH2晶振的单片机系统中实现了38400bit/s的高速通信。

单片机串口通信程序的实现方法实际应用中,单片机通信程序一般采用中断方式与微机通信,微机做为主控方。当单片机收到微机发送的地址信号时,便转入中断服务程序,向微机发送数据。其中断服务于程序流程见图4,该中断服务于程序也适用于多机通信的系统。详细的程序清单请参见本刊网站 COMMON.ASM,单片机的晶振为11. 0592MHz,通信速率为9600bit/s,帧格式为N.8.1。



评论


相关推荐

技术专区

关闭