‘壹’ 单片机多机通讯的最佳连接方式
硬件连接。
1、首先单片机构成的多机系统,常采用总线型主从式结构启唯前,硬件连接。
2、其次所谓主从式,即在数个单片机中,有一个是山轿主机,其余的是从机;从机要服从主机的调动、支配。串行口方悄清式2、方式3适合于这种主从式通信结构。
3、最后采用不同的通信标准时,还需进行相应的电平转换,有时还要对信号进行光电隔离;在实际的多机应用系统中,常采用RS-485串行标准总线进行数据传输。
‘贰’ 51单片机多串口同时通信
51单片机是通过sbuf这个串口专用寄存器和串口模块来收发数据的。发送时,只要将数据送入到sbuf,等等ti状态到1就发送完毕。同样接收时,ri为1,那么说明sbuf接收完毕一帧数据,可以直接从sbuf读取数据了。
‘叁’ 51单片机怎么用串口和两个从机通信单片机发出的指令两个从机都收到了,怎么控制选择只有一个从机收到
要看你的具体情况,如果你的从机也是单片机可编程的话,可以主从机通信中分别编写不同的通信协议,在发送的指令上加上校验码,从机接收到指令后,先判断校验码是不是符合协议,如果是的话就是给自己的指令,要执行,不是的话则不执行。
如果你要控制的从机不可编程,则需要对串口进行扩展,方法有很多,比较简单的话可以用串口扩展串口,就是使用外接串口扩展芯片来实现,比如GM8123,可以将一个串口扩展为三个子串口,每次通信的时候选中一个子串口工作,当然也可以多通道同时工作,你自己去网上查一下相关资料很多。这种方法也可以适用第一种情况
‘肆’ 简述80C51单片机多机通信的特点。
多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。
工作于方式0时,SM2必须为0。
(3).REN:允许接收位。
REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。
(4).TB8:发送接收数据位8。
在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。
(5).RB8:接收数据位8。
在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。
(6).TI:发送中断标志位。
可寻址标志位。方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。
(7).RI:接收中断标志位。
可寻址标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。
电源管理寄存器PCON
PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下:
表2 PCON电源管理寄存器结构
PCON D7 D6 D5 D4 D3 D2 D1 D0
位符号 SMOD - - - GF1 GF0 PD IDL
在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。
‘伍’ 单片机串口通讯有哪几种方式
89系列单片机的串行通信有4种工作方式:
1、正旦漏方式0是同步移位寄存器方式,帧格式8位,波特率固定为fosc/12。
2、方式1是8位异步通信方式,帧格式10位,波特率可变:T溢出率/n(n= :32或16)。
3、方式2是9位异步通信方式,帧格式11位,波特率固定: fosc/n(n=32 或16)。
4、方式3是9位异步通信方式,帧格式11位,波特率可变:T溢出率(m=32或16)。
方式1、2、3的区别主要表现在帧格式及波特率两个方面。
单片机应用范围:
单片机渗透到我们生活的各个领域。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,迟蔽广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制等等。
还有自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械。因此,单举烂片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
‘陆’ 单片机多机通讯时,多是主机向从机发送命令后,从机给出应答信号,能不能从机主动给主机发送数据呢,谢谢
主机和从机通讯时,不可以从机主动发数据给主机。一般要主机主动去发布命令,从机去应答,如果从机也主动和主机联系,那么会造成主机接收数据错误,或者发送数据错误!
下面分析下原因。
1、首先说明下单片机多机通讯的原理:简单点就是多个单片机TXD和RXD连接到一个,主机的TXD连接从机的RXD,从机之前是并联状态;复杂的呢就是通过RS485芯片,连接方式和上面一样的,RS485相对来说传输数据抗干扰。
2、主机给从机发送数据,从机怎么来接收这一帧数据。一般我们是给每个从机都设置一个独一无二的地址。从机接收到数据首先判断是不是发送给自己的,就像是收快递一样的。不是发给自己的,后面的数据就不处理,或者不接收数据。
3、说明下主机和从机的概念。其实主机、从机都是一样的设备,作歼如为主机来说,这个设备要主动去和从机的设备去沟通,就好像车间的班长和流水线上的操作工,班长去下发任务,操作工根据任务命令去做事。
主机就是去告诉从机,什么时间去做什么事。从机就是等待命令,然后去检测外部信号,执行命令。
4、主机和从机通讯的时候罩御,能不能从机主动。明白了主机和从机的概念,深入的想一下,为什么要主机发送命令,从机做出应答呢
。一般是主机会和很多从机进行通信。主机和从机通信一般是有个时间的间隔。比如200ms发送一次,然后切换到下一个从机。
如果主机在发送数据的时候,从机突然主动和主机联系了,那么
就会出现数据错误了,因为主机在发送数据,发送的过程中肯定会造成来不及处理接收数据,因为单片机同时只能处理一件事情。
所以
主机就是要主动联系,从机就是要等待主机联系之后再回应主机。不然就会出现沟通混乱的问氏闷启题,在编写程序的时候一定要注意这一点。
‘柒’ 单片机多机通信是怎么回事
单片机多机通信很复杂的,给你解释下原理,其他的自己到网上去搜下资料,看下程序就可以理解了的。我们学的是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,恢复多机通信系统原有的状态。