AT89C51单片机和PLC及PC机的通信.
- 格式:doc
- 大小:234.50 KB
- 文档页数:10
PC机与单片机AT89C51的串行通信摘要:在Windows95下使用串口API函数实现PC机与单片机AT89C51的串口通信,重点介绍计算机采用事件驱动I/O方式的函数编程及单片机串口中断发送、接收程序的实现。
关键词:Windows95单片机AT89C51RS-232接口RS-485接口串行通信在以单片机为基础的数据采集和实时控制系统中,通过计算机中的RS-232接口进行计算机与单片机之间的命令和数据传送,就可以利用计算机对生产现场进行监测和控制。
由于计算机上的RS-232所传送的距离不超过30m,所以,在远距离的数据传送和控制时,可以用MAX485的接口转换芯片将RS-232转换成RS-485协议进行远距离传送。
在发送和接收端都进行协议转换后,RS-485协议对数据传送来说是相对透明的,所以依然可以使用计算机中的RS-232进行远距离的数据传送和控制。
在最简单的RS-232直接传送通信系统中,只要发送和接收双方同时准备好,仅用信号发送端(TXD),信号接收端(RXD)和信号地(GND)3根线即可进行通信;若以应答方式进行数据通信,可使用请求发送(RTS)、清除发送(CTS)或数据终端准备(DTR)、数据装置准备(DSR)进行硬件握手。
在Windows95下,可以很方便地使用Win32通信API函数来实现这些硬件的握手以及数据的传送。
在89C51单片机系统中,分别从P3.0和P3.1引出串口线RXD和TXD通过专用的电平转换芯片转换成RS-232接口标准的电平,这样,二者之间就可以通过RS-232接口进行数字信号的传送。
单片机也可以以直接传送或应答握手的方式进行数据通信,但由于握手方式占用其他的端口,而单片机的端口数量有限,所以,计算机与单片机的通信常采用直接传送的方式,本文将重点介绍。
1Windows95下的通信编程Windows95通信体系提供了1个改进的串行应用程序接口SAPI用来进行交互式串行通信。
第24卷 第3期Vo l.24 No.3 平 原 大 学 学 报JO U RN A L OF PIN G YU A N U NI V ERSI T Y 2007年06月 June.2007PC机与A T89C51单片机的串行通信接口设计*郭宏亮(平原大学机电工程学院,河南新乡453003) 摘 要:本文介绍了PC机与单片机采用RS-232C进行串行通信的接口方法。
对于硬件接口电路中常用的一些方法进行了简要的比较,并介绍了电平转换芯片M AX232及其应用方法。
在通信程序的设计中,PC机采用查询方式收发数据,单片机采用中断方式收发数据。
本文给出了完整的PC机与单片机点对点双机通信程序。
关键词:串行通信;接口;MAX232;RS-232;编程中图分类号:TP303 文献标识码:A 文章编号:1008-3944(2007)03-0117-03 AT89C51是一种低功耗、高性能的8位单片微型计算机,它采用了CMOS工艺和ATMEL公司的高密度NVRAM(非易失性随机存储器)技术,片内带有一个4KB的FLASH FPROM(可擦除、可编程只读存储器),作为INTEL8051的换代产品,其输出引脚和指令系统与MCS-51完全兼容。
由于AT89C51单片机具有集成度高、面向控制、系统结构简单、价格便宜等诸多优点,因而在智能化仪器仪表、数据采集、数据测量等方面有着广泛的应用。
但是,实际应用中单片机在数据处理能力、人机交互等方面往往不能满足要求,因而通常用PC来弥补单片机的这些不足。
例如,在工程应用中,常常由一台PC机和一台单片机构成主从式计算机测控系统。
在这样的系统中,以单片机为核心的智能测控仪表(从机)作为现场测控设备,完成数据的采集、处理和控制各种任务,同时将数据传给PC机(主机),PC机将这些数据加工处理后,进行显示、打印报表等,PC机也可以将各种控制命令传送给单片机,干预单片机系统的运行,从而发挥PC机的优势。
AT89C51单片机与PC机串行通信的接口实现[摘要] 本文介绍了AT89C51单片机与PC机采用RS232C标准进行串行通信的接口实现。
在接口中采用MAX232作电平转换电路,简单的通信协议,PC 机用VB编程,AT89C51单片机采用中断收发方式。
文章给出了相应通信接口电路与程序。
[关键词] 通信协议RS232C 通信接口电路通信接口程序AT89C51是一种带4K字节可编程可擦除只读存储器(FLASH FPEROM)和128字节的存取数据存储器(RAM)的低电压,高性能CMOS8位微处理器。
采用了ATMEL公司的高密度、不容易丢失存储技术,与MCS-51系列的单片机兼容。
具有集成程度高、系统结构简单、价格低廉等优点被广泛应用到控制领域中。
但是在复杂的数据处理、良好的人机交互等方面不能满足需要,常采用PC 机与AT89C51单片机进行通信,AT89C51单片机(下位机)实时采集数据传送给PC机(上位机)处理,然后接收PC机处理的结果,并进行相应的控制的方式来弥补。
本文介绍单片机与PC机进行串行通信的一种接口实现。
一、接口电路的设计(一)接口逻辑电平的转换在PC机系统大都装有异步通信适配器,为标准的RS-232C接口。
RS-232C 为负逻辑,用+3V~+15V表示逻辑“0”, 用-3V~-15V表示逻辑“1”。
AT89C51单片机采用正逻辑TTL电平0和+5V.所以AT89C51与PC机通信时必须进行电平转换。
转换的方法有多种。
常采用MAXIM公司生产的专用的双向电平转换集成电路MAX232。
MAX232引脚排列与外围电路如图1所示。
图1MAX引脚及外围接口图(二)通信接口电路本文采用可靠性高的MAX232作电平转换芯片,选择其中一对发送器与接收器,PC机的串行口与MAX232的电平端口相连,MAX232的逻辑电平端口与单片机的串行口相连,接口电路如图2所示。
图2PC机与AT89C51通信接口图二、通信接口程序(一)通信协议PC机与AT89C51进行通信必须有一定的通信协议,本文采用简单的通信协议。
AT89C51单片机和PLC及PC机的通信
江小霞
【期刊名称】《集美大学学报(自然科学版)》
【年(卷),期】2007(012)002
【摘要】介绍了以226CPU作为下位机与PC机(上位机)和多台AT89C51开发的仪表的串行通信.着重介绍了通信协议的设计及PC机、PLC和单片机的通信程序初始设置和相关的程序流程.
【总页数】5页(P150-154)
【作者】江小霞
【作者单位】集美大学轮机工程学院,福建,厦门,361021
【正文语种】中文
【中图分类】TP23
【相关文献】
1.PC机与AT89C51单片机的串行通信接口设计 [J], 郭宏亮
2.windows下实现PC机与单片机AT89C51的串行通信 [J], 董晓丹
3.基于DELPHI的PC机和AT89C51单片机的串行通信实现 [J], 刘荣;田淑娟;燕苗;韩琛晔
4.使用SPComm控件实现PC机与单片机AT89C51的串口通信 [J], 刘雪亭;韩鹏
5.AT89C51单片机与PC机的通信接口及编程 [J], 夏莉英;陈雁
因版权原因,仅展示原文概要,查看原文内容请购买。
PC 机与AT89C51单片机的串行通信系统设计史志举,胡波,李杰河海大学信息学院,江苏常州(213022)E-mail :szj0701@摘 要:本文介绍了应用AT89C51单片机与PC 机进行串行通信的软、硬件设计方法和实现过程。
PC 机将需要传输的数据通过串行口传送给单片机,单片机接收并在LCD 上显示接收的数据。
系统采用MAX232芯片实现RS232的EIA 电平与单片机TTL 电平的转换,并采用1602液晶显示。
关键词:AT89C51,串行通信,接收,MAX2321.引言近年来随着电子计算机技术的广泛应用,数据的采集和通讯越来越多地受到人们的关注。
数据的采集和通讯过程就是数据的A/D 转换、传递和处理的过程,本文主要讨论单片机(下位机)与PC 机(上位机)之间的数据传输,单片机接收数据并且在LCD 上显示接收结果。
2.系统介绍本系统的结构框图如图1,PC 机将数据通过异步串行口RS232传输到单片AT89C51,单片机再把数据显示在LCD 上,使得用户可以很明确的知道接收过程。
接下来详细介绍系统的串口接收软、硬件设计。
图1 系统的结构框图3.串口接收软、硬件设计AT89C51单片机上有一个通用异步接收/发送器UART ,通过引脚RXD 和TXD 可与外部电路进行全双工的串行异步通信,发送数据时由TXD 端送出,接收时数据由RXD 端输入。
由于PC 机串口RS232采用负逻辑电平,即逻辑1:515−− V,逻辑0:515++ V 。
而单片机的TTL 电平的1和0分别为 2.45++ V 和00.4+ V,本系统的串口硬件电路主要采用MAXIM 公司生产的MAX232实现电平间的转换。
3.1 串口硬件设计MAX232是由德州仪器公司(TI )推出的一款兼容RS232标准的芯片,使用+5v 单电源供电。
该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F 电平。
该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-V TTL/CMOS 电平。
C#实现PC机与单片机(89C51)的串行通讯摘要:本文主要论述PC机与单片机之间实现异步串行通讯需要解决的问题以及如何利用C#提供的串行通讯SerialPort类来实现PC机与51单片机的通讯。
关键词: SerialPort;串行通讯;波特率1 引言PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC机的RS-232串行接口与外部设备进行通讯,是许多测控系统中常用的一种通信解决方案。
在技术广泛应用的今天人们采用了许多方法在Visual 中来编写串口通讯程序:第一种方法是通过采用Visual Studio 6.0中原来的MSComm控件,这是最简单、最方便的方法,但需要注册;第二种方法是自己用API写串口通信;第三种方法是采用微软推出的最新版本Visual Studio 2021开发工具,NET Framework 2.0类库中包含的SerialPort类,方便地实现了所需要串口通讯的多种功能。
本文着重讨论了Visual Studio 2021开发工具中SerialPort类的设计方法。
2 SerialPort类常用属性、方法和事件2.1 命名空间System.IO.Ports命名空间包含了控制串口重要的SerialPort类,该类提供了同步I/O 和事件驱动的I/O、对管脚和中断状态的访问以及对串行驱动程序属性的访问。
2.2 串口的通讯参数①通讯端口号:[PortName]属性获取或设置通信端口,包括但不限于所有可用的COM端口,该属性返回类型为String。
②通讯格式:SerialPort类分别用[BaudRate]、[Parity]、[DataBits]、[StopBits]属性设置通讯格式中的波特率、校验位、数据位和停止位。
2.3 串口的打开和关闭SerialPort类中打开关闭串口相应的是调用类的Open()和Close()方法。
2.4 数据的发送和读取SerialPort类调用重载的Write和WriteLine方法发送数据,其中WriteLine 可发送字符串并在字符串末尾加入换行符。
PC机与单片机之间的串行通讯、数据的发送和接收【摘要】本文以MCS-51单片机为例,详细介绍了PC机与单片机之间的串行通讯、数据的发送和接收。
在Windows98下利用VB的串行通讯控件可实现PC机与单片机之间的通讯。
其数据的发送和接收采用红外线通信方式,其优点是:省去了有线通信信号线的直接连接,使用简单,移动方便,微机与单片机无直接连接,属完全隔离状态,两者间不会因为电平的不同而造成数据传输的失误,抗干扰能力强。
本设计主要应用AT89C51作为控制核心,并与LED数码显示管、双向可控硅、红外发射与接收相结合的系统,充分发挥了单片机的性能。
其优点硬件电路简单,软件功能完善,控制系统可靠,性价比较高等特点,具有一定的使用和参考价值。
【关键字】MSC-51(单片机),红外,RS-232,电平转换器,串行通信半双工【Abstract】This text take one-chip computer MCS-51 for example , introduce a serial communication, data’s sending and receiving . Under the Windows98 we make use of a communication control of VB to achieve the communication of the machine of PC and one-chip computer. Its data’s sending and receiving adopts the method of the infrared ray communication, its advantage is that it exclude the direct link of signal line of with-wired communication ,and usage are simple, and move is convenience etc. The tiny machine have no direct conjunction with single a machine, belonging to the complete insulation appearance, can't result in the error that data deliver both because give or get an electric shock even and different, the antijam ability is strong.This design is a system that it applies AT89C51 as control core and combine the LED figures manifestation tube, MAX232CPE level changer, infrared’s sending and receiving. The system completely exerts the function of one-chip computer. Its advantage is that the hardware circuit is simple; the software function is perfect; the control system is dependable; the rate of price and function is high etc. So the system has certainly consult value.【Keyword】MSC-51(One-chip computer), infrared, RS-232, Level changer, serial communication,half duplex目录前言3第一章系统分析4 1.1 系统功能的概述 5 1.2 系统要求及主要内容 5 1.3 系统技术指标 5第二章系统总体设计6 2.1硬件设计思路 6 2.2软件设计思路 7第三章硬件电路设计7 3.1 单片机模块设计 8 3.2 红外通信(发射与接收)电路的设计 14 3.3 PC机模块的设计 17第四章串行口通信技术20 4.1 单片机串行口通信 21 4.2 PC机串口通信 24第五章软件设计25 5.1 单片机通信程序设计 25 5.2 PC机通信程序设计 29第六章系统调试30 6.1 硬件调试 30 6.2 软件调试 31 6.3 综合调试 33 6.4 故障分析及解决方案 33 6.5 结论与经验 34结束语35附录36 附录1 电路原理图 36 附录2程序流程图 38 附录3程序清单 41 附录4元器件清单 44 附录5 英文资料 45 附录6 中文翻译 52参考文献56前言单片机的英文名称是Micro Controller unit,缩写为MCU,又称为微控制器,它是一种面向控制的大规模集成电路芯片。
运用Visual Basic实现PC与89C51单片机之间的串行通信作者:沈飙夏海燕摘要在Visual Basic开发环境下,运用VB提供的通信控件,实现PC机与89C51单片机之间的串行通信。
关键词Visual Basic89C51单片机串行通信A/D D/A转换Serial Communication between PCand 89C51 with Visual BasicAbstract:Serial communication between PC and 89C51 single-chip-computer by MSCOMM control box of Visual Basic is introduced.Key Words:Visual Basic89C51Serial communication A/D D/A1系统简介在中科院等离子体物理研究所受控核聚变物理实验装置控制系统中,我们开发设计了以计算机控制为基础的各种信号予置系统,系统原理如图1所示。
图1系统原理图系统上位机由一台(PC586)微机构成,软件采用Visual Basic编程,作出十分直观的人机界面,并通过串行口将所需的各种予置信号(数字信号)传给单片机系统,再由单片机系统产生实际的模拟信号经线性光电隔离器送到现场。
予置数值可以分别显示在PC机软件窗口和单片机系统的予置数字表头上。
同时,现场实测信号经过线性光电隔离器,也可以实时显示在本系统的检测数字表头上和PC机的界面上。
如此设计界面直观,而且利于对现场信号进行实时监测。
因此,采用本系统,大大提高了现场信号予置精度,对实验操作人员来说人机界面良好,简单易懂。
我们将分硬件和软件两方面分别介绍该系统的情况。
2硬件介绍从系统原理图上可见,本系统关键的硬件部分是单片机系统的设计,上位机PC机则直接利用它的RS232串行口即可。
系统硬件原理如图2所示。
图2系统硬件原理图本系统采用CPU为89C51的单片微机,89C51本身带有2K的内存储器,可以在编程器上实现闪烁式的电擦写达几万次以上,比以往惯用的8031CPU外加EPROM为核心的单片机系统在硬件上具有更加简单、方便等优点,而且完全兼容MCS 51系列单片机的所有功能。
实验八89C51与PC机的串行通信
一.实验目的
1.了解89C51串行通信的工作原理
2.了解89C51与PC机的串口通信的电路连接
3.掌握使用I/O模拟串口的方法
4.验证串行通信
二.实验设备
电脑、THDPJ-2型单片机开发综合实验箱及连接线,达盛单片机开发实验箱
三.实验内容
1.读实验指导书62~64页,了解串行通信的硬件连接,读懂程序,特别是波特率4800b/s的实现。
若要求波特率1200b/s,
程序应如何修改?
2.观看THDPJ-2型单片机开发综合实验箱中89C51与PC机的串行通信,PC端采用串口助手。
3.观看PC与达盛单片机开发实验箱之间的通信,PC端仍采用串口助手,而单片机的编程采用方式1、不同的波特率、
不同的处理方式。
⑴简单收发:程序LAH20080.ASM,波特率2400b/s参数FAH ,查询方式,结果:
程序LAH20081.ASM,波特率2400b/s参数FAH ,中断方式,结果:
程序LAH2008a.ASM,波特率1200b/s参数F3H ,查询方式,结果:
程序LAH20082.ASM,波特率1200b/s参数F3H ,中断方式,结果:
⑵89C51收到、处理后再发送(若收到a~z则转换成A~Z,其余则发送“?”)
程序LAH20083.ASM ,波特率1200b/s 参数F3H ,中断方式,结果:
⑶ 中断方式收发,收到后做出响应。
PC 端发送数字1~4,则单片机方点亮一个相应的发光管; PC 端发送其它字符,则单片机方回送字符“0”。
程序LAH20084.ASM ,波特率1200b/s 参数F3H ,中断方式,结果:
R E S E T。
第12卷第2期集美大学学报(自然科学版Vol .12No .22007年4月Journal of J i m ei University (Natural Science Ap r .2007[收稿日期]2005-09-22[作者简介]江小霞(1960-,女,副教授,从事工业控制、单片机开发应用等研究.[文章编号]1007-7405(200702-0150-05AT89C51单片机和P LC 及PC 机的通信江小霞(集美大学轮机工程学院,福建厦门361021[摘要]介绍了以226CP U 作为下位机与PC 机(上位机和多台AT89C51开发的仪表的串行通信.着重介绍了通信协议的设计及PC 机、P LC 和单片机的通信程序初始设置和相关的程序流程.[关键词]智能仪表;通信协议;P LC;单片机[中图分类号]TP 23[文献标识码]A0引言随着微电子技术和大规模集成电路技术的迅速发展,微处理器芯片的处理功能不断提高,价格不断下降,这拓展了计算机技术一个新的广阔应用领域,即嵌入式应用.这种应用的特点是将微处理芯片嵌入到各种设备、仪表中[1].而工业生产过程的控制系统正向智能化、数字化和网络化方向发展.由PC 作为上位机,P LC (可编程控制器作为下位机,以及单片机开发的现场智能仪表组成的现场总线控制系统越来越得到广泛的应用.上位机对整个系统进行集中监控,完成可视化人机操作界面、图形显示、数据库、联网等功能.由于P LC 可靠性高,适合于各种恶劣的现场环境[2],常作为下位机用于控制.下位机循环地读入现场的各种信号,进行逻辑判断和控制量的计算,并对控制对象进行控制,下位机还负责将各种现场信号以及各种控制量送上位机进行实时监控[3-4].智能仪表主要实现对现场信号的采集、处理、现场显示和通信.现场总线之所以具有较高的测控能力,一是得益于仪表的微机化,二是得益于仪表和设备的通信功能,而现场总线控制系统对通信协议的实时性、可靠性和简捷性要求比较严格,解决好P LC 与PC 之间以及P LC 与智能仪表之间的通信问题是这类系统应用的关键技术之一.1系统结构图1是一种现场总线系统结构,下位机选用西门子S7-200系列CP U226型可编程控制器,智能仪表采用AT89C51开发的仪表.CP U226的串行口采用RS -485总线标准,因此P ORT1口与多个智能仪表的连接采用RS -第2期江小霞:AT89C51单片机和P LC 及PC 机的通信485,PC 通过PC /PP I 电缆与P LC 的P ORT0连接.PC 机采用V isual Basic 编程,用串行通信控件(MSCo mm 实现通信.P LC 的P ORT0和P ORT1口均使用自由口的方式通行.2通信接口设计图2是AT89C51单片机的RS -485的通信接口电路,S N75176是收发器芯片.9芯串口插座的引脚3为P LC 的B ,引脚8为P LC 的A,S N75176 的A 、B 信号与P LC 的A 、B 信号交叉连接.当P110=1时,AT89C51可发送数据;当P110=0时,AT89C51可接收数据.3通信协议311P LC 与各智能仪表之间的通信协议在通信协议的设计中一方面为了保证准确性,必须在通信中增加一些附加信息,另一方面由于控制系统的实时性,数据传输时间应越短越好.因此在命令帧和数据帧的设计中,在考虑通用性时同时考虑尽可能少的附加信息和应答方式,以减少传输时间.P LC 向仪表发送的命令帧格式为:STX ADDR CHS ETX仪表向P LC 返回的数据帧格式为:ST X ADDR DAT A H DAT A L CHS ET X每个字段均为1个字节,其中:STX 是起始字符,ETX 是结束字符,CHS 是校验和.由于RS -485标准最多并联32个节点,因此ADDR 的低5位(D4~D0作为仪表地址,控制命令帧的ADDR 的高3位(D7~D5是控制命令;数据帧的ADDR 的高3位是应答信息.D7D6D5=000,表示本仪表接收命令正确,并根据命令要求返回数据;D7D6D5=111,表示本仪表接收命令错误,P LC 重发命令.DAT A H 表示16位数据的高8位,DAT A L 表示16位数据的低8位.P LC 与单片机的通信波特率选用4800b /s 或9600b /s,8个数据位,无校验位,1位停止位.312PC 机与P LC 之间的通信协议PC 与P LC 采用主从式结构,PC 机作为主站向从站发送各种命令,P LC 作为从站根据控制命令或进行控制操作,或向主站返回现场数据和状态.PC 发送给P LC 的命令帧与P LC 发送给PC 的数据帧格式一样,其格式为:STX NUM ADDR DAT A 1…D AT A N CHS ETX每个字段均为1个字节,其中:NUM 是数据字节数,DAT A 1……DAT A N 是N 个字节的数据.AD 2DR 的低5位(D4~D0是下位机地址,作为控制命令帧时高3位(D7~D5是控制命令;作为数据帧时,高3位是应答信息.当D7D6D5=000时,表示本下位机接收命令正确;当D7D6D5=111时,表示本下位机接收命令错误,上位机重发命令.S7-200P LC 的发送缓冲区和接收缓冲区除了起始字符、结束字符以及中间的各信息外,在起始字符前还有1个字节的传输字节计数.・151・集美大学学报(自然科学版第12卷PC 与P LC 的通信波特率选用9600b /s,8个数据位,无校验位,1位停止位.4PC 的通信程序设计上位机采用V isual Basic 编程,使用串行通信控件(MSComm 实现通信.MSComm 控件有关属性的定义如下:M mPort =1’选择串口1M SComm1.Setting ="9600,n ,8,1"’9600b /s,无校验,8位数据,1位停止位M SComm1.I nput M ode =com I nput B inary’以二进制格式读取接收缓冲区M SComm1.R threshold =1’接收到的字符数大于1就产生接收事件M SComm1.I nput L en =0’读取接收缓冲区的内容M SComm1.Out B uffer Count =0’清空发送缓冲区M SComm1.I n Buffer Count =0’清空接收缓冲区用接受数组和发送数组来对接收数据缓冲区和发送数据缓冲区进行操作实现数据通信.5P LC 的通信程序设计本系统有关P LC 的程序主要涉及3个方面:P ORT0和P ORT1通信初始化设置;P ORT0口的接收和发送程序;P ORT1口的接收和发送程序.初始化设置如下://P ORT0参数设置LD S M0.0MOVB 9,S MB30//9600b /s,8个数据位,无校验位,1位停止位MOVB16#EC,S MB87//允许接受,检测起始字符和结束字符,超时检测MOVB0,S MB88//起始字符为0MOVB16#FF,S MB89//结束字符为十六进制数16#FF MOVW+1000,S MW 92//接受超时1s MOVB 100,S MB94//接收最多字符数为100//设置P ORT1参数MOVB 16#0D,S MB130//4800b /s,8个数据位,无校验位,1位停止位MOVB 16#EC,S MB187//允许接受,检测起始字符和结束字符,超时检测MOVB 0,S MB188//起始字符为0MOVB 16#FF,S MB189//结束字符为十六进制数16#FFMOVW +500,S MW 192//接受超时0.5sMOVB 20,S MB194//接收最多字符数为20图3是P ORT0口的有关通信的程序流程图.图4是P ORT1的有关通信的程序流程图,P LC 向某仪表发出读取数据命令后,进入数据接受状态.6AT89C51的通信编程AT89C51接收P LC 送来的取数命令,采用中断方式,向P LC 返回现场数据采用查询方式.根据P LC 向AT89C51发送的命令格式和AT89C51返回的数据格式,AT89C51系统在内存开辟一个4单元的接收缓冲区和一个6个单元的发送缓冲区.4次中断后,在接收缓冲区得到一帧的命令,首先判断是否是本仪表地址,如是本仪表地址,经校验无错后,则将正确信息和本仪表地址送发送缓冲区地址・251・第2期江小霞:AT89C51单片机和P LC 及PC 机的通信段;经校验有错,将错误代码和本表地址送发送缓冲区的地址段,最后将发送缓冲区发送给PLC .AT89C51将现场模拟量转换成14(或12位数字量,经滤波后送发送缓冲区的数据段并送显示缓冲区显示.程序流程图如图5所示.7结论在通信协议的设计中采用短的命令帧和数据帧以及相应的应答方式既保证了数据传输的正确性,又具有较好的实时性.该协议在226CP U 作为下位机与PC 机和AT89C51开发的仪表的串行通信在试验中得以实现.其中PC 机与S7-200P LC 的通信,可用于自行开发监控程序中;P LC 与多AT89C51的通信接口设计、通信协议设计以及通信程序设计,可广泛用于单片机开发现场总线智能仪表以及基于RS -485总线控制系统的设计中.・351・集美大学学报(自然科学版第12卷[参考文献][1]张永康,王文海,孙优贤.智能仪表的通用模型[J ].浙江大学学报:工学版,2000,34(1:93299.[2]王光明,张现,刘国福.一种智能控制算法在智能仪器中的实现[J ].仪器仪表学报,2003,24(6:6432646.[3]罗小川,叶东,张磊,等.基于网络多关节测量机通讯接口研究[J ].仪器仪表学报,2003,24(4:3952398.[4]王可崇,张继梅,张广忠.一种非主从式通信的多单片机测控系统[J ].电测与仪表,2003,40(7:40244.Comm un i ca ti on Between PC,PLC and AT 89C 51M i croprocessorJ I A NG Xiao 2xia(M arine Engineering I nstitute,J i m ei University,Xiamen 361021,ChinaAbstract:The paper intr oduces serial communicati on of the instrument composed of AT89C51,226CP U and PC .It lays stress on the design of communicati on p r ot ocol,the initial setting of PC πs,P LC πs and m icr op r ocess or πs communicati on p r ogra m and s ome p r ogra m fl o w concerned .Key words:intelligent instru ment;communicati on p r ot ocol;P LC;m icr op r ocess or(责任编辑朱雪莲・451・。