如何实现PC机与51系列单片机的通信

如何实现PC机与51系列单片机的通信,第1张

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

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

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

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

如何实现PC机与51系列单片机的通信,如何实现PC机与51系列单片机的通信,第2张

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

如何实现PC机与51系列单片机的通信,第3张

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、单片机通信程康设计

单片机串口的速率设置单片机和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。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2568132.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-07
下一篇 2022-08-07

发表评论

登录后才能评论

评论列表(0条)

保存