MCS_51单片机的多机通信方式研究
MCGS软件与MCS51单片机多机通信的几种方法
MCGS软件与MCS51单片机多机通信的几种方法Multi-machineSerialCommunicationMethodbetweenConfigurationSoftwareMCG SandMCS51SCMLiaoningMechanicAndElectricityProfessionTechnologyAcademy InformationInstrumentliunaPostcode:118002[摘要]MCGS是目前较常见的一种工业控制通用组态软件,可以利用它十分方便地构成了分布式系统的监控画面,动态显示控制设备的运行状态、实时、历时曲线和报表、上下限报警等。
在该系统中对于由多个MCS51单片机控制的下位机仪表,其工作由MCMulti-machine Serial Communicat io n Method between Configuration Software MCGS and MCS51 SCM Liaoning Mechanic And Electricity Profession Technology Ac ad emy Information Instrument liunaPostcode:118002[摘要] MCGS是目前较常见的一种工业控制通用组态软件,可以利用它十分方便地构成了分布式系统的监控画面,动态显示控制设备的运行状态、实时、历时曲线和报表、上下限报警等。
在该系统中对于由多个MCS51单片机控制的下位机仪表,其工作由MCGS远程监控,充分利用计算机的资源进行各种管理。
那么对于MCGS与MCS51单片机多机组成的系统如何设计其通信方式,本文介绍几种工程中可用的通信方法。
[abstract] MCGS is the normal industry configuration software. We can use it to consist apicture of DCS system , it can display the device’s dynamic moving state, the moment 、history curves and reports、high and low alarm。
单片机多机通信课程设计
1设计任务多机串行通信的设计基本任务1.设计三个以上单片机实现主从式串行通信的系统,主机发送数据到指定站号的从机端,也可以群发到所有从机端,并在LED数码管上显示。
2.可通过接在主机上的键盘输入数据,通过主机发送到从机。
3.从机也可输入数据,并可在查询到主机空闲时将数据发送给主机。
4*.从机间可相互通信(从机—)主机 另一从机),通信协议遵从modbus规范。
4@. 其他功能(创新部分)仿真模块例2设计方案2.1设计任务本文在参考了现在普遍的多机通信系统的基础上,设计了一种基于51单片机STC89C51的多机通信系统。
在proteus上设计并仿真电路图。
进入proteus程序仿真,启动程序系统,首先主机通过按键选择准备通信的从机,接通后,主机通过矩阵键盘上的数字按键与从机通信,使从机上的数码管显示对应的数字,以此实现多机通信。
如,与2号机通信并传输“8”这个数字。
首先主机从选择从机按键上按“2号机”键,与2号机连通后按下主机矩阵键盘上的“8”键,对应的2号机数码管上会显示数字“8”,证明通信成功。
2.2串行通信简介串行通信可以分为同步通信和异步通信两类。
同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。
这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。
它们均由同步字符、数据字符和校验字符(CRC)组成。
其中同步字符位于帧开头,用于确认数据字符的开始。
数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。
同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。
异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。
数据通常以字符或者字节为单位组成字符帧传送。
字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。
发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。
51单片机的双击通信
一设计题目:双机通信系统二实验描述:设计一个双机通信系统,实现按键数据的互发及显示功能。
三实验要求:利用两片8051单片机完成双机通信(A机和B机),A、B机发至对方数据可用数码管显示,通信过程用按键控制,发送内容自定。
四实验元件:ST89C51(两片)、电容(30PF*4、10UF*4)、数码管(共阳)、晶振(11.059 2MHZ)、小按键等。
五具体设计:1:设计介绍1.1 串行通信介绍广义地讲,终端(如计算机等)与其他终端、终端与外部设备(如打印机、显示器等)之间的信息交换称为数据通信(Data Communication)。
数据通信方式有两种:串行通信和并行通信。
并行通信:数据的各位同时进行传送(接收和发送),其优点是传递速度快、效率高,多用在实时、快速的场合。
串行通信:数据逐位传送,优点是数据只需要一根数据线就能完成传送,联结介质简单,成本低。
1.2 8051简介51内部结构:8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,·中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(RAM):8051内部有128个8位用户数据存储单元 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
·程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
·定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
第7章补充习题
第7章 MCS-51的串行口一、填空1. MCS-51单片机的串行接口有种工作方式。
其中方式为多机通信方式。
2. 串行口中断标志RI/TI由置位,清零。
3. MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器()加以选择.4. 用串口扩并口时,串行接口工作方式应选为方式。
5. 串行通信按照数据传送方向可分为三种制式: 、 和 。
6. 波特率定义为 。
串行通信对波特率的基本要求是互相通信的甲乙双方必须具有的 波特率。
7. 多机通信时,主机向从机发送信息分地址帧和数据帧两类,以第9位可编程TB8作区分标志。
TB8=0,表示 ;TB8=1,表示 。
8. 当从机 时,只能接收主机发出的地址帧,对数据不予理睬。
9. 多机通信开始时,主机首先发送地址,各从机核对主机发送的地址与本机地址是否相符,若相符,则置 。
二、判断1. 要进行多机通信,MCS-51串行接口的工作方式应为方式1。
()2. MCS-51的串行接口是全双工的。
()3. MCS-51上电复位时,SBUF=00H。
()。
三、简答1. 串行通信和并行通信有什么区别?各有什么优点?2. 什么是串行异步通信,它有哪些作用?并简述串行口接收和发送数据的过程。
3. 简述MCS-51单片机多机通信的特点。
4. 若异步通信按方式2传送,每分钟传送3000个字符,其波特率是多少?5. 什么是串行异步通信,它有哪些作用?并简述串行口接收和发送数据的过程。
6. 8051单片机四种工作方式的波特率应如何确定?7. 某异步通信接口,其帧格式由1个起始位(0),7个数据位,1个偶校验和1个停止位(1)组成。
当该接口每分钟传送1800个字符时,试计算出传送波特率。
8. 串行口工作方式在方式1和方式3时,其波特率与fosc、定时器T1工作模式2的初值及SNOD位的关系如何?设fosc=6MHz,现利用定时器T1模式2产生的波特率为110bps。
试计算定时器初值。
单片机多机通信网络改进及数据通信容错技术
单片机多机通信网络改进及数据通信容错技术[摘要]对单片机数据通信网络物理结构进行改进,实现多机自主通信。
以单片机串行口为基础,实现数据通信的容错技术。
[关键词]数据通信单片机网络结构中图分类号:tn 文献标识码:a 文章编号:1009-914x(2013)22-0219-01在目前单片机组成的嵌入式控制系统中,所谓的多机通信是指上位机与下位机之间的主从模式的通信,一个单片机系统为主机,n 个应用系统为从机,从机之间不能进行通信。
目前单片机通信存在通信网络模式简单,数据的通信速率低,没有容错技术等缺点。
mcs-51单片机串行接口sbuf,由scon控制为用于多机通信的工作方式。
当sm2=1,出现两种情况:接收到第9位数据为1 时,数据才装入sbuf,并置ri=1,向cpu发出中断请求;如果接收到第9位数据为0时,则不发生中断,信息被丢失;若sm2=0,则接收到的第9位数据无论是0还是1,都产生ri =1中断标志,接收到的数据装入sbuf中。
多机通信过程安排如下:①使所有的从机sm2=1,处于接收地址状态;②主机发一帧地址信息,从机接收到地址帧后,将与本从机的地址进行比较,使本机sm2=0,地址不符合的从机保持sm2=1,退出本次通信;③主机发送的数据或命令,以第九位为0表示。
主从模式的多机通信的拓扑结构,主机的rxd与所有从机的txd端相连,而主机的txd与所有的从机的rxd端连接,如图1所示。
一、网络结构的改进主从模式的多机通信在拓扑结构中,主机只有一个且固定不变,从机是多个,它们之间不能通信。
在新的多机通信网络中,没有真正的主机和从机之分,所有的结点都是平权的。
总线也是两条,一根作为主机发送信息,从机接收;另一根是从机发送信息,主机接收。
每一个结点的机器既是从机,又是潜在的主机。
非主动通信状态时,为从机状态。
需要通信时,改变连线的接法,并使自己变为主机状态。
主机状态:它的txd端与所有从机的rxd连接,它的rxd 与所有从机的txd连接,以便发送从机地址,与从机建立通信联系,完成交流信息的目的。
MCS51单片机双机并行通信的实现
CLK
8位端 口
B
P0
BUSY
2.1 主 从 并 行 通 信 接 口 的 实 现 主 从 并 行 通 信 接 口 的 特 点 是 ,两 个 单 片 机 之 间
能 够 通 过 并 行 接 口 将 数 据 发 送 到 对 方 ,但 其 中 一 个 单 片 机 处 于 主 机 状 态 .而 另 一 个 单 片 机 处 于 从 机 状 态 。 在 这 种 通 信 方 式 下 ,工 作 状 态 有 两 种 ,即 主 机 发 送 从 机 接 收 和 主 机 接 收 从 机 发 送 。 下 面 我 们 讨 论 主 机 发 送 、接 收 数 据 和 从 机 发 送 、接 收 数 据 的 工 作 流
第 3期 总 第 205期 2010年 2月
内 蒙 古 科 技 与 经 济 Inner M ongolia Science Technology & Economy
N o.3,the 205th issue Feb.2010
M CS S 1单 片机 双机 并 行 通信 的实 现
麻 桃 花
(内 蒙古 机 电 职 业技 术 学 院 ,内蒙 古 呼 和 浩 特 01000o)
摘 要 :针 对 M CS 单 片 机 具 有 的 特 性 ,介 绍 了 在 一 个 系 统 内 的 两 个 M CS 单 片 机 可 以 采 用 不 同 的 并 行 互 联 方 式 来 实 现 它 们 之 间 通 信 的 简 便 方 法 。
关 键 词 :M CS 单 片 机 ;并 行 通 信 ;工 作 流 程 中 图 分 类 号 :TP368.1 文 献 标 识 码 :B 文 章 编 号 :1【)O7— 6921(2010)O3— 01OO— O1
MCS-51单片机串行通信
9.1 串行通信概述
• ④停止位 表示发送一个数据的结束,用高电平表示,占1 位、1.5 位或2 位。 • 线路空闲时,线路处于逻辑“1”等待状态,即空闲位为1。 空闲位是异步通信特征之一。异步通信中数据传送格式如 图9.1 所示。 • 图9.1 异步通信数据帧格式
图9.1 异步通信数据帧格式
9.1 串行通信概述
9.1 串行通信概述
• 3.波特率 • 波特率是数据传递的速率,指每秒传送二进制数据的位数, 单位为位/秒(bit/s)。 • 例9.1 假设微型打印机最快的传送速率为30 字符/秒,每 个字符为10 位,计算波特率。 • 解: • 波特率=10 b/字符×30字符/s=300 b/s • 每一位代码的传送时间Td 为波特率的倒数: • Td=1/300=3.3 ms • 异步通信的波特率一般在50~19 200 b/s 之间,常用于 计算机到终端机和打印机之间的通信、直通电报以及无线 电通信的数据发送等。
异步10位收发 异步11位收发 异步11位收发
9.2 串行口结构与工作原理
• SM2:多机通信控制位。 • a.用于方式2和方式3。若SM2=1,则允许多机通信。 多机通信协议规定,若第9位数据(RB8)为1,则表明本帧 数据为地址帧。否则,若第9位数据(RB8)为0,则表明本 帧数据为数据帧。 • 当一个8051(主机)与多个8051(从机)进行通信时,令所有 从机的SM2都置1。主机要与某个从机通信,首先发送一 个与该从机相一致的地址帧(每个从机的地址必须惟一), 且第9位为1,所有从机接收到数据后,将第9位送入RB8 中。 • 若RB8=1,说明是地址帧,将数据装入SBUF,且置RI =1,即中断所有从机,若从机判断出该地址帧数据与本 机号(地址)一致,则置SM2=0,准备接收主机发来的数 据。其他从机仍然保持SM2=1。
基于MCS-51单片机的串行通信实现
数 据 一 位 一 位 地 依 次 传 输 ,每 一 位 数 据 占 据 一个 固定 的 时 间
2串行 通 信 的 实现
串行 通 信 通 过 串行 接 口来 实现 ,串行 通 信 按信 息传 送 的
长 度 。 用 串 行 通 信 进行 自动 控 制 信 号 的 传 输 时 。 需 要 少数 应 只 几 条 线 就 可 以 在 系统 间 交换 信 息 ,特 别 适 用于 计 算 机 与 计 算
b u a e ig,a d a a z s c m nct n p oo o sd fr mi o o t l r a d P m n o ue ( C) a d o a d rt s t s n nl e o mu a o r tc l ue o c c nr l s n e o a C mp tr P ,b s n e tn y i i r oe l e
通 信 论 坛
计 算 机 与 网 络 创 新 生 活 51
基 于 MC 一 1单片机 的 串行通信 实现 S5
徐 小涛
( 通信指挥学院 湖北 武汉 4 01 ) 3 00
【 要】 行通信是 目 摘 串 前应 用比较广 泛的一种 通信模 式 , 根据单 片机 的 串 通信原 理 , 绍 了单片机 串行通信模 式和单 片 行 介 机 的波特率设置方法, 分析 了单片机双机通信 、 单片机多机通信 以及单 片机 与个人计 算机 (c机之 间的通信协议 , P) 利用 P c良好
机 、 算 机 与 外 设之 间 的远 距 离 通 信 。串行 通 信 是 计 算机 主机 计 与 外 设之 间以 及 主 机 系 统 与 主 机 系统 之 间 数 据o o I tue f mmuiao mma d, u a b i4 0 1) ni C nct nCo i n sW hnHu e 30 0 ,
推荐-基于MCS51的两片单片机之间的串行通信接口设计
昆明学院20XX 届毕业(设计)(设计)题目基于MCS51的两片单片机之间的串行通信接口设计子课题题目姓名学号所属院系自动控制与机械工程学院专业年级 10级通信技术专业指导教师任杰20XX年 5月随着电子技术的发展,单片机的应用也越来越多及越来越重要,而串行通信理论和单片机的开发相结合使电路板的线路少,成本低了,而且在远距离传输时,避免了很多条的线路特性不同而被广泛地使用。
而RS232是一种比较成熟的串口,所以本次设计使用RS232串口,用串口通信时发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。
本次设计就是要利用单片机来完成一个系统,实现两单片机之间的串行通信。
并且使用DS18B20温度传感器,由一台单片机测量温度后传到另外一台单片机上显示。
串口通讯是单片机的一个重要应用,它既可以实现单片机对计算机的数据传输,同时计算机也可以对单片机进行控制。
在本次设计中,我需要克服的问题有怎样把两串口与单片机连接和设置传输的格式,和怎样采集温度,怎样显示等问题,总之,在本次设计中我需要对单片机有一定的基础,同时数电和模电也需要好好温习下。
对于画设计的系统电路图有很大的帮助。
而且我希望通过本次设计,可以很好的学习单片机,同时喜欢上单片机的设计。
其中单片机中,MCS51单片机上的通用异步接收/发送器UART,通过RXD 和TXD可与部电路进行串行异步通信,数据的发送由TXD端送出,数据的接收由RXD 端输入。
关键词:串行通信RS-232串口波特率MCU serial munication is a important application. In munication field, there are two types of data munication mode: parallel munication and serial munication. With the development of puter network and hierarchical distributed microputer application system, the function of the munication is more and more important. munication refers to puter information transmission to the outside world, both transmission between the puter and the puter,Also includes the puter and external device, such as terminals, printers, and transmission between devices such as disk. Serial munication refers to using a data line, to transmit data a bit a ground in turn, each data holds a fixed length of time. Its just a few lines can exchange information between the systems, especially used in puter and puter, puter and remote munication between the peripherals. When using a serial port munication sending and receiving to each and every one of the characters are in fact a a delivery, each one is or is zero.This design is to use single chip microputer to plete a system, realize the serial munication between the two MCU. And USES DS18B20 temperature sensor, temperature is measured by a single-chip puter and send to other displayed on a single chip microputer. For single chip microputer serial port munication is of great significance, not only can realize the MCU data transmission to the puter side, but also can realize the puter control of the microcontroller. Due to its less cable, wiring simple, so in the long distance transmission, has been widely used, MCS - 51 series microcontroller with a universal asynchronous receiver/transmitter UART, RXD by pin [P3. O] and TXD [P3.1] with external sound circuit B full duplex serial asynchronous munication, send data sent by the TXD end, when receiving data from the RXD input.Keywords: serial munications RS - 232 serial port baud rate目录8第一章绪论为了提高系统管理的先进性和安全性,计算机工业自动控制和检测系统越来越多地采用集总分散系统。
51单片机串行口的工作方式解析
51单片机串行口的工作方式解析方式0是外接串行移位寄存器方式。
工作时,数据从RXD串行地输入/输出,TXD输出移位脉冲,使外部的移位寄存器移位。
波特率固定为fosc/12(即,TXD 每机器周期输出一个同位脉冲时,RXD接收或发送一位数据)。
每当发送或接收完一个字节,硬件置TI=1或RI=1,申请中断,但必须用软件清除中断标志。
实际应用在串行I/O口与并行I/O口之间的转换。
2)方式1方式1是点对点的通信方式。
8位异步串行通信口,TXD为发送端,RXD为接收端。
一帧为10位,1位起始位、8位数据位(先低后高)、1位停止位。
波特率由T1或T2的溢出率确定。
在发送或接收到一帧数据后,硬件置TI=1或RI=1,向CPU申请中断;但必须用软件清除中断标志,否则,下一帧数据无法发送或接收。
(1)发送:CPU执行一条写SBUF指令,启动了串行口发送,同时将1写入输出移位寄存器的第9位。
发送起始位后,在每个移位脉冲的作用下,输出移位寄存器右移一位,左边移入0,在数据最高位移到输出位时,原写入的第9位1的左边全是0,检测电路检测到这一条件后,使控制电路作最后一次移位,/SEND和DATA 无效,发送停止位,一帧结束,置TI=1。
(2)接收:REN=1后,允许接收。
接收器以所选波特率的16倍速率采样RXD端电平,当检测到一个负跳变时,启动接收器,同时把1FFH写入输入移位寄存器(9位)。
由于接、发双方时钟频率有少许误差,为此接收控制器把一位传送时间16等分采样RXD,以其中7、8、9三次采样中至少2次相同的值为接收值。
接收位从移位寄存器右边进入,1左移出,当最左边是起始位0时,说明已接收8位数据,再作最后一次移位,接收停止位。
此后:A、若RI=0、SM2=0,则8位数据装入SBUF,停止位入RB8,置RI=1。
B、若RI=0、SM2=1,则只有停止位为1时,才有上述结果。
C、若RI=0、SM2=1,且停止位为0,则所接数据丢失。
MCS—51系列单片机串行通信波特率的研究
MCS—51系列单片机串行通信波特率的研究作者:李鹏来源:《电脑知识与技术》2013年第28期摘要:阐述了89C51单片机串行通信口的结构及波特率的计算方法,通过对89C52串行通信口波特率发生器结构的分析,指出了89C52产生波特率的两种方式。
计算出了89C51和89C52产生波特率与初值的对应关系,找出了波特率的最大值,给出了初始化编程的实例。
关键词:波特率;串行通信口;单片机;89C52中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)28-6265-03随着智能化控制仪表和网络设备的大力发展与使用,单片机的串行通信应用也无处不在,单片机作为前台计算机与其他计算机的通信,比如和PC微机的通信十分广泛,设计通信系统的首要问题是单片机串行通信口的正确使用,主要是波特率的设定以及串口的初始化编程,在单片机课程的教学中,单片机串口的应用是一个最具综合性的应用,也是一个难点,为此,结合教学与多年科研应用,特对MCS-51单片机的子51和子52单片机的波特率分别进行了分析与研究。
1 89C51单片机波特率的确定1.1 89C51串行通信口的结构89C51内部有2个16位定时/计数器,分别称为T0和T1,每个计数器均有四种工作方式:方式0(13位计数),方式1(16位计数),方式2(自动重装的1个8位计数),方式3(2个独立8位计数)。
从图1可以看出,内部结构确定仅使用T1定时器的溢出频率去产生串行通信口的波特率。
由于收、发时钟应该是周期性信号,所以T1工作在方式2,初值被装入TH1,由TL1计数并产生周期性溢出频率信号,溢出率是否除以2,由PCON中SMOD位的值确定,只有当SMOD=0时,才被除以2,上下输出的脉冲信号均被除以16,然后作为收、发时钟脉冲信号。
1.2 波特率的计算单片机串行通信口有4种工作方式:方式0,波特率固定为fosc/12,方式2,波特率固定为(2SMOD/64)×fosc ,方式1和方式3的波特率可以调整,在单片机与PC微机的RS-232C 串口通信时,必须调整单片机串口通信的波特率,以达到与PC微机串口通信波特率相同。
PC与MCS—51多机通信的具体设计
PC与MCS—51多机通信的具体设计
徐长久;邹立华
【期刊名称】《电子与仪表》
【年(卷),期】1998(000)006
【摘要】以PC为主机,MCS-51单片机为从机,详细讨论了以RS-422方式实现两种不同机型串行数据通信的原理。
【总页数】4页(P19-22)
【作者】徐长久;邹立华
【作者单位】不详;不详
【正文语种】中文
【中图分类】TP273
【相关文献】
1.VB6.0用于PC机与MCS-51单片机多机串行通信 [J], 杨侃;郎文鹏;赵维琴
2.PC机与MCS-51单片机主从多机通信控制程序的研究 [J], 张传新;徐少杰
3.PC机与MCS51单片机串行通信接口电路的设计 [J], 朱立忠;冯丹
4.IBM—PC微机与MCS51单片机主从分布式多机串行通信 [J], 刘兵; 刘欣
5.IBM—PC机与MCS—51单片机的多机通信 [J], 韦卫星
因版权原因,仅展示原文概要,查看原文内容请购买。
51单片机多机通信过程
51单片机多机通信过程51单片机具有多机通信的功能,可实现一台主机于多台从机的通信。
多机通信充分利用了单片机内部的多机通信控制位SM2。
当从机SM2,1时,从机只接收主机发出的地址帧(第九位为1),对数据帧(第九位为0)不予理睬;而当SM2=0时,可接收主机发送过来的所有信息。
多机通信的过程如下:(1)所有从机SM2均置1,处于只接收地址帧状态。
(2)主机先发送一个地址帧,其中前8位数据表示地址,第9位为1表示该帧为地址帧。
(3)所有从机接收到地址帧后,进行中断处理,把接收到的地址与自身地址相比较。
地址相符时将SM2清成0,脱离多机状态,地址不相符的从机不作任何处理,即保持SM2,1。
(4)地址相符的从机SM2=0,可以接收到主机随后发来的信息,即主机发送的所有信息。
收到信息TB8=0,则表示是数据帧,而对于地址不符的从机SM2=1,收到信息TB8=0,则不予理睬,这样就实现了主机与地址相符的从机之间的双机通信。
(5)被寻址的从机通信结束后置SM2=1,恢复多机通信系统原有的状态。
主机:设置为SM2=0。
这是双机通信的形式,可以任意的发送和接收发送:以TB8=1发送,将发送到所有SM2=1的分机。
这是呼叫某个从机。
以TB8=0发送,将发送到SM2=0的分机。
这是双机通信的形式。
------从机:先设置为SM2=1。
这是多机通信的形式,只能收到RB8=1的。
接收:仅能收到RB8=1的数据,确认是呼叫本机时,令SM2=0。
设置为SM2=0后,是双机通信的形式。
追问那从机的RB8要怎么设,是需要软件设置还是单片机自己识别,在编程的时候要怎么写, 回答从机的RB8,不需要编程。
从机的RB8,是接收到的,它是主机发送出来的TB8。
想要对TB8进行控制,需要在主机中编程。
单片机多机通讯说明:该程序为多机通讯程序,最多可以挂255个从机。
该程序主机发送端与多个从机的接收端相接,主机的接收端与多个从机的发送端相接。
51单片机的串口通信分析
51单片机的串口通信分析1. 简介串口通信是51单片机中常用的通信方式之一,它能够实现通过串行端口将数据传输到其他设备或与其他设备进行通信。
本文将对51单片机的串口通信进行分析与讨论。
2. 串口通信原理串口通信主要包括数据传输、数据格式和通信协议三个方面。
在51单片机中,串口通信使用了UART(通用异步收发传输)协议。
UART协议通过选择适当的波特率、数据位、校验位和停止位等参数,实现串口数据的稳定传输。
3. 串口通信硬件连接在51单片机中,串口通信需要将单片机的串行端口与外部设备连接起来。
一般情况下,串口通信需要使用串口线连接单片机的TXD引脚和RXD引脚与外部设备的对应引脚。
4. 串口通信程序设计51单片机的串口通信程序设计主要包括串口初始化和数据发送与接收两个步骤。
在程序设计中,需要设置适当的波特率、数据位、校验位和停止位等参数,并编写相应的发送和接收函数来实现数据的发送和接收功能。
5. 串口通信应用实例串口通信在51单片机的应用非常广泛,可以用于与PC机的通信、与传感器的通信、与其他单片机的通信等等。
在实际应用中,可以通过串口通信实现数据的传输、控制信号的发送与接收等功能。
6. 总结51单片机的串口通信是一种常用且有效的通信方式,通过合理设置通信参数和编写相应的程序,可以实现稳定的数据传输和通信功能。
在应用中,可以根据具体需求选择适当的串口方式和协议来实现串口通信功能。
以上为本文对51单片机的串口通信进行的简要分析与讨论,希望对读者有所帮助。
参考文献:1. 参考书籍12. 参考书籍2。
MCS-51单片机的多机通信方式
多机通信原理
每台从机一个地址(编号) 系统中的通信总是由主机发起 主机向从机发送的信息分为地址字节和数据字节两种。地址字
节用于寻址从机,数据字节为发给从机的实际数据,二者可以 使用第9位来区分。地址字节帧的第9位为1,数据字节帧的第9 位为0 系统初始化时,将所有从机的SM2位置为1,并允许串行口接收 中断。这样,只有主机送来的地址帧才会被接收
单片机原理与应用
MCS-51单片机的多机通信方式
SCON中的SM2位可以作为多处理机通信位,使单片机方便地 应用于集散式分布系统中
集散式分布系统,或者称为分布式控制系统(DCS),是相对于 集中式控制系统而言的一种新型计算机控制系统,它是在集中 式控制系统的基础上发展、演变而来的。这种系统中,有一台 主机和多台从机。主机负责全局运行情况的监视、统计、控制 等,各从机负责本地信号的采集处理、本地资源的控制。主机 和从机通过通信线路相联系
1.2 通信协议的设计
通信协议中,除规定命令、数据的格式,还有以下一些方面需 要特别考虑
命令的顺序 差错处理 超时处理
单片机原理与应用
ห้องสมุดไป่ตู้
1.1 多机通信原理
主从式多机通信连接方式
多机通信原理
当串行口工作在方式2或3时 若SM2=1,则只有接收到的第9位数据(RB8)为1时,才将数据
送入接收缓冲器SBUF,并置位RI,申请中断,否则丢弃接收 到的数据 若SM2=0,则无论第9位数据(RB8)是1还是0,都将数据装入 SBUF,置位RI,申请中断
ch10-MCS51串行通信
串行口的结构
内部总线
接收、发送缓冲器SBUF在物理上是独立的,因此
可以进行全双工通信。虽然它们使用同一地址99H, 但发送缓冲器只能写入,不能读出,而接收缓冲器 18 只能读出,不能写入。
串行口的结构
内部总线
在接收时,串行数据通过引脚RXD(P3.0)进入。经移位寄
存器进入接收缓冲器SBUF,再由SBUF把数据输出到片内数据 总线上,构成了串行接收的双缓冲结构,以免在数据接收过程 中出现下一帧数据到来时,前一帧数据还没有读走而丢失,即 19 帧重叠错误。
这种方式不适用于两个MCS-51单片机间的通讯。
25
方式0输出(发送)
串行口作为并行输出口使用时,要有“串入 并出”的移位寄存器(例如CD4094或74LSl64、 74HCl64等)配合,其电路连接如下所示。
RxD TxD 8051 A B 74LS164 MR
CLK Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
35
方式1——8位异步串行通信方式
方式1接收(输入)
接收数据时,SCON的REN位应处于允许接收 状态(软件置REN=1)。在此前提下,串行口以 16倍波特率的速率采样RXD端,当采样到从“1” 向“0”状态跳变时,就认定是接收到起始位。随 后在移位脉冲的控制下,把接收到的数据位移入 接收寄存器中。直到停止位到来之后置位中断标 志RI,通知CPU从SBUF中取走接收到的一个字符。
29
机器周期 写SCON RxD TxD
00
01
02
03
04
05
06
07
RI
方式0接收时,串行控制寄存器SCON中的REN位为串行口 允许接收控制位。REN=1且接收中断标志位RI=0时,单片机内 部产生一个正脉冲,单片机开始接收数据。数据通过RxD(P3.0) 引脚输入数据,同时TxD(P3.1)为同步移位脉冲输出端。接 收器也以fosc/12的固定频率采样RxD引脚的数据信息,当单片 机接收完8位数据信息后,接收中断标志位RI置1,向CPU申请 中断,表示已经接收完一帧数据,开始准备接收下一组数据。 30
MCS-51单片机的串行口及串行通信技术
MCS-51单⽚机的串⾏⼝及串⾏通信技术数据通信的基本概念串⾏通信有单⼯通信、半双⼯通信和全双⼯通信3种⽅式。
单⼯通信:数据只能单⽅向地从⼀端向另⼀端传送。
例如,⽬前的有线电视节⽬,只能单⽅向传送。
半双⼯通信:数据可以双向传送,但任⼀时刻只能向⼀个⽅向传送。
也就是说,半双⼯通信可以分时双向传送数据。
例如,⽬前的某些对讲机,任⼀时刻只能⼀⽅讲,另⼀⽅听。
全双⼯通信:数据可同时向两个⽅向传送。
全双⼯通信效率最⾼,适⽤于计算机之间的通信。
此外,通信双⽅要正确地进⾏数据传输,需要解决何时开始传输,何时结束传输,以及数据传输速率等问题,即解决数据同步问题。
实现数据同步,通常有两种⽅式,⼀种是异步通信,另⼀种是同步通信。
异步通信在异步通信中,数据⼀帧⼀帧地传送。
每⼀帧由⼀个字符代码组成,⼀个字符代码由起始位、数据位、奇偶校验位和停⽌位4部分组成。
每⼀帧的数据格式如图7-1所⽰。
⼀个串⾏帧的开始是⼀个起始位“0”,然后是5〜8位数据(规定低位数据在前,⾼位数据在后),接着是奇偶校验位(此位可省略),最后是停⽌位“1”。
起始位起始位"0”占⽤⼀位,⽤来通知接收设备,开始接收字符。
通信线在不传送字符时,⼀直保持为“1”。
接收端不断检测线路状态,当测到⼀个“0”电平时,就知道发来⼀个新字符,马上进⾏接收。
起始位还被⽤作同步接收端的时钟,以保证以后的接收能正确进⾏。
数据位数据位是要传送的数据,可以是5位、6位或更多。
当数据位是5位时,数据位为D0〜D4;当数据位是6位时,数据位为D0〜D5;当数据位是8位时,数据位为D0〜D7。
奇偶校验位奇偶校验位只占⼀位,其数据位为D8。
当传送数据不进⾏奇偶校验时,可以省略此位。
此位也可⽤于确定该帧字符所代表的信息类型,“1"表明传送的是地址帧,“0”表明传送的是数据帧。
停⽌位停⽌位⽤来表⽰字符的结束,停⽌位可以是1位、1.5位或2位。
停⽌位必须是⾼电平。
接收端接收到停⽌位后,就知道此字符传送完毕。
51单片机与PC机通信
51单片机与PC机通信随着嵌入式系统和物联网技术的发展,51单片机在许多应用中扮演着重要的角色。
这些单片机具有低功耗、高性能和易于编程等优点,使其在各种嵌入式设备中得到广泛应用。
在这些应用中,与PC机的通信是一个关键的需求。
本文将探讨51单片机与PC机通信的方法和协议。
串口通信是51单片机与PC机进行通信的最常用方式之一。
串口通信使用一个或多个串行数据线来传输数据,通常使用RS232或TTL电平标准。
在硬件连接方面,需要将51单片机的串口与PC机的串口进行连接。
通常使用DB9或USB转TTL电路来实现这一连接。
在软件编程方面,需要使用51单片机的UART控制器来进行数据的发送和接收。
具体实现可以使用Keil C51或IAR Embedded Workbench 等集成开发环境进行编程。
USB通信是一种比较新的通信方式,它具有传输速度快、支持热插拔等优点。
在51单片机中,可以使用USB接口芯片来实现与PC机的通信。
在硬件连接方面,需要将51单片机的USB接口芯片与PC机的USB接口进行连接。
通常使用CH340G或FT232等USB转串口芯片来实现这一连接。
在软件编程方面,需要使用51单片机的USB接口芯片来进行数据的发送和接收。
具体实现可以使用相应的USB库来进行编程。
网络通信是一种更加灵活和高效的通信方式。
在51单片机中,可以使用以太网控制器来实现与PC机的网络通信。
在硬件连接方面,需要将51单片机的以太网控制器与PC机的网络接口进行连接。
通常使用ENC28J60等以太网控制器来实现这一连接。
在软件编程方面,需要使用51单片机的以太网控制器来进行数据的发送和接收。
具体实现可以使用相应的网络库来进行编程。
需要注意的是,网络编程涉及到更多的协议和数据格式,需要有一定的网络基础知识。
本文介绍了51单片机与PC机通信的三种常用方式:串口通信、USB 通信和网络通信。
每种方式都有其各自的优缺点和适用场景。
MCS-51单片机原理及接口技术
行口和并行口的Βιβλιοθήκη 作原理1行口工作原理
行口模式由基地址和数据地址两部分组成,可以实现通过行口进行数据存储和读 取等操作。
2
并口工作原理
并口的数据线被分成了8个,可实时地读取外设的数据,并通过并口把数据传送 到主机。
通信协议和通信方法
IIC通信
基于I2C总线的通信协议,实 现微处理器模块和外设器件 之间的数据交互。
SPI通信
序列外围设备接口,提供基 于主机/从机模型的高速通信 解决方案
UART通信
通用异步收发传输,通过 UART通信模块,进行串口通 信和控制
中断和定时器中断
1
软件中断和硬件中断
2
硬件中断源包括端口IO中断、定时器中
断、ADC中断等。而软件中断源通常是
外设模块。
3
中断屏蔽和优先级
中断请求可以通过设置中断优先级中断 屏蔽,防止干扰正在执行运算的程序。
定时器中断和计数器中断
循环计算器产生中断,定时器定时时间 可通过计数器控制。
自动重装载定时器和PWM
自动重装载定时器
可以通过自动重装载功能来实现循环和自动控制。
PWM
利用外设定时器和计数器模块实现的一种调节输出 波形占空比的技术
电源管理和降功耗设计
单片机的电源管理系统可以进行待机和休眠模式控制、可伸缩电压的选择、低功耗的时钟系统架构、硬件清除 等相关控制操作。
总结与展望
MCS-51单片机广泛应用于各种领域,包括家电、电力、汽车、医疗和军事等。 随着技术的发展,相信单片机的应用领域会更加广泛。
MCS-51单片机原理及接 口技术
MCS-51单片机是一种高性能、低成本的微型计算机,具有占用空间小、功耗 低、可靠性高等特点。本次演讲将深入探讨其原理、接口技术等内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
与 信息发展
MCS-51 单片机的多机通信方式研究
□
摘
叶
佩
湖北・武汉 430065)
(武汉工业学院工商学院信息工程系
要:多机协同工作已是单片机发展的一个重要趋势, 目前单片机多机通信的主要方式仍然是主从式多机通 信系统, 本文在研究传统的多机通信系统的基础上, 设计了一种基于 89S52 芯片的多机通信系统, 实验显示, 该 系统的通信性能较好。 关键词:单片机 多机通信 中图分类号:TP39 RS-485 文献标识码:A 文章编号:1007-3973(2009)12-058-02 一种基于 RS-485 的单片机多机通信系统,该系统的拓扑图 如图 1 所示。
控制寄存器 TCON:
本文在参考传统的单片机多机通信系统的基础上,对基 于 RS-485 的 89S51 单片机的多机通信系统进行了设计, 通过 实验显示,本系统可以在较远的距离内进行主从机的数据通 信, 稳定性和可靠性也比较强。另外, 本系统可以适用于大部 分的 8 位单片机处理,也可以推广到其他的同规格的单片机 多机通信系统。虽然如果添加更多的控制命令,比如工作状 态调整、 发送或者接收暂停、 从-从通信等可以使系统功能进一 步增强, 但考虑到流程实现将进一步复杂。在现有的需求下, 本系统具有其较强的应用价值,但如何在不降低通信质量和 稳定性的前提下增强通信系统功能和减少流程复杂度将是下 一步需要研究和解决的问题。 参考文献: [1] 国兵等.单片机原理与应用[M].天津大学出版社,2008. [2] 李荣正,刘启中,陈学军.PIC 单片机原理及应用[M].北京: 北 京航空航天大学出版社,2005. [3] 彭宗乾. MCS-51 单片机多机通信的组成原理及通信程序 [M]. 通讯与电视,1992, 2. [4] 禹言春,张丽丽,王贺涛. 单片机的多机通信[J].安徽农学通 报, 2007, 13(9): 157-158. [5] 韩淑玲,鲁昆生. 主一从互控式 MCS 一 51 单片机多机通 信[J], 工业控制计算机, 1993.4 [6] 陈斌. 基于 RS-485 的单片机多机通信技术[J].嵌入式系统, 2005.7 [7] 周锦荣,周小方等. 单片机的多机无线短信通信系统设计[J]. 应用天地. 2008.7 .
单片机作为微型计算机的一个分支, 具有功能强、 体积小、 应用灵活等诸多优点, 在工业控制、 仪器仪表、 通信、 家用电器 和国防科技等各个领域得到广泛的应用。随着集成电路技术 的不断发展, 单片机的性能也在不断的提高, 其应用的范围必 将越来越宽广。然而, 随着单片机在工业自动化控制、 智能仪 器仪表中的广泛应用, 单机已经逐渐不能满足需要, 多机协同 工作已经成为一个重要的发展趋势,多机应用的关键就在于 多机之间的互相通讯、 互传数据信息。 1 单片机多机通信的系统结构 目前, 单片机多机通信的方式可以分为星形、 环形、 串行总 线型和主从式多机型四种。 而其中又以主从式多机通信最为 普遍。 在单片机之间, 或者单片机与 pc 机之间的串口通信方 式有 2 种选择, 一种是直接采用单片机中自带的串行口进行 通信, 但这种方法抗干扰能力非常差, 传输距离也十分有限。 另一种方式是采用标准串行总线接口的形式,如 RS-232C, RS-449,RS-422,RS-423 和 RS-485。传统的方法一般是采用 RS-232C 作为总线接口, 但目前, 由于 RS-485 所具有的强抗 干 扰 能 力和 其 在 传 输 速 率 和传 输 距 离 方 面 的 优 势,基 于 RS-485 的单片机多机串行通信的方式也被广泛研究和使用。 RS-485 是一个电气接口规范,它只规定了平衡驱动器和接收 器的电特性,而没有规定接插件、 传输电缆和通信协议.RS-485 标准定义了一个基于单对平衡线的多点、 半双工通信链路,是 一种极为经济、 并具有相当高的噪声抑制、 传输速率、 传输距 离和宽共模范围的通信平台.RS-485 网络的传输距离能够达 到 1 200m, 一条 RS-485 总线可以带 32 台设备 (控制器 ). RS-485 和 RS-232 的基本通讯机理 (是一致的,它的优点在于 弥补了 RS-232 通讯距离短,不能进行多台设备同时进行联网 管理的缺点。由于单片机的输入、 输出电平为 TTL 电平, 因 此实现 RS-485 总线的长距离通信,必须进行电平转换。 我们 将 RS-232 电平转换为 TTL 电平, 然后通过高速光电耦合器 (6N137) 直流电源转换器进行了信号隔离, 、 再通过 SM75176 芯 片 将 隔 离 信 号 转 换 成 符 合 RS-485 标 准 的 信 号,由 于 RS-485 是半双工通信, 所以必须有一个信号来控制通信口状 态是收还是发, 电路中的 “收发控制器” 通过采集数据线的状 态, 从而实现收、 发控制, 完成单片机的 TTL 电平与 RS-485 的电平转换。本文以 51 单片机中的 89S52 芯片为例,设计
—— 科协论坛 ・ 2009 年第 12 期 (下) ——
计算技术
与 信息发展
该寄存器中的 SM2 为多机通信控制位, 主要运用于有多 个从机的情况, 一般工作在方式 2 或者方式 3 下。 并且 SM2 和 RB8 必须配合使用, 一般的使用方法是, 平时使 SM2=1, 只 有当接收到的 RB8=1 时, 才将前 8 位的数据送入 SBUF 寄存 器, 并产生中断请求, RI 置 1; 将 如果接收到的 RB8=0, 则将这 1 帧数据丢弃。如果 SM2=0, RB8 为奇偶校验位。为此, 则 设 计该寄存器的值如下:REN=1——允许接收;SM0SM1=11 ——选择串行通信口工作方式 3,TB8=1——发送地址标志, RB8=0——接收数据标志。 由于在串行通信中, 需要用到 T1 作为波特率发生器, 而 在控制周期的时候需要用到 T0 作为定时器, 因此, 还需要设 置与定时器/计数器相关的寄存器 TMOD 和 TCON。其各位 的值如下: 控制寄存器 TMOD:
58
Hale Waihona Puke 2 系统的网络协议 在制定单片机多机通信协议时, 考虑到 89S51 芯片所具 有的内存较小, 接口有限的特征, I/O 经过综合的分析, 制定 主机与从机通信的发送和接收间隔为 1/384s。为主机设置 一个标志位, 假设从机数目为 n, 当主机访问次数大于 n 时, 该位自动置 1。主机与从机通信时, 每一次都会有一个查询 和确认过程,当发送方发送信息以后即发送一个询问数据 包, 同时, 接收方每一次接收到一个信息即发送一个接收确 认数据包, 在此过程中, 如果发送方在一定时间内没有接收 到确认数据包, 则会自动重发一次, 如果重发数次 (一般设置 为 2-3 次) 仍然在时间内无法接收到确认数据包, , 则发送方 会放弃对该从机的通信, 并对特定标志位置 1 显示。 如果检 测到总线空闲, 从机会分配其使用时间片, 在这个时间内, 如 果数据未发送完成, 主机也会停止对该从机的通信, 如果通 信成功, 从机需要对主机发送确认数据包, 并归还总线的使 用权。 3 系统的程序设计 CPU 与外设进行数据交换有两种方式, 即查询方式和 中断方式, 但中断方式占用 CPU 资源较少, CPU 效率更高, 更适合于实时控制系统,因此在现代计算机系统中被广泛 使用。在初始化部分,需要考虑到各控制寄存器的设置问 题。 89S52 芯片的串行口寄存器 SCON:
4 系统稳定性设计 在实际系统设计中, 要保证数据传输的可靠性, 离不开硬件和 软件的协调工作。 为保证数据传输的准确性,在软件设计时也 必须采取一定的措施。首先是提高数据校验功能,实验显示 在数据传输过程中采用 CRC 校验方式, 大大降低了数据传输 出错率。其次, 可以在上位机、 下位机都设有软件看门狗, 以 防止死机造成通信端口操作错误、发生总线冲突使整个系统 的通信瘫痪无法正常工作。再次, RS-485 总线只制定了物理 层电气标准, 对上层通信协议没有规定, 这给设计者提供了很 大的灵活性。最后, 由于电子器件的原因, 也容易造成系统的 不稳定, 因此, 可以设置过流保护装置和过热保护装置, 当通 信线路异常短路致使处于输出状态的 MAx485 输出端短路时, 保护电路起控, 限制短路电流为 100mA 左右; 当芯片本身温 升过高时, 内部热关断电路强迫输出, 进入高阳状态, 即芯片 越热, 内阻越大, 输出短路电流越小。另外, 制定一套完整、 结 构简单、 功能完备的通信协议, 对提高通信的效率和可靠性也 是非常重要的。 5 小结
本系统作为主从式多机通信方式,主机和从机的程序不 同, 可编写主机流程图如图 2 所示。
图2
—— 科协论坛 ・ 2009 年第 12 期 (下) ——
59