十二.PC 机与单片机通信(RS232 协议)

合集下载

RS 232串口通信在PC机与单片机通信中的应用

RS 232串口通信在PC机与单片机通信中的应用

处 理 及对单 片 机 的控 制 。在 分 布式 控 制 系 统 中大 多采
出现 了 D 一5 D -5和 D 一 各 种类 型 的连接器 , 引 B2 , B1 B9 其
脚定 义也各 不相 同 ] 。常 用 的连 接 器 接 口图如 图 1所
用 单 片机作 为 下位机 来进 行数 据采集 和 现场控 制 , 在这
第 一 部 分 是 电 荷 泵 电 路 。 由 1 2 3 4 5 6脚 和 , ,, ,, 4只 电容 构 成 。功 能 是 产 生 + 1 和 一 1 两 个 电 2V 2V
用 的解决 方 法主要 是采 用光 隔离 器 , 隔离 器穿 过一个 光
隔 离 的屏 障来 传输 信 号 。一 个 光 隔 离 器 由一 个 光 敏 电
分析、 印、 警等, 打 报 同时 又 要 对 现 场 设 备 进 行 实 时控
制, 完成各 种操 作 。单 片机作 为控 制系 统 中必不 可少 的 部 分 , 各个 领域得 到 了广泛 的应 用 。 由于单片 机具 有 在 体 积小 、 价格 低廉 、 应 性强 的特 点 , 般在 工业 控制 系 适 一 统中, 各种 数 据 的采 集 和执行 机构 的控 制都是 由单片机 来完 成 。而单 片机 的计算 能力 有 限 , 以进行 复 杂 的数 难
a l we o u e ,RS 3 e il o t sa me s g n u fc mmu ia i n b t e P n CM ,a d M AX2 2 i a o t d t o rc mp t r 2 2 s ra r s a i g h b o o p a n c to e we n I C a d S n 3 s d p e o i p e n h t a o v r in b t e m lme tt e mu u l n e so e we n TTL 1 g c lv l n 2 2 l v 1 S c o n c i n c n e o y t efe i l o to c o i e e d RS 3 e e. u h a c n e t a mb d h l x b ec n r l a o f n t n o CM ,e p e st e p we f l o u a in a d d s ly f n t n fP u c i fS o x r s h o ru mp t t n ip a u c i s o C,a d i o e e i t i n lr a- i c u s— c o o n s fb n ft O sg a e lt me a q ii

单片机与电脑接口(TTL与RS232电平模拟转换)电路及工作原理

单片机与电脑接口(TTL与RS232电平模拟转换)电路及工作原理

2010年11月28日21:381.先介绍电脑上与单片机进行通讯的接口的名称(1)一般是用电脑串口来进行通讯的,平常大家说的电脑的串口是指台式电脑主机后面的九针接口,如下图这个接口有个专业的名称,叫RS23接口,而RS232接口是串口通讯的一种,其实所谓的接口,我的理解就是一种通信协议,规定了传输电平,传输方式,及怎么传输数据等等。

协议标准规定采用一个25个脚的DB25连接器,还规定了连接器的每个引脚的信号内容,同时还对各种信号的电平加以规定。

但随着设备的不断改进,出现了代替DB25的DB9接口,现在都把RS232接口叫做DB9。

(2)电脑上的RS232接口采用的是负逻辑电平:-15~-3表示逻辑1;+15~+3表示逻辑0;电压值通常在7V左右(3)我们可以使用串口电缆直接连接两台PC机的串口,实现两台PC机的串口通讯。

但是PC机和单片机的通讯却不能够用电缆直接进行连接,原因是PC机RS232串口的电平标准和单片机的TTL电平不一致,因此单片机和PC机之间的串口通讯必须要有一个RS232/TTL电平转换电路。

通常这个电路都选择专用的RS232接口电平转换集成电路进行设计,如MAX232、HIN232等。

2.单片机串口输出的逻辑电平单片机的串口输出电路采用的逻辑电平是TTL电平。

这种电平信号由TTL器件产生的,一般的芯片,如运放,数字器件等...TTL:Transistor-Transistor Logic 三极管结构。

Vcc:5V;VOH>=2.4V;VOL<=0.5V;VIH>=2V;VIL<=0.8V3.单片机与电脑串口的连接首先解决的就是逻辑接口电平的问题,其次就是通信方法及方式的问题(1)在这里我们可以使用集成芯片MAX232,这是一款专门用来进行信号电平的转换的芯片,使用起来简单方便,这里把电路贴出。

(2)当然,我们也可以使用分立元件来搭建RS232电平转换电路以供我们实验使用,下图给出了一个常见电路,只要器件完好,电路焊接完毕后即可正常工作,经实际使用,效果良好。

RS232串口通信在PC机与单片机通信中的应用

RS232串口通信在PC机与单片机通信中的应用

RS232串口通信在PC机与单片机通信中的应用0 引言随着信息技术的飞速发展和科技进步,在许多现代化集中管理的控制系统中,需要对现场数据进行统计、分析、打印、报警等,同时又要对现场设备进行实时控制,完成各种操作。

