组态王与单片机的通信
基于ASCII的单片机与组态王通讯设计

命令格式可查阅组态王使用手册。
2 通 信 流 程 图 1 组态 王从 单 片机 读 数 据 过 程 如 图 1所 示 。 )
字 头 HE AD: 1字节 1个 AS I , 0 Cl码 4 H
设备 地 址 : 节 2个 A CI , ~ 5 ( 0 0 0f 1字 S l 0 2 5 即 ~ xf 码 H)
标志: 1字 节 2个 AS l , i bi bt 0:读 , i =1: Cl码 bt 0~ t i 7, 0= bt 0
写 。 i : : 打包 。 i b 2 0 , bt O 不 1 bt i = 0 数据 类 型 为字 节 。 i bt = 1 3 t bt i 0 , 3 2 数据 类 型为 字 。bt bt = X 数 据 类 型为 浮 点 数 。 i i 1, 3 2
单 片 机的 串行 通 信 , 建 监 控 系 统 。 文 完 成 了组 态 王 与 单 片 机 构 本
通 讯 正 常 时下 位 单 片 机 应 答 格 式 为
HA ED 设 备 地 址 # # 蚌或 CR l ( 式 5 格 )
的通 讯 设 汁 , 方 法 设 汁简 单 且 实 时 性 好 , 用 于一 般 用 户 。 该 适 1 组 态 王 与 单 片机 的通 信 协 议
HE AD 设备 地址 标 志 数据 地 址 数据 字 节数 数 据 异 或 CR
通 讯 不 正常 时下 位 单 片机 应 答 为
J A J设备地址 j { HE D 异或 c J( 6) R 格式
其 中
和 舟} 不 同 的数 值 , }为 具体 组 态 王 与 单 片机 通 讯 的
异 或 :异 或 从 设 备 地址 到异 或 字 节前 ,异 或 值 转 换 成 2个
组态王与单片机通讯

组态王与单片机协议1.通讯口设置:通讯方式:RS-232,RS-485,RS-422均可。
波特率:由单片机决定(2400,4800,9600and19200bps)。
字节数据格式:由单片机决定。
注意:在组态王中设置的通讯参数如波特率,数据位,停止位,奇偶校验必须与单片机编程中的通讯参数一致2.在组态王中定义设备地址的格式格式:##.#前面的两个字符是设备地址,范围为0-255,此地址为单片机的地址,由单片机中的程序决定;后面的一个字符是用户设定是否打包,“0”为不打包、“1”为打包,用户一旦在定义设备时确定了打包,组态王将处理读下位机变量时数据打包的工作。
注意:在组态王中定义变量时,一个X寄存器根据所选数据类型(BYTE,UINT,FLOAT)的不同分别占用一个、两个,四个字节,定义不同的数据类型要注意寄存器后面的地址,同一数据区内不可交叉定义不同数据类型的变量。
为提高通讯速度建议用户使用连续的数据区。
例如,1、在单片机中定义从地址0开始的数据类型为BYTE型的变量:则在组态王中定义相应的变量的寄存器为X0、X1、X2、X3、X4。
,数据类型为BYTE,每个变量占一个字节2、在单片机中定义从地址100开始的数据类型为UINT型的变量:则在组态王中定义相应的变量的寄存器为X100、X102、X104、X106、X108。
,数据类型UINT,每个变量占两个字节3、在单片机中定义从地址200开始的数据类型为FLOAT型的变量:则在组态王中定义相应的变量的寄存器为X200、X204、X208、X212。
,数据类型FLOAT,每个变量占四个字节3.组态王与单片机通讯的命令格式:读写格式(除字头、字尾外所有字节均为ASCII码)说明;字头:1字节1个ASCII码,40H设备地址:1字节2个ASCII码,0—255(即0---0x0ffH)标志:1字节2个ASCII码,bit0~bit7,bit0= 0:读,bit0= 1:写。
单片机与组态王的通信实例

