80C51单片机双机通信与多机通信的使用方法

时间:2023-03-11作者:佚名
80C51单片机之间的串行通信主要可分为双机通信和多机通信,本节举例说明双机通信与多机通信的使用方法。
1.双机通信硬件电路
如果两个80C51单片机系统距离较近,那么就可以将它们的串行口直接相连,实现双机通信,如图1所示。

80C51单片机双机通信与多机通信的使用方法
图1 双机异步通信接口电路
为了增加通信距离,减少通道和电源干扰,可以在通信线路上采用光电隔离的方法,利用RS-422A标准进行双机通信,实用的接口电路如图2所示。

80C51单片机双机通信与多机通信的使用方法
图2 RS-422A双机异步通信接口电路
2.双机通信软件编程
对于双机通信采用两种方法:查询方式和中断方式。
(1)查询方式
例 在双机通信中,设置串行口工作于方式3,波特率为9600,定时器T1工作于方式2,允许接收,单片机主频fosc=6MHZ,编写初始化编程序。
分析:
①设置SCON寄存器
串行口工作于方式3,SM0SM1=11。双机通信不需要发送地址,SM2=0。允许接收REN=1。所以SCON=11010000B=0D0H。
②计算定时器T1计数初值,波特率不加倍,smod=0。
由 80C51单片机双机通信与多机通信的使用方法可写出:80C51单片机双机通信与多机通信的使用方法
COUNT=254=0FEH
③初始化程序

80C51单片机双机通信与多机通信的使用方法
例 当1号机开始发送时,先送出一个“A1”信号,2号机收到后回答一个“B2”信号,表示同意接收。当1号机收到“B2”信号后,开始发送数据,每发送一次求一个“校验和,以提高通信的可靠性。设数据块为10个字节,数据缓冲区的起始地址是40H,数据块发完后马上发送“校验和”。2号机接收数据并将其转存到40H开始的缓冲区,每接收到一个数据也求一次“校验和”,数据块收完后,再接收1号机发来的“校验和”,并与2号机求出的结果相比较。如二者相等,说明接收正确,2号机回答“00H”;若两者不等,说明接收错误,2号机回答“0FFH”,请求重发。1号机收到“00H”的回答后,结束发送。若收到的答复非零,则将数据重发一次。假定双方约定的传输波特率为1200bps,振荡频率为11.0592Hz,T1工作在方式2。
解:

80C51单片机双机通信与多机通信的使用方法
查表可知,TH1=TL1=0E8H,PCON的SMOD位为0。程序流程图如图所示,程序清单如下。

80C51单片机双机通信与多机通信的使用方法
(2)中断方式
为提高CPU的利用效率,大多数的通信程序特别是接收程序使用中断方法。
例 单工形式的双机通信。 假定甲乙机以方式1进行串行数据通信,其波特率为1200, 甲机发送,发送数据在外部RAM 4000H-401FH单元中。乙机接收,并把接收到的数据块首末地址和数据依次放入外部RAM 5000H开始的区域中。
分析:
①设甲、乙机的时钟频率均为6MHz,从而机器周期为2μs。
②smod波特率不倍增,从而PCON=00H,至于smod什么时候为0,什么时候为1,可以根据需要来决定,具体地说,波特率较大,则smod=1,否则smod=0
③由公式可知波特率为:
计数初值=COUNT=243=F3H
④串行数据的发送(或接收)的内容包括数据块首末地址和数据两部分内容。对数据块首末地址以查询方式传送,而数据则以中断方式传送。因此在程序中要先禁止串行中断,后允许串行中断。
甲机发送主程序:

80C51单片机双机通信与多机通信的使用方法
甲机中断服务程序:
ACINT: CLR TI ;清发送中断
MOVX A,@DPTR ;读数据
MOV SBUF,A ;发送字符
INC DPTR
DJNZ R7, LOOP ;未发送完转LOOP
CLR ES ;禁止串行中断
CLR TR1 ;定时器1停止计数
LOOP: RETI ;中断返回
乙机接收主程序: 80C51单片机双机通信与多机通信的使用方法
注意:上述程序4个接收地址的程序段可用一个循环程序来代替,此处为了与发送程序对应故分为4段书写。
乙机中断服务程序:

80C51单片机双机通信与多机通信的使用方法

80C51单片机双机通信与多机通信的使用方法
在实验过程中,应先执行乙机的接收程序,然后执行甲机的发送程序。

相关阅读

家里装漏电开关还是空气开关好?能答得上来的一定好电工!

不知道大家平时对电路的知识有没有一个大致的了解,平时我们装修,一般都是请电工师傅过来帮忙统计需要的物品清单和数量,自己因为专业知识不够,往往很少会参与这方面的统计...
2023-06-11
家里装漏电开关还是空气开关好?能答得上来的一定好电工!

三相电机星形接法,到底有啥用?

在工厂、工地的电机接线中,“星形接法” 是电工师傅绕不开的基础操作。很多新手第一次接触电机接线,都会疑惑:电机为什么要接成星形?它和三角形接法有啥区别?今天咱们...
2026-06-03
三相电机星形接法,到底有啥用?

用干电池和万用表判别电动机绕组的首尾端的电路

电路图 用干电池和万用表判别电动机绕组的首尾端的电路如图11-14所示。 操作方法 先判别出三个绕组各自的两个线端:把万用表调到 电阻挡 ,根据电阻的大小可分清哪两个线端属于同...
2023-07-05
用干电池和万用表判别电动机绕组的首尾端的电路

电工技术科普——照明控制线路的检修调试,强烈建议收藏

照明控制线路的检修调试 当照明控制线路出现异常时,会影响到照明灯的工作,检修调试之前,先要做好照明线路的故障分析,为检修调试做好铺垫。 室内照明控制线路的检修调试 当...
2023-06-25
电工技术科普——照明控制线路的检修调试,强烈建议收藏

配电室冬夏负荷差异巨大:季节负荷完整计算方法

把所有设备铭牌功率相加计算总负荷,认为全年负荷固定不变,这是一个简单的错误。 其实渡河负荷是动态变化的值,在夏天、冬天用电设备投入的种类、运行的时长和现场的环境温度...
2026-07-04
配电室冬夏负荷差异巨大:季节负荷完整计算方法

热销商品

德国进口雅马哈风力灭火机大功率手提森林灭火器落叶工地吹雪机汽

德国进口雅马哈风力灭火机是一款高效、可靠的森林灭火和清理设备。它拥有大功率风机,能够迅速吹散落叶、杂草和积雪,有效清理工地和森林地面。这款灭火机采用先进技...
¥ 692.5

3M自粘橡胶条高硬度耐压实心幕墙玻璃舞台搭建货架专用减震密封条

3M自粘橡胶条是一款专为高要求工业及建筑场景设计的高性能密封减震材料,采用高硬度实心橡胶材质,具备优异的耐压性、抗老化性和持久弹性。其独特的自粘背胶设计,安装...
¥ 1.6

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

电位器旋钮电流调节螺帽直流逆变电焊机二保焊送丝机通用旋钮B102

电位器旋钮电流调节螺帽适用于直流逆变电焊机和二保焊送丝机,是一款通用的旋钮B102。该旋钮采用优质材料制造,具有耐磨损、耐高温、耐腐蚀等特点,能够长时间稳定运行...
¥ 0.7

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店,作为西门子品牌的专卖店,提供了一系列高品质、设计新颖的家居电气产品。这里销售的开关插座采用无框...
¥ 8.77

网站栏目