单片机作为控制系统中必不可少的部分,在各个领域得到了广泛的应用。

由于单片机具有体积小、价格低廉、适应性强的特点,一般在工业控制系统中,各种数据的采集和执行机构的控制都是由单片机来完成。

而单片机的计算能力有限,难以进行复杂的数据处理。

在功能比较复杂的自动控制系统中,通常以工控机为上位机,单片机为下位机,由单片机完成数据的采集及对设备的控制,而由上位机完成各种复杂的数据处理及对单片机的控制。

在分布式控制系统中大多采用单片机作为下位机来进行数据采集和现场控制,在这些应用中,单片机只是直接面对被控对象底层,而对采集到的数据进行进一步的分析和处理工作,则是由功能强大的PC 机来完成的。

因此,PC 机和单片机之间就有着大量的数据交换。

在绝大多数PC 机的标准配置中,都有一个到多个RS 232 串口,因为RS 232 串口担负着PC 机和单片机之间大量的数据交换的重任。

单片机89C52 用于自动控制及数据传输,并通过RS 232 接口向上位机进行数据通信。

1 RS 232 串口通信1.1 RS 232C 标准RS 232C 标准(协议)的全称是EIA-RS-232C 标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232 是标识号,C 代表RS 232 的最新一次修改。

在这之前,有RS 232B,RS 232A,它规定连接电缆和机械、电气特性、信号功能及传送过程。

1.2 RS 232 的接口引脚定义由于RS 232C 并未定义连接器的物理特性,因此,出现了DB-25,DB-15 和DB-9 各种类型的连接器,其引脚定义也各不相同。

pc与单片机多机rs232串口通信设计分析

pc与单片机多机rs232串口通信设计分析

分析Technology AnalysisDI G I T C W 技术114DIGITCW2020.020 引言现阶段,控制系统的功能逐渐增加,内部构造日益复杂,通常以工控机为上位机,以单片机为下位机,处于被控对象的地层,借助PC 机完成数据采集与分析工作。

由于PC 机和单片机之间需要完成数据传输,这时需要多个RS232串口的支持,本文针对串口通信的设计进行分析和研究。

1 R S23 2串口通信原理串口通信主要通过ASCII 码进行传输,采用地线进行接收和发送,通信段在一条线路中发送信息,可在另一条线路中进行接收。

其中,波特率、数据位、奇偶校验位等参数十分关键。

(1)波特率。

可对通信速度进行反应,与时钟的周期相同,但与距离呈反比,只有相似仪器中才可使用这一参数。

(2)数据位。

可对通信数据进行体现,通常标准为5、7、8位,发送信息与标准值之间具有一定关联。

标准码由7或者8位组成,在单包中最后一位是停止位,在定时时可通过传输线进行数据传输,因此设备时钟不同。

在通信时设备之间很难做到同步传输,因此差异性相对较小,此时可发挥停止位的作用,对传输进行约束,停止位的数量应得当,不可过多或者过少,以适当的位数保障数据的传输率。

(3)奇偶校验位。

该项参数可对串口通信的正误率进行检验,主要方式为高、低、奇、偶等类型,在奇偶校验的过程中,数据最末位便是校验位;对于设备来说,对位的状态进行掌握,可有效判断数据传输是否受到其他设备的干扰。

2 P C 与单片机RS23 2 串口通信设计2.1 连接框架在该系统中,主要采用“一主多从”的总线连接方式,与总线特征相结合,将两个120的电阻分别连接在两侧,芯片类型为MAX485,在驱动器中最多可带128个单片机,因此通信数量不可超过128个。

2.2 软件设计在数据传输过程中,单片机通常采用中断方式,在初始化时,SM2的数值为1,工作方式为3,波特率为9600。

通信协议为:(1)PC 机将地址信息传输给单片机,由接收端对信息进行查询。

单片机与PC机通信协议(RS232)

单片机与PC机通信协议(RS232)

帧格式如下:其中LB、DS在命令帧和应答帧中无。

差错控制与校验采用纵向冗余校验(LRC)。

发送方校验和生成方法:将FD、LB、DS域逐个字节相加求和,在求和过程中舍弃进位,最后将所得的和(单个字节)取补码作为检验和(CS)。

生成校验和的函数为:static unsigned char LRC(auchMsg,usDataLen) /* 函数返回unsigned char 类型的LRC 结果*/ unsigned char *auchMsg ; /* 要计算LRC 的报文*/unsigned short usDataLen ; /* 报文的字节数*/{unsigned char uchLRC = 0 ; /* LRC 初始化*/while (usDataLen--) /* 完成整个报文缓冲区*/uchLRC += *auchMsg++ ; /* 缓冲区字节相加,无进位*/return ((unsigned char)(-((char)uchLRC))) ; /* 返回二进制补码*/}接收方校验方法:将所有接收到的数据,即FD、LB、DS、CS等域逐个字节相加求和,在求和过程中舍弃进位,若结果为零(低字节)则传输无错,否则出错。