单片机与组态王的通信实例随着工业自动化的发展,越来越多的设备开始采用单片机进行控制。
而组态王作为一种通用的组态软件,可以方便地对单片机的控制过程进行监控和操作。
本文将介绍一个单片机与组态王通信的实例,以帮助读者了解二者的基本通信原理和实现方法。
一、单片机与组态王的通信方式单片机与组态王之间的通信一般采用串口通信方式。
串口通信是一种常见的通信方式,它通过串口数据线将单片机与计算机连接起来,实现数据传输。
在组态王中,可以通过设置串口参数来与单片机进行通信。
二、单片机通信协议在单片机与组态王通信的过程中,需要约定一些通信协议来实现数据的传输和控制。
通信协议一般包括数据格式、波特率、校验方式等。
根据不同的单片机和组态王版本,通信协议可能会有所不同,需要根据实际情况进行调整。
三、组态王通信控件的使用在组态王中,可以使用串口通信控件来实现单片机与组态王之间的通信。
控件提供了许多函数和属性,可以方便地进行串口通信。
例如,可以使用控件的Open函数打开串口,使用Read函数和Write函数进行数据的读取和写入。
四、实例:单片机控制LED灯亮灭下面是一个简单的单片机与组态王通信实例:通过单片机控制LED灯的亮灭。
该实例中使用的单片机型号为AT89C51,组态王版本为6.53。
1、硬件连接将AT89C51单片机的P1.0引脚连接到LED灯上,并将单片机的RXD 和TXD引脚分别连接到计算机的串口上。
2、编写程序在AT89C51单片机上编写程序,用于控制LED灯的亮灭。
程序如下:MOV P1.0, #1 //将P1.0引脚电平设为高电平,LED灯亮SJMP $ //无限循环,保持电平不变3、组态王组态设计在组态王中创建一个新项目,并添加一个设备,选择与AT89C51单片机进行通信的串口设备。
然后创建一个画面,添加一个按钮和指示灯,用于控制LED灯的亮灭。
4、编写组态王脚本程序在组态王中编写脚本来实现与单片机的通信。
脚本如下:Dim ledState As Integer //定义LED状态变量,初始值为0 Function OnClick() As Integer //按钮单击事件处理函数If ledState = 0 Then //如果LED状态为灭,则发送高电平信号,使LED亮起CommandManager.WriteTag("TagName", "1") //写入高电平信号ledState = 1 //修改LED状态为亮Else //如果LED状态为亮,则发送低电平信号,使LED熄灭CommandManager.WriteTag("TagName", "0") //写入低电平信号ledState = 0 //修改LED状态为灭End IfEnd Function5、调试与运行将程序编译并下载到AT89C51单片机中,然后运行组态王程序。
组态王与单片机多机串口通信的设计方案

