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

来源:本站
导读:目前正在解读《单片机与PC机串行通信的实现方法》的相关信息,《单片机与PC机串行通信的实现方法》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《单片机与PC机串行通信的实现方法》的详细说明。
简介:随着单片机和微机技术的不断发展,特别是网络技术在测控领域的广泛应用,由PC 机 和多台单片机构成的多机网络测控系统已成为单片机技术发展的一个方向。它结合了单片 机在实时数据采集和微机对图形处理、显示的优点。同时,windows 环境下后台微机在数据 库管理上具有明显的优势。二者结合,使得单片机的应用已不仅仅局限于传统意义上的自 动监测或控制,而形成了向以网络为核心的分布式多点系统发展的趋势。

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

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

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

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

采用MCl488和MCl489芯片的转换接口

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

采用MAX232芯片的转换接口

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

采用分立元件实现的转换接口图3为采用分立元件实现的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。

提醒:《单片机与PC机串行通信的实现方法》最后刷新时间 2024-03-14 01:09:12,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《单片机与PC机串行通信的实现方法》该内容的真实性请自行鉴别。