应答:接收方对接收数据进行校验后,若无错则向发送方发送传输无错应答帧,若有错则向发送方发送传输出错应答帧。

所需通信数据分为:数据帧、命令帧、应答帧上行数据:下位机(单片机)向上位机(PC机)传送数据⑴初始化上位机(IPC):FD=0x01 (InitPC)单片机将电梯模拟器的参数发送至PC机,初始化PC机端的可视化程序。

PC机上的可视化程序完成初始化后,应向单片机发送初始化完毕命令。

帧格式:⑵发送模拟器状态信息:FD=0x02 (SendMsgToPC)包括:轿厢位置,轿厢状态——上行/下行/停止,轿厢运行速度其中轿厢状态:上行——0x05下行——0x0A停止——0x00⑶开门命令:FD=0x03⑷开门到位命令:FD=0x04⑸关门命令:FD=0x05帧格式:⑹关门到位命令:FD=0x06⑺询问上位机是否准备好:FD=0x07 (IfPCReady)帧格式:下行数据:上位机(PC机)向下位机(单片机)传送数据⑴上位机准备好:FD=0x11⑵初始化完毕:FD=0x12 (PCInitFinish)⑶修改模拟器参数:FD=0x13 (AlterPara)⑷完成修改模拟器参数:FD=0x14 (FinishAlterPara)⑸下送模拟器参数:FD=0x15 (SendParaToMCU)帧格式:应答帧:⑴接收到的数据无错:FD=0xF1帧格式:⑵接收到的数据出错:FD=0xF2模拟器运行流程图修改模拟器参数流程图模拟器参数定义//参数号定义#define ID_Total_Floors 1#define ID_Special_Floor_A 3#define ID_Special_Floor_B 5#define ID_ID_Observe_Para 7#define ID_Dist_Bottom_Limit_Location 10#define ID_Dist_Bottom_Restrict_Location 11#define ID_Duration_Close_LiftDoor 16#define ID_Duration_Open_LiftDoor 17#define ID_Factor_FreqDivid_Hall 18#define ID_Polarity_Photoswitch 19#define ID_Floor_Lift_Lieto 29#define ID_Location_Lift 30#define ID_Length_UnivFloor 2#define ID_Length_Special_Floor_A 4#define ID_Length_Special_Floor_B 6#define ID_Length_Floor_Level_Board 8#define ID_Length_Speed_Alter_Board 9#define ID_Dist_Bottom_SpAlter_UpEnd 12#define ID_Dist_Top_SpAlter_LowEnd 13#define ID_Dist_Top_Restrict_Location 14#define ID_Dist_Top_Limit_Location 15ubyte Total_Floors; //最高楼层数ubyte Special_Floor_A; //专用楼层号Aubyte Special_Floor_B; //专用楼层号Bubyte ID_Observe_Para; //观测参数号ubyte Dist_Bottom_Limit_Location; //下极限与底楼平层的距离(向下计算),单位:厘米ubyte Dist_Bottom_Restrict_Location; //下限位与底楼平层的距离(向下计算),单位:厘米ubyte Duration_Close_LiftDoor; //电梯关门到位时间,单位:秒ubyte Duration_Open_LiftDoor; //电梯开门到位时间,单位:秒ubyte Factor_FreqDivid_Hall; //输入霍尔脉冲分频系数ubyte Polarity_Photoswitch; //平层区光电开关极性:0 - 进入平层区光电开关输出断开,1 - 进入平层区光电开关输出闭合ubyte Floor_Lift_Lieto; //电梯当前楼层uword Location_Lift; //电梯位置值,单位:厘米uword Length_UnivFloor; //通用楼层距离,单位:厘米uword Length_Special_Floor_A; //专用楼层号A的楼层距离(向上计算),单位:厘米uword Length_Special_Floor_B; //专用楼层号B的楼层距离(向上计算),单位:厘米uword Length_Floor_Level_Board; //平层挡板的长度,单位:毫米uword Length_Speed_Alter_Board; //上、下强换挡板的长度,单位:厘米uword Dist_Bottom_SpAlter_UpEnd; //下强换顶端与底楼平层的距离(向上计算),单位:厘米uword Dist_Top_SpAlter_LowEnd; //上强换底端与顶楼平层的距离(向下计算),单位:厘米uword Dist_Top_Restrict_Location; //上限位与顶楼平层的距离(向上计算),单位:厘米uword Dist_Top_Limit_Location; //上极限与顶楼平层的距离(向上计算),单位:厘米。

单片机与PC机RS232串行通讯设计

单片机与PC机RS232串行通讯设计