组态王与单片机多机串口通信的设计1 引言随着工业化要求提高,分布式系统发展以及控制设备与监控设备之间通讯需要,组态软件设计的监控系统逐步普及。
现在组态软件繁多,比如KingVieW(组态王>、MCGS、W inCC等。
KingView软件基于Microsoft Windows XP,NT/2000操作系统.具有友好的人机操作界面、强大的IO设备端口驱动能力,可与各种PLC、智能仪表、智能模块、板卡、变频器等实时通讯。
由于在检测大量模拟量的工业现场使用PLC与组态软件通讯势必增加产品成本。
而单片机接口丰富,与A/D转换模块组合可以完成相同的工作,并且系统可靠、成本低。
2 组态王与单片机的串口通讯方法目前,组态王与单片机的通信多是通过动态数据交换(DDE>或通过自己开发通讯驱动程序完成。
DDE是Windows平台上的一个完整的通信协议,组态王通过该协议与其他应用程序交换数据。
但不可靠和非实时。
而自己开发通讯驱动程序会带来设计困难,增加系统开发周期,可行性不高。
组态王专门提供一种与单片机多机串口通信方法,可满足大多数系统需求。
3 PC机与单片机的硬件接口电路图1为上位PC机与下位单片机80C51的连接电路。
PC机与单片机本身都自带串行通讯接口,但由于在分布式系统中PC机与各单片机的分布不集中,不能利用RS-232通讯传输,只能改用RS-485。
RS-485采用差分式传输信号,最大传输距离为1 219 m.最大传输速率为10 Mb/s.对同时出现的两条信号线A、B的干扰有较强的抑制能力。
当两条线绞在一起时,被通信各种分布参数耦合过来的干扰信号可平均地分配到这两条线上,因此对RS-485的差分式传输线路而言,用双绞线可获得较强的抗干扰能力。
RS-485采用二线与四线平衡传输方式,二线制可实现真正的多点双向通信,但需要在传输线上接电阻(约120 Ω>。
由于80C51系列单片机STC89C52串行接口的,TTL电气特性与RS-485电气特性不相符,STC89C52不能与RS-485直接连接,需要电气转换。
单片机与组态王软件通讯的解决方案

单片机与组态王软件通讯的解决方案
1、引言
组态王软件作为一种工业控制组态软件在国内已得到了非常广泛的应用。
其具有强大的硬件支持能力,对国内外绝大多数PLC、变频器、板卡、模块、仪器仪表都编写了相应的驱动程序,使用起来相当方便快捷。
在农水实验田环境监测项目中,我们使用的硬件设备包括日本三菱PLC、台湾研华亚当模块及自行开发的基于单片机的分析仪器,我们选择的软件开发平台是组态王软件。
因此,实现单片机与组态王的数据通讯是一个必须解决的问题。
2、单片机与组态王软件通讯的解决方案
2.1 两种通讯解决方案
单片机与组态王软件通讯的解决方案有两种,其一是直接编写支持单片机的驱动程序,就象组态王支持PLC 一样;其二是利用组态王软件和Visual Basic 都支持DDE 的特点,以VB 为开发平台,写一个数据通讯应用程序,一方面
实现与单片机的连接,另一方面实现与组态王的动态数据交换。
2.2 两种方案的比较
第一种方案的优点是程序结构比较紧凑,数据通讯效率较高;缺点是必须由对组态王软件内核比较清楚的程序员开发,开发周期较长。
第二种方案可由一般的程序员开发,缺点是数据通讯效率较低。
在本项目中,我们采用了第二种方案。
3、基于DDE 方案的实现
3.1 DDE 的概念
DDE 是WINDOWS 平台上的一个完整通信协议,它使应用程序能彼此交换数据和发送指令。
DDE 过程可以比喻为两人对话,一方向另一方提出问题,然。
单片机与组态王基于ASCII型通讯程序设计

单片机与组态王基于 A CI S 型通讯程序设计 l
Co m u ia in P o r m b t e CU a d ig e B s d o m nc t r g a o e we n M n K n Viw a e n ASCI r o o s t c l I p o
# e ie E d 0 0 / d f n x d 定 义字 尾 C 一个 A CJ / n R, S I . # e ie e d o o / d f R a x o 上 位机 读 n /
#d fn W re x e ie i O O1 t / 上 位 机 写 /
u h r n we 【] 1x 0O 3 ,x 000000 0 } c a A s r8 = 0 4 ,x 00 3 ,,,.,x d ;
应答 信 息 帧 数 组 / u h rc u t O / c a o n= . 接 收 字 头字 尾 间 数 据 个 数 t / u h rf g 0 c a l = ; / 单 片 机 接 收 到字 头 标 志 a /
Ths i pap ito ce t e er n rdu s h ASCI omm u c i p ooc l bewe KigVi I c niat on r t os t en n ew an MCU, d d an prvi s o de al C pr a l ogrm s ure o c co of m pl de i eme of o muncain nt c m i t pr o ol I ont o otc s. d ne d o ta h t e t at c an f clisdi t us t e y a it r l ie ec y e h ASCI r t o I ooc l p
组态王通用单片机协议(ASCII)说明

组态王通用单片机协议(ASCII)说明概述通用单片机ASCII协议支持单片机与组态王通讯,用户只要按照我们的协议编写单片机通讯程序就可实现与组态王的通讯.组态王设置1、定义组态王设备定义组态王定义设备时请选择:智能模块\单片机\通用单片机ASCII\串口组态王的设备地址定义格式:##.#前面的两个字符是设备地址,范围为0-255,此地址为单片机的地址,由单片机中的程序决定;后面的一个字符是用户设定是否打包,"0"为不打包、"1"为打包,用户一旦在定义设备时确定了打包,组态王将处理读下位机变量时数据打包的工作,与单片机的程序无关.2、组态王通讯通讯方式:RS-232,RS-485,RS-422均可。
波特率:由单片机决定(2400,4800,9600and19200bps)。
注意:在组态王中设置的通讯参数如波特率,数据位,停止位,奇偶校验必须与单片机编程中的通讯参数一致3.组态王数据词典--变量定义在组态王中定义的寄存器数据格式(类型):由单片机决定。
斜体字dd代表数据地址,此地址与单片机的数据地址相对应.注意:在组态王中定义变量时,一个X寄存器根据所选数据类型(BYTE,USHORT,FLOAT)的不同,分别占用一个、两个,四个字节,定义不同的数据类型要注意寄存器后面的地址,同一数据区内不可交叉定义不同数据类型的变量。
为提高通讯速度建议用户使用连续的数据区。
例如,1、在单片机中定义从地址0开始的数据类型为BYTE型的变量: 则在组态王中定义相应的变量的寄存器为X0、X1、X2、X3、X4。
,数据类型为BYTE,每个变量占一个字节2、在单片机中定义从地址100开始的数据类型为USHORT型的变量: 则在组态王中定义相应的变量的寄存器为X100、X102、X104、X106、X108。
数据类型USHORT,每个变量占两个字节3、在单片机中定义从地址200开始的数据类型为FLOAT型的变量: 则在组态王中定义相应的变量的寄存器为X200、X204、X208、X212。
组态王6[1].5与单片机的通信方法
![组态王6[1].5与单片机的通信方法](https://img.taocdn.com/s3/m/73dda218ff00bed5b9f31d0d.png)
&h
II
T 222222 a .+J. (5Q,*9.*.(K.LEAEM"NGG"X&!R I I 读数据请求 T 222222 a .+J. (5Q,*9.*.(K.LEAEM"NGG"X&%R I I 写数据请求 T 222222 a I P 发送数据 P I (5Q,*O.)->,DR T U<G"H 9<G"H :OG"H *0*G"H 5C0Q(G"H(/,*O.)->,DH(__R T OV?FG,*O.)-LEAEM(NH \3(+.QU<GG"R H U<G"H *0*eG,*O.)-LEAEM(NH a OV?FG"X"fH I I 发送 :U8 \3(+.QU<GG"R H U<G"H *0*eG"X"fH 发送校验位 OV?FG*0*H II \3(+.QU<GG"R H U<G"H a a I P 初始化串口 P I KC(- ()(Ab,E0AQKC(-R T 222222 a KC(- DE()QKC(-R T ()(Ab,E0AQRH \3(+.Q$R T :OG$H E)J\.0b*D-QRH a a
!
结束语 组态王软件与单片机可以组合成一套经济可靠的数据采
集, 存储系统, 而且可以方便地接入以太网。实践证明这种系统 不但可靠、 实用、 经济, 而且便于设计, 易于扩充, 具有较高的推 广价值。 参考文献
$
北京亚控科技发展有限 公 司 2 组 态 王 g()1 =(.\ =.0J(C) ^2& 使 用 手册, !""f [收稿日期: !""#2&2!! ]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
组态王与单片机的通信与设计前言本文主要是解决装有组态王的PC机与单片机的通信问题,这里选择通过计算机的COM1口进行串行通信。
单片机和PC机的串行通行一般采用RS-232、RS-422或RS-485总线标准接口,也有采用非标准的20mA电流环的。
为保证通信的可靠,在选择接口时必须注意:(1)通信的速率;(2)通信距离:(3)抗干扰能力;(4)组网方式,既可以保证正常通信时的最大通信端口数量。
这里采用RS-232接口与单片机通信的方法。
由于两者间的电平规范不一致,实现两者间的通信要解决接口电路的电平转换问题。
正文选题背景随着单片机和微机技术的不断发展,单片机的应用也从独立的单机向网络发展,由PC机和多台单片机构成的多级网络测控系统已成为单片机技术发展的一个方向。
在一个大型的应用系统中,通常由单片机完成数据的采集和上传,后台则通过PC机对数据进行分析并处理,复杂的还要建立数据库形成网络,二者的结合,充分发挥了单片机在实时数据采集和微机对图形处理、显示以及数据库管理上的优点,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而形成了向以网络为核心的分布式多点系统发展的趋势。
随着微电子技术、计算机控制技术、工业以太网技术及现场总线技术的发展,作为用户无需改变运行程序原代码的软件平台工具——工控组态软件日渐成熟。
由于工控组态软件在实现工业控制的过程中免去了大量烦琐的编程工作,解决了长期以来控制工程人员缺乏计算机专业知识与计算机专业人员缺乏控制操作技术和经验的矛盾,极大地提高了自动化工程的工作效率。
近年来,工控组态软件在中小型工业过程控制工程、工业自动化工程中越来越受到欢迎。
不仅如此,工控组态软件还在配电自动化、智能楼宇、农业自动化、能源监测等领域也逐步展示了其独特的优势。
单片机控制系统以其高性能价格比、稳定、易于实现等特点而被广泛使用,但他难以实现动态复杂的图形监控界面;而组态王软件具有强大丰富的监控界面设计功能,却难以实现复杂的控制算法,而单片机则难以实现动态复杂的图形监控界面,若采用以单片机为下位机,以装有组态王的PC极为上位机的控制方式,将彻底改变原来单片机控制系统的单调、简单的控制界面的缺陷,进一步推动单片机控制方式的广泛应用。
在这个设计中有以下问题待以解决:1、TTL/RS232电平转换及其接口电路的处理。
2、由于组态王接收的是数据的ASCII码,因此要实现数据与它所对应的ASCII码的转换。
3、组态王监控界面的设计。
设计要求设计组态王监控界面,编写单片机发送接受程序以实现组态王与单片机两者间的通信。
方案论证过程论证组态王中的设备配置利用设备配置向导就可以完成串行通信方式的I/O设备安装,安装过程简单、方便。
在配置过程中,用户需选择I/O设备的生产厂家、设备型号、连接方式,为设备指定一个设备名,设定设备地址和串口。
操作步骤如下:1激活设备配置向导。
在组态王工程浏览器的“设备”大纲项下,选择您要设置的I/O设备类型,在右侧目录内容显示区双击“新建”图标。
2在设备配置向导中选择要安装串口设备。
3在设备配置向导中将要安装的串口设备指定一个逻辑名称。
④在设备配置向导中为安装的串行设备指定与计算机相连的串口号。
⑤在设备配置向导为串口设备指定设备地址。
其中格式:##.#。
前面的两个字符是设备地址,范围为0~255,此地址为单片机的设备地址,由单片机中的程序决定;后面的一个字符是用户设定是否打包,“0”为不打包、“1”为打包,组态王与单片机的通信协议在组态王中定义的寄存器格式寄存器名称dd上限dd下限数据类型X dd655350FLOAT/BYTE/UINT 斜体字dd代表数据地址,此地址与单片机的数据地址相对应。
注意:在组态王中定义变量时,一个X寄存器根据所选数据类型(BYTE,UINT,FLOAT)的不同分别占用一个、两个,四个字节,定义不同的数据类型要注意寄存器后面的地址,同一数据区内不可交叉定义不同数据类型的变量。
.组态王与单片机通讯的命令格式:读写格式(除字头、字尾外所有字节均为ASCII码)字头设备地址标志数据地址数据字节数数据…异或CR说明;字头:1字节1个ASCII码,40H设备地址:1字节2个ASCII码,0—255(即0---0x0ffH)标志:1字节2个ASCII码,bit0~bit7,bit0=0:读,bit0=1:写。
bit1=0:不打包。
bit3bit2=00,数据类型为字节。
bit3bit2=01,数据类型为字。
bit3bit2=1x,数据类型为浮点数。
数据地址:2字节4个ASCII码,0x0000~0xffff数据字节数:1字节2个ASCII码,1—100,实际读写的数据的字节数。
数据…:为实际的数据转换为ASCII码,个数为字节数乘2。
异或:异或从设备地址到异或字节前,异或值转换成2个ASCII码CR:0x0d。
上位机发送读命令字头设备地址标志数据地址数据字节数异或CR下位机应答:若正常:字头设备地址数据字节数数据…异或CR若不正常:字头设备地址**异或CR上位机发送写命令字头设备地址标志数据地址数据字节数数据…异或CR下位机应答:若正常:字头设备地址##异或CR若不正常:字头设备地址**异或CRTTL/RS232电平转换及接口电路RS-232规定的电平和一般微处理器的逻辑电平不一致,必须进行电平转换,,这里采用MC1488和MC1489芯片,MC1488和MC1489芯片为早期的RS-232至TTL逻辑电平的转换芯片,下图为实际电路。
采用该芯片的主要缺点是电路需要12V电压,不适用于低功耗的系统。
图中TXD、RXD 分别接单片机的发送和接收端。
单片机中对数据的处理组态王为用户提供了单片机ASCII码协议,所以可直接进行串行口通信,单片机ASCII 协议支持单片机与组态王通信,只要按照协议编写单片机通信程序就可实现与组态王的通信。
波特率:由单片机决定(2400,4800,9600and19200bps)。
字节数据格式:由单片机决定。
在组态王中设置的通信参数如波特率、数据位、停止位、奇偶校验必须与单片机编程中的通信参数一等。
组态王中设置完相应的读写变量后,会自动定时地发给计算机串行口不同格式的数据,在单片机中只需根据组态王中变量的设置来接收数据、处理数据、回传给计算机正确的应答信号可,分读、写两种处理情况。
由于串行通信过程中传送的是数据的ASCII码形式,因此单片机程序中要有相应的转换,转换程序见单片机发送接受程序cseg at4000hljmp bsendcseg at4023h;中断服务程序入口地址ljmp servercseg at4040hbsend:mov ie,#00h;禁止中断mov r2,#00hmov pcon,#00h;smod=0串行中断方式1传接数据,9600波特率mov scon,#70hmov tmod,#20h;定时器T1方式2mov th1,#0fdhmov tl1,#0fdhsetb tr1mov r0,#40h;接收组态王读写变量的数据区setb ea;开中断setb eslor:orl87h,#01h;等待串行口的中断信号ljmp bsendserver:clr ea;中断服务程序clr eslop:jnb ri,$clr rimov a,sbufmov@r0,ainc r0cjne a,#0dh,lop;以上是接收组态王传送的读写命令yingda:;进行应答mov r0,#40hmov r1,#60hmov a,@r0mov@r1,a;字头40Hinc r0inc r1mov a,@r0;设备地址(两个字节)mov@r1,ainc r0inc r1mov a,@r0mov@r1,ainc r0inc r1mov a,@r0;标志的第一个字节43hinc r0mov a,@r0;从标志的第二字节判断是读或写inc r0clr csubb a,#30hmov b,aclr csubb a,#0ahjc pan1mov a,bclr csubb a,#07hljmp panpan1:mov a,bpan:jb acc.0,writeljmp readwrite:mov r1,#63h;单片机将应答信号送入单片机的缓冲区中并且将接收的数据进行处理mov a,#23h;mov@r1,ainc r1mov a,#23hmov@r1,ainc r1mov r0,#61h;准备应答信号中的异或值并送到缓冲区mov a,@r0inc r0xrl a,@r0mov b,aswap aanl a,#0fhlcall zhuang;把一字节的异或值高四位转换成ASCII值mov@r1,ainc r1mov a,banl a,#0fhlcall zhuand;把一字节的异或值低四位转换成ASCII值bad30l:mov@r1,ainc r1mov a,#0dhmov@r1,ainc r1mov r0,#4ah;对单片机中缓冲区接收到数据进行处理mov a,@r0anl a,#0fhclr crl amov r2,acjne a,#02h,float;对数据进行的长度判断,byte:mov r0,#30hljmp floatlfloat:mov r0,#36hfloatl:mov r1,#4bhloopw:mov a,@r1mov@r0,ainc r0inc r1djnz r2,loopwnopmov r0,#60h;送应答信号给PC机串mov r1,#8dmov scon,#60hmov r1,#8dmov scon,#60hmov tmod,#20h;定时器1方式2mov th1,#0fdhmov tl1,#0fdhsetb tr1wat:mov a,@r0mov sbuf,ajnb ti,$clr tiinc r0djnz r1,watmov scon,#70hsetb easetb esretiread:mov a,@r0;读单片机中的数据地址inc r0mov a,@r0inc r0mov a,@r0inc r0mov a,@r0inc r0mov a,@r0;数据的字节数mov@r1,ainc r0inc r1mov a,@r0mov@r1,aanl a,#0fhrl amov r2,amov b,ainc r1cjne a,#02h,floatrbyter:mov r0,#30h;从相应的地址取出数据ljmp looprfloatr:mov r0,#36hloopr:mov a,@r0mov@r1,ainc r1inc r0djnz r2,looprmov r1,#61hmov a,badd a,#03hmov r2,a;求出相应的异或值送入缓冲区中mov a,@r1inc r1loopt:xrl a,@r1inc r1djnz r2,looptmov b,aswap aanl a,#0fhlcall zhuangmov@r1,ainc r1mov a,banl a,#0fhlcall zhuandmov@r1,ainc r1mov a,#0dhmov@r1,ainc r1mov a,64hanl a,#0fhrl aadd a,#08hmov r1,amov r0,#60h;将要读出的数据传送到PC中,要传的字节数mov scon,#60h;r1寄存器中mov tmod,#20h;定时器1,方式2mov th1,#0fdhmov tl1,#0fdhwat1:mov a,@r0mov sbuf,ajnb ti,$clr tiinc r0djnz r1,wat1mov scon,#70hsetb essetb earetizhuang:clr csubb a,#0ah;zbad30jc zbad30mov a,bswap aanl a,#0fhadd a,#37hljmp zbad1zbad30:mov a,bswap aanl a,#0fhadd a,#30hzbad1:retzhuand:clr csubb a,#0ah;dbad30jc dbad30mov a,banl a,#0fhadd a,#37hljmp dbad1dbad30:mov a,banl a,#0fhadd a,#30hdbad1:retend参考文献单片机应用技术讲座16第十三讲串行通信软硬件的实现方法电子世界2003年4期组态王6.5与单片机的通信方法尉俊兰丁振荣这件大学仪器科学系利用组态软件的单片机ASCII马协议进行多机串行口通信刘娜仪器仪表标准化及计量工控组态软件的发展与开发设计易江义,周彩霞洛阳工业高等专科学校学报2003年3月国内组态软件的现状与未来林维汉高春光张海涛电气时代2002年第6期P9工控组态软件的可视化张杰关永孙继平中国图像图形学报2002年2月。