二、 扩展引申
1、 多机通信
多机通信网络通常有5种网络形式:(a)星型网络结构 (b)树型网络结构(c)总线型网络结构(d)环型网络结构(e)分散型网络结构 它们各有优缺点
△ 有没有细想一下,各种网络结构有其优缺点的原因?
主从式总线型网路多机通信:
利用51单片机串行口工作方式2、3及SM2和RB8的配合完成主从式的多机通信
主机和系统中的某一从机通信时,先发出通信联络命令,与指定的从机相互确认后才进行正式的通信(具体的通信过程,见教材P137)
△ 有时间,有机会将以上的主从机通过程的流程图画出来。
通信协议:
多机通信时,主、从机双方都应符合一定的规范,因此人为地制订了一些协议。这些协议是主、从机双方共同遵守的规定。协议制定的优劣对通信的灵活性和质量有直接的影响,因此实用场合通信协议往往很复杂,本例
⑴主机发送的控制命令代码(发送时TB8=0)为
00H:要求从机接收数据块
01H:要求从机发送数据块
⑵地址FFH(发送时TB8=1)是对所有从机都起作用的命令,命令所有从机恢复到SM2=1状态,准备重新接收主机发送的地址。
⑶从机状态字格式为:
其中,如果ERR=1,表示从机接收到非法指令;如果TRDY=1,表示从机发送准备就绪;如果RRDY=1,表示从机接受准备就绪。
从机状态字用来和主机进行“对话”
⑷发送数据块长度为16字节
程序设计
主机通信程序采用子程序方式。进行串行通信,在主程序串设置好子程序入口参数后,调用通信子程序即可。从机通信程序以串口中断服务程序形式给出。从机接收发送的准备工作在主程序中进行。因此若从机未做好准备工作,则从中断服务程序中返回,在主程序中做好准备。
三、 任务
1、 设计一对点对点的单片机通信
2、 涉及一组单片机(3个以上)进行多机通信,其中一个设为主机,其它为从机,组网方式为总线型网络结构。
关键字:51单片机 串行通信 扩展
引用地址:
51单片机系列知识12--串行通信(3)
推荐阅读最新更新时间:2024-11-05 09:54
C51单片机指针实例
#pragma src #include reg51.H f(){} f1(){} f2(){} main() { { int x; int *px; //下面这些表示虽然很烦,但是生成的代码却及其简洁: //将 xdata 型指针 0x4000 赋给 px px=(int xdata *)0x4000; //表示从 xdata 0x4000处取一个 char 给x x=*((char xdata *)0x4000); // 表示从 code 0x4000处取一个 word 作为 xdata 型的指针 给 px px=*((int xdata * xdata *)0x4000); //表示从 code 0x4000处取一个 wor
[单片机]
PIC单片机和51单片机谁更容易于学习
pic单片机是当前最实用工具之一,而对于pic单片机的探讨往往与其他类型单片机相联系。 51好学一些,但是PIC也没比51难多少。首先,PIC比51多个配置位,这个基本上看看就懂了。然后,PIC的端口要配置成输入或者输出,51单片机则不用。PIC的中断没有优先级,需要软件判断。最后,PIC比51多许多寄存器,你要使用PIC的各种功能,都需要去初始化寄存器。 再说说PIC相比与51单片机有哪些优点: 1:相同的晶振情况下,PIC比51速度快,PIC4个时钟周期为一个指令周期,51是12个。 2:PIC比51功能强大许多,比如自带AD转换,自带PWM,内置弱上拉(需设置)LCD接口等。。这样,你在用到许多功能的时候就很方便啦,
[单片机]
51单片机启动代码:STARTUP.A51
通过Keil编译器建立工程时,Keil会提示是否添加STARTUP.A51文件到工程,该文件即为51单片机启动代码。 51单片机复位后马上执行STARTUP.A51文件中的启动代码,根据启动代码中的设置依次执行以下操作: 内部RAM清零 外部RAM清零 清零分页的外部RAM 初始化SMALL内存模型的可重入模拟堆栈及其堆栈指针 初始化LARGE内存模型的可重入模拟堆栈及其堆栈指针 初始化COMPACT内存模型的可重入模拟堆栈及其堆栈指针 初始化8051单片机的硬件堆栈指针 将系统控制权转交给初始化全局变量的代码,如果没有被初始化的全局变量则转交给C程序文件中的main函数。 STARTUP.A51启动文件中定
[单片机]
AT89S51单片机串行口的结构
AT89S51单片机串行口的内部结构如下图所示。它有两个物理上独立的接收、发送缓冲器SBUF(属于特殊功能寄存器),可同时发送、接收数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,两个缓冲器共用一个特殊功能寄存器字节地址(99H)。 串行口的控制寄存器共有两个:特殊功能寄存器SCON和PCON。下面介绍这两个特殊功能寄存器各位的功能。 1、串行口控制寄存器SCON 串行口控制寄存器SCON,字节地址988H,可位寻址,位地址为98H~9FH。SCON的格式如下图所示。 下面介绍SCON中各位的功能。 (1) SM0、SMl:串行口4种工作方式选择位。
[单片机]
扩展USB连接的几种方案比较
扩展USB连接的几种方案比较 USB(通用串行总线)是现在支持许多通用现成的外围设备,如键盘,鼠标,打印机和存储设备等的公认作为首选的连接方案。对于致力于工业和消费市场的设备制造商来说,USB也成为满足其连接至PC需求的一个优先的选择。事实上,对于任何一个使用标准的PC作为控制器设备的应用, USB接口的好处是显而易见的。虽然大批量短生命周期的通用外设可以不使用USB接口,一些有更长的生命周期的定制型应用则需要添加USB连接来解决现代 PC缺乏传统的连接接口的问题。 在这些现代PC所不支持的接口中,RS - 232串行接口是一个典型的例子,从软件的角度看,RS-232相比USB更容易实现且同样仍然满足多种应用需求。但是大多
[模拟电子]
51单片机开发板程序----LED流水点亮(C语言)
//实例6:使用P0口流水点亮8位LED #include reg51.h //包含单片机寄存器的头文件 /**************************************** 函数功能:延时一段时间 *****************************************/ void delay(void) { unsigned char i,j; for(i=0;i 250;i++) for(j=0;j 250;j++) ; } /******************************************************* 函数功能:主函数 *****
[单片机]
C51单片机中常用的头文件
通常有reg51.h,reg52.h,math.h, ctype.h, stdio.h, stdlib.h, absacc.h, intrins.h 。 但常用的却只有reg51.h或reg52.h,math.h 。 reg51.h和reg52.h是定义51单片机或52单片机特殊功能寄存器和位寄存器的,着两个头文件中大部分内容是一样的,52单片机比51单片机多一个定时器T2,因此,reg52.h中也就比reg51.h中多几行定义T2寄存器的内容。 math.h是定义常用数学运算的,比如求绝对值、求方根、求正弦和余弦等,该头文件中包含有各种数学运算函数,当我们需要使用时可以直接调用它的内部函数。 学习单片机应该掌握的主要内
[单片机]
基于STC89C51单片机的数字电压表设计
0 引言 数字电压表的设计和开发已有很多类型和款式,传统的数字电压表有自己的特点,它们适合在现场做手工测量,而要完成远程测量并对测量的数据做进一步处理,运用传统的数字电压表是无法完成的。为此,本文设计了基于PC通信的数字电压表,该表既可以完成测量数据的传递,又可借助PC进行测量数据的处理。所以,这种类型的数字电压表无论在功能和实际应用上,都具有传统数字电压表无法比拟的优点,这使得它的开发和应用都具有良好的前景。 1 系统构成 本系统主要由硬件和软件两部分构成,硬件主要包括数据采集电路,单片机最小数据采集系统,单片机与PC机的接口电路等。软件主要有单片机数据采集程序,单片机与上位机通信程序,以及上位机数据处理程序。
[单片机]