课程设计单片机与PC机RS232串行通讯设计班级学号学生姓名指导教师目录0. 前言 (2)1. 总体方案设计 (2)2 硬件电路的工作原理 (3)2.1 AT89C51外围电路模块 (3)2.1.1 复位电路 (3)2.1.2 时钟电路 (4)2.1.3 键盘电路 (4)2.2 显示部分 (5)2.2.1 LED显示部分 (5)2.2.2 MAX232电平转换 (5)2.2.3 PC机采用DB-25型连接器 (6)3 软件设计 (7)4 调试分析 (9)5. 结论及进一步设想 (11)参考文献 (11)课设体会 (12)附录I 元件清单 (13)附录І І 总电路图 (14)附录ІІІ 总程序 (15)单片机与PC机RS232串行通讯设计摘要:设计单片机与PC机的串行通讯系统,PC机是主机,PC机发送的数据单片机接收,单片机输入的数据通过LED显示在发送给PC机,其中单片机选择RS232通讯标准接口。

采用了串行口通讯技术作为核心技术,主要解决方案是通过自定义通讯协议实现多机通讯,优点是结构简单,软件简单,硬件资源少,价格便宜。

关键词:串行通讯;单片机;PC机;RS-2320. 前言自1971年微型计算机问世以来,由于实际应用的需要,微型计算机向着两个方向发展:一个是向着高速度、大容量、高性能的高档微机方向发展;而另一个则是向着稳定可靠、体积小、功耗低、价格低廉的单片机方向发展。

而两者之间的通讯设备也变得愈来愈重要,串行总线技术就是其中尤为重要的技术之一。

RS-232C是在异步串行通信中应用最广的总线标准,它适用于短距离或带调制解调器的通信场合。

RS-232C标准是美国EIA与BELL等公司一起开发的1969年公布的数据通信标准。

它适合于数据传输速率在0~20000b/s范围内的通信。

该标准定义了数据终端设备DTE(DataTerminal Equipment)和数据通信设备DCE( Data Communication Equipment)之间的接口信号特性。

RS-232实现单片机与PC间的串行通信

RS-232实现单片机与PC间的串行通信

RS-232实现单片机与PC间的串行通信串行通信是计算机与外设之间数据传输的一种方式。

RS-232是一种经典的串行通信标准,它被广泛应用于单片机与PC之间的通信。

什么是RS-232协议RS-232是一种串行通信接口标准,它定义了单片机与外设之间信号的电气特性、传输协议和机械连接方式。

RS-232标准的发展可以追溯到20世纪60年代,在数十年的时间里,它成为了计算机与外设之间最常见的传输方式之一。

RS-232标准规定了单片机与PC之间使用的物理连接、数据传输的时序和控制信号等方面的细节。

它定义了一组信号电平和电气特性,用于在两个设备之间传输数据。

RS-232标准的物理层使用了DB-9或DB-25连接器,其中DB-9连接器是最常见的。

在RS-232协议中,数据被分割成小的数据包进行传输。

每个数据包由一个起始位、数据位、奇偶校验位和一个或多个停止位组成。

这些位用于将数据解释为字符并将其传输到目的地设备。

如何使用RS-232实现单片机与PC间的串行通信要使用RS-232实现单片机与PC间的串行通信,需要实现以下几个方面:1.物理连接:使用RS-232标准定义的连接器,将单片机和PC连接起来。

2.电气特性:保证单片机和PC之间的电气特性匹配。

3.传输协议:使用RS-232标准定义的数据传输协议,将数据从单片机发送到PC,或者从PC发送到单片机。

4.数据编码:将数据编码为RS-232标准定义的数据格式。

以上所有方面都需要实现正确,才能使单片机与PC间的串行通信正常进行。

RS-232实现单片机与PC间的串行通信的优缺点RS-232协议是单片机与PC间串行通信的经典标准,它具有以下优缺点:优点:1.稳定性高:RS-232协议信号电平的质量非常高,能够保证数据传输的稳定性和可靠性。

2.延迟低:RS-232协议传输速度相对较慢,但延迟非常低,能够及时传输数据。

3.成本低:RS-232协议使用简单、成本低廉,适合开发者在项目中广泛使用。

利用电平转换器件RS232实现单片机与PC间的串口通信

利用电平转换器件RS232实现单片机与PC间的串口通信

1 绪论单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。

我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。

它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

单片机是靠程序运行的,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。

一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。

利用电平转换器件RS-232实现单片机与PC间的串口通信分析

利用电平转换器件RS-232实现单片机与PC间的串口通信分析

1 绪论单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。

我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。

它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

单片机是靠程序运行的,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。

一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。

RS232串口通信在PC机与单片机通信中的应用

RS232串口通信在PC机与单片机通信中的应用

RS232串口通信在PC机与单片机通信中的应用潘方【期刊名称】《现代电子技术》【年(卷),期】2012(035)013【摘要】在功能比较复杂的自动控制系统中,通常以工控机为上位机,单片机为下位机,RS 232串口通信是工控机和单片机之间信息传递的枢纽,采用MAX232实现、TTL逻辑电平和RS 232电平之间的相互转换,如此连接,既可体现出单片机的灵活控制功能,又可发挥出PC机强大的计算和显示功能,有利于对现场信号的实时采集、处理和监控,确保了良好的人机界面的交互性.%In function relatively-complicated automatic control system, IPC is usually used as a upper computer, MCU as a lower computer, RS232 serial port as a messaginghub of communication between IPC and SCM, and MAX232 is adopted to implement the mutual conversion between TTL logic level and RS232 level. Such a connection can embody the flexible control function of SCM, express the powerful computation and display functions of PC, and is of benefit to signal real-time acquisition, processing, and monitoring on site, so as to ensure the perfect interactivity of man-machine interface.【总页数】3页(P69-71)【作者】潘方【作者单位】国家广播电影电视总局726台,云南曲靖655000【正文语种】中文【中图分类】TN911.6+4-34【相关文献】1.基于LabVIEW7.0语言的PC机与AVRAT90系列单片机串口通信技术在体温检测中的应用 [J], 韦哲;程自峰;李凯2.基于VB MSComm控件在PC机与单片机串口通信中的应用 [J], 许自敏;朱子焜3.RS232串口通信在PC机与单片机通信中的应用 [J], 洪成泽;郑颖4.RS232通信技术在单片机通信中的应用 [J], 文灏; 雷守宁5.RS232串口通信在PC机与单片机通信中的应用 [J], 邢庭炜因版权原因,仅展示原文概要,查看原文内容请购买。

PC与三菱PLC之间的RS232通讯协议

PC与三菱PLC之间的RS232通讯协议

二、IPC读取PLC内部数据时:
首先将需要读取的PLC内部元件的地址找到,主要内部元件地址如下: D: m_address*2+1000H; T: m_address+00C0H; C: m_address*2+01C0H; S: m_address*3; M: m_address*2+0100H; Y: m_address+00A0H; X: m_address+0080H;(只能读不能写,输入寄存器必须由外部信号驱动) m_address元件是指最低位开始后的第N个元件的位置。 数据通讯举例: 例1:读D0的值 D0的内部地址为1000H=31H 30H 30H 30H LEN表示我们需要读字节的个数,0-7为一个字节,D0占两个字节,所以LEN=30H 32H. 计算CHK校验码=CMD0+ADD+LEN+EXT =30H+31H+30H+31H+30H+30H+32H+03H=157H 所以校验码为35H 37H. 得到完整的数字命令格式为:02H 30H 31H 30H 30H 30H 30H 32H 03H 35H 37H 将这段数字代码发送给PLC, 返回代码:02H 30H 30H 30H 30H 03H 43H 33H 得到数据段DATA为30H,31H,30H,30H=0001B(低位先发,高位后发)=1D 至此得到D0=1. 完成IPC读取PLC内部数据的全部过程。
len是一次读取位元件戒字元件的个数最多可以读取0xff个字节的元件也是以ascii码的形式发chk是两位和校验将cmd0addlenext三项进行和累计将和累计的最低两位转化成ascii高位先发低位后发

单片机与pc机串口通信

单片机与pc机串口通信

单片机与pc机串口通信单片机与 PC 机串口通信在现代电子技术领域,单片机与 PC 机之间的串口通信是一项非常重要的技术。

它为各种应用场景提供了便捷的数据传输方式,使得单片机系统能够与强大的 PC 机进行有效的信息交互。

首先,让我们来了解一下什么是单片机。

单片机,也被称为微控制器(MCU),是一种集成了 CPU、内存、I/O 接口等多种功能于一体的小型芯片。

它在各种电子设备中扮演着“大脑”的角色,负责控制和协调设备的运行。

而 PC 机,作为功能强大的通用计算机,拥有丰富的资源和强大的处理能力。

那么,为什么要实现单片机与 PC 机的串口通信呢?原因有很多。

一方面,通过串口通信,PC 机可以向单片机发送控制指令,实现对单片机所控制设备的远程操作。

另一方面,单片机可以将其采集到的数据实时传输给 PC 机,以便在 PC 机上进行进一步的处理、分析和存储。

串口通信的原理其实并不复杂。

它是一种基于串行数据传输的通信方式,通过发送和接收一系列的二进制位来实现信息的传递。

在串口通信中,数据以一位一位的顺序依次传输,相比于并行通信,虽然速度较慢,但具有线路简单、成本低、可靠性高等优点。

要实现单片机与 PC 机的串口通信,需要一些硬件和软件的支持。

在硬件方面,通常需要一个串口转换芯片,将单片机的 TTL 电平(通常为 0 5V)转换为 PC 机所使用的 RS232 电平(通常为-10V 到+10V)。

常见的串口转换芯片有 MAX232 等。

此外,还需要连接相应的数据线,将单片机的串口引脚与 PC 机的串口接口相连。

在软件方面,对于单片机来说,需要编写相应的串口通信程序,设置串口的工作模式、波特率、数据位、停止位等参数,并实现数据的发送和接收功能。

而对于 PC 机,通常可以使用各种编程语言,如 C++、C、Python 等,通过调用操作系统提供的串口通信库来实现与单片机的通信。

```cinclude <reg52h>void initUART(){TMOD = 0x20; //设置定时器 1 为模式 2TH1 = 0xfd; //波特率 9600TL1 = 0xfd;TR1 = 1; //启动定时器 1SCON = 0x50; //工作方式 1,允许接收}void sendByte(unsigned char dat){SBUF = dat;while (!TI);//等待发送完成TI = 0; //清除发送标志}void main(){initUART();while (1){sendByte('A');delay_ms(1000);}}```在这个示例中,首先通过`initUART` 函数对串口进行初始化设置,包括波特率等参数。

pc机与单片机之间的通信方式及协议

pc机与单片机之间的通信方式及协议

pc机与单片机之间的通信方式及协议PC机和单片机之间的通信是嵌入式系统开发过程中的一个重要问题。

随着嵌入式技术的不断发展,越来越多的应用需要通过PC机和单片机之间的通信来实现数据交换、控制指令传输等功能。

本文将深入探讨PC机和单片机之间的通信,并介绍一些常用的通信方式和协议。

一、PC机和单片机之间的通信方式在PC机和单片机之间进行通信前,需要确定使用哪种通信方式。

根据通信距离、带宽、成本和可靠性等因素的不同,可以选择以下几种通信方式:1.串口通信串口通信是PC机和单片机之间最常用的通信方式之一。

它使用两根线(TX 和RX)进行数据传输,传输速率一般较低,但成本低廉,适用于较短距离的通信。

串口通信常用的协议包括UART(Universa1AsynchronousReceiver/TransmItter)>RS232和RS485等。

2.并口通信并口通信是另一种常见的PC机和单片机之间的通信方式。

它使用8根或16根线进行数据传输,传输速率较高,但成械校高,适用于较长距离的通信。

并口通信常用的协议包括GP1O(Genera1Purpose1nput∕Output)、1PT(1inePrintTermina1)和CentroniCS等。

B通信USB通信是一种高速、可靠和易于使用的通信方式,成本适中,适用于中短距离的通信。

USB通信可以提供高带宽和多路复用功能,并支持热插拔和自动配置。

在PC机和单片机之间进行USB通信时,需要使用USB转串□芯片或USB转并口芯片将USB信号转换为串口信号或并□信号。

4.网络通信网络通信是一种基于TCP/IP协议的通信方式,适用于远程通信和大规模数据传输。

在PC机和单片机之间进行网络通信时,需要使用以太网接口芯片或无线网络模块等设备来连接网络,并通过socket编程实现数据交换和控制指令传输。

二、PC机和单片机之间的通信协议为了保证PC机和单片机之间的通信稳定和正确,需要使用适当的通信协议。

PC机与单片机的通讯

PC机与单片机的通讯
2400 00h 30h
4800 00h 18h
9600 00h 0Ch
19200 00h 06h
38400 00h 03h
57600 00h 02h
115200 00h 01h
以下几个表格为8250的寄存器的功能描述:
中断允许寄存器(IER):
4 Read/Write MCR MODEM控制寄存器
5 Read LSR 线路状态寄存器
6 Read MSR MODEM状态寄存器
7 Read/Write - Scratch Register
PC机支持1-4个串行口,即COM1-COM4,其基地址在BIOS数据区0000:0400-0000:0406中描述,对应地址分别为3F8/2F8/3E8/2E8,COM1及COM3使用PC机中断4,COM2及COM4使用中断3。
位 注 释
7 未使用
6 未使用
5 进入低功耗模式(16750)
4 进入睡眠模式(16750)
3 允许MODEM状态中断
2 允许接收线路状态中断
1 允许发送保持器空中断
0 允许接收数据就绪中断
Bit0置1将允许接收到数据时产生中断,Bit1置1时允许发送保持寄存器空时产生中断,Bit2置1将在LSR变化时产生中断,相应的Bit3置位将在MSR变化时产生中断。
Bit5:3=111 奇偶保持为0
Bit2=0 1位停止位
Bit2=1 2位停止位(数据位6-8位),1.5位停止位(5位数据位)
Bit1:0=00 5位数据位
Bit1:0=01 6位数据位
Bit1:0=10 7位数据位
Bit1:0=11 8位数据位

PC机与单片机串行通信(RS232协议)

PC机与单片机串行通信(RS232协议)

PC 机与单片机串行通信(RS232协议)一、实验目录:(1)单片机串口通信的应用(2)PC控制单片机IO口输出(3)单片机控制实训指导及综合应用实例(4)单片机给计算机发送数据:二、实验任务:单片机串口通信的应用,通过串口,我们的个人电脑和单片机系统进行通信。

个人电脑作为上位机,向下位机单片机系统发送十六进制或者ASCLL码,单片机系统接收后,用LED 显示接收到的数据和向上位机发回原样数据。

三、实验原理:(1)RS-232C接口标准(2)RS-232C接口定义如图所示AT89S51单片机的P3.0(RXD)、P3.1(TXD)构成了8051单片机的全双工串口引脚。

11=1位起始位(0)+9位数据位(低位在前)+1位停止位(1)非传输时保持“1”低位在前,高位在后,如图传输的数据为11001011(0xCB),该波性可用示波器观察。

(4)串口中断服务程序(5)串口中断原理执行串口发送指令SBUF=a;通过TXD口发送串行数据,发送结束后CPU自动产生发送结束标志(TI=1);此时若串行中断使能,则程序立即停止当前程序,跳转置中断号为4的串行口中断入口地址(0x0023),执行中断服务程序void UART_ISR(void) interrupt 4 ,CPU 不具有自动清零功能;同样,若串口在RXD引脚接收到数据,硬件自动产生接收结束标志(RI=1),若此时若串行中断使能(ES=1,EA=1),则程序立即停止当前程序,跳转置中断号为4的串行口中断入口地址(0x0023),执行中断服务程序voidUART_ISR(void) interrupt 4 ,CPU不具有自动清零功能,可通过b=SBUF;指令取出暂存在数据缓冲区内的数据。

因为接收与发送结束都能进入同一中断,因此在不具有自动清标志功能,需加判断标志语句。

(7)SBUF:串行发送、接收缓冲寄存器;发送与接收共用该寄存器。

(8)PCON:电源控制寄存器;SMOD:波特率增倍位。

RS-232实现单片机与PC间的串行通信

RS-232实现单片机与PC间的串行通信

内容提要单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。

我们现在用的全自动滚筒洗衣机、排烟罩、VCD 等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。

它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

单片机是靠程序运行的,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。

一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以与高可靠性!由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。

单片机与PC机RS232串行通讯设计讲解

单片机与PC机RS232串行通讯设计讲解

课程设计单片机与PC机RS232串行通讯设计班级学号学生姓名指导教师目录第一章摘要----------------------------------------------------------------- (3)第二章简介------------------------------------------------------------------(3)2.1单片机的应用模式-------------------------------------------------(3)2.2单片机在工业中的应用--------------------------------------------(4)2.3单片机与PC串口间通讯设计的应用--------------------------(4)第三章系统设计-----------------------------------------------------------(4)3.1设计思路-------------------------------------------------------------(4)3.2系统组成-------------------------------------------------------------(5)3.3 单元硬件电路设计----------------------------------------------- (5)3.3.1硬件的实现过程------------------------------------------------(5)3.3.2 RS-232接口电路----------------------------------------------- (5)3.3.2.1 MAX-232接口电路--------------------------------------(6)3.4 51单片机与PC机串行通信电路-----------------------------(8)3.5 软件设计------------------------------------------------------------(9)第四章实验结果与讨论---------------------------------------------------(9)4.1 程序设计-----------------------------------------------------------(9)4.2实验操作及运行结果--------------------------------------------(17)4.3调试分析-----------------------------------------------------------(18)第五章心得体会-----------------------------------------------------------(19)第六章参考文献-----------------------------------------------------------(19)第七章附录-----------------------------------------------------------------(20)第一章摘要51单片机是一种集CPU,RAM,FLASH ROM,I/O接口和定时中断系统于一体的微型计算机。

单片机和pc计算机通信系统的设计

单片机和pc计算机通信系统的设计

单片机和pc计算机通信系统的设计随着现代科技的不断进步,单片机和PC计算机的通信也变得越来越重要。

这种通信方式可以被广泛应用于工业控制、设备监控、智能家居等方面。

单片机是一种嵌入式设备,具有处理器、存储器和I/O接口等基本功能,可以进行单元控制、数据处理和通信等操作。

PC计算机则具有更为强大的计算和存储能力,可以进行图形处理、数据分析和网络通信等任务。

本文探讨单片机和PC计算机通信系统的设计方法和实现过程。

1.通信协议的选择单片机和PC计算机之间的通信通常使用串行通信协议,包括RS232、RS485、USB、SPI和I2C等。

RS232是一种点对点通信协议,使用传统的9针或25针串口线缆,通信距离较短,通信速度较慢,但稳定性较高,易于实现。

RS485是一种多点通信协议,支持多个设备之间的通信,通信距离较长(最多可以达到1200米),通信速度也较快,但需要较多的硬件支持。

USB通信协议是一种较为常见的通信方式,速度快、连接方便,但需要安装驱动程序,对硬件的要求较高。

SPI和I2C通信协议适用于小型、低速的系统,常用于连接传感器、LCD显示器和LED灯等外围设备。

在选择通信协议时,需要考虑通信的需求和系统的特点。

对于要求高速、稳定和可靠的系统,可以选择RS485或USB通信协议;对于小型、低速的系统,可以选择SPI或I2C通信协议。

2.硬件设计硬件设计是单片机和PC计算机通信系统的关键部分,需要考虑通信接口、信号电平、数据格式和外设驱动等方面。

通信接口常用的包括RS232、RS485、USB、SPI和I2C等,需要根据所选择的通信协议进行对应的接口设计。

信号电平也需要与通信协议相配合,保证通信信号的稳定和可靠。

在数据格式方面,通常使用二进制数据传输方式,可以简化通信协议的设计和实现。

对于大量数据的传输,可以使用数据缓冲区和数据压缩技术,提高传输效率和减少通信延迟。

外设驱动方面,需要根据具体的需求进行相应的驱动程序编制,以实现设备控制、数据采集和处理等操作。

探讨PLC与单片机之间的串行通信实现

探讨PLC与单片机之间的串行通信实现

探讨PLC与单片机之间的串行通信实现PLC(可编程逻辑控制器)与单片机(微型计算机)之间的串行通信实现是工业控制领域中的一个重要问题。

在许多工控系统中,PLC和单片机都担任着重要的控制角色,而两者之间的通信却是不可避免的。

在串行通信中,数据是逐位发送的,通常使用RS232、RS485、Modbus等协议,通信速度取决于通信协议和硬件设备。

PLC和单片机之间的串行通信可以通过以下几种方式实现:1. RS232串口通信RS232串口通信是一种最为基本的串行通信方式,它使用的是同步传输方式,通常用于短距离通信。

PLC和单片机都支持RS232串口通信,可以通过串口线连接并进行数据传输。

在通信过程中,需要注意通信协议的制定、数据格式的统一以及波特率的设定。

RS485串口通信是一种双向的、差分信号的串行通信方式,通常用于长距离通信和异地通信。

PLC和单片机都支持RS485串口通信,可以通过RS485转接板或者直接连接实现数据传输。

RS485通信协议相对简单,但需要注意地址编码、数据加工和防干扰等问题。

3. Modbus协议通信Modbus协议是一种串口通信协议,可用于PLC与单片机之间的数据传输。

Modbus协议支持RS232和RS485通信模式,其通信速度较快,可用于实时控制应用。

在Modbus通信中,需要设定起始地址、数据长度、读写模式等参数,以确保数据传输的正确性。

综上所述,PLC与单片机之间的串行通信实现有多种方式,大多数情况下,选择通信方式要根据具体应用场景及硬件设备考虑。

在通信过程中,需要注意通信协议的制定、数据格式的统一、波特率的设定以及防干扰等细节问题,以确保通信正常、可靠。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

十二.PC 机与单片机通信(RS232 协议) [实验任务]
单片机串口通信的应用,通过串口,我们的个人电脑和单片机系统进行通信。

个人电脑作为上位机,向下位机单片机系统发送十六进制或者ASCLL码,单片机
系统接收后,用LED显示接收到的数据和向上位机发回原样数据。

[硬件电路图]
[实验原理]
RS-232是美国电子工业协会正式公布的串行总线标准,也是目前最常用的串
行接口标准,用来实现计算机与计算机之间、计算机与外设之间的数据通讯。

RS-232串行接口总线适用于:设备之间的通讯距离不大于15m,传输速率最大为
20kBps。

RS-232协议以-5V-15V表示逻辑1;以+5V-15V 表示逻辑0。

我们是
用MAX232芯片将RS232电平转换为TTL电平的。

一个完整的RS-232接口有22
根线,采用标准的25芯插头座。

我们在这里使用的是简化的9芯插头座。

注意我们在这里使用的晶振是11.0592M的,而不是12M。

因为波特率的设置
需要11.0592M的。

“串口调试助手V2.1.exe”软件的使用很简单,只要将串口选择‘CMO1’波特率设置为‘9600’数据位为8 位。

打开串口(如果关闭)。

然后在发送区里输入要发送的数据,单击手动发送就将数据发送出去了。

注意,如果选中‘十六进制发送’那么发送的数据是十六进制的,必须输入两位数据。

如果没有选中,
数字二进制Px0~Px7 Abcdefg p 十六进制
0 00111111 00000011 11111100 0xco
1 00000110 10011111 01100000 0xf9
[C语言源程序]
#include "reg52.h" //包函8051 内部资源的定义
unsigned char dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容
sbit gewei=P2^6; //个位选通定义
sbit shiwei=P2^5; //十位选通定义
sbit baiwei=P2^4;
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1, 0x86,0x8e,0x40,};
void Delay(unsigned int tc) //延时程序
{
while( tc != 0 )
{unsigned int i;
for(i=0; i<100; i++);
tc--;}
}
void LED() //LED显示接收到的数据(十进制)
{
shiwei=0; P0=table[dat/10]; Delay(10); shiwei=1;
gewei=0; P0=table[dat%10]; Delay(10); gewei=1;
baiwei=0; P0=table[dat/100]; Delay(10); baiwei=1;
}
///////功能:串口初始化,波特率9600,方式1/////////
void Init_Com(void)
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
/////主程序功能:实现接收数据并把接收到的数据原样发送回去/////// void main()
{
Init_Com();//串口初始化
while(1)
{
if ( RI ) //扫描判断是否接收到数据,
{
dat = SBUF; //接收数据SBUF赋与dat
RI=0; //RI 清零。

SBUF = dat; //在原样把数据发送回去
}
LED(); //显示接收到的数据
}
}。

相关文档
最新文档