文档视界 最新最全的文档下载
当前位置:文档视界 › 单片机多机通信流程图

单片机多机通信流程图

单片机多机通信流程图
单片机多机通信流程图

基于51单片机的多机通信系统设计

单片机多机通信系统 一、引言 随着单片机技术的不断发展,单片机的应用已经从单机向多机互联化方向发展。单片机在实时数据采集和数据处理方面,有着成本低、能满足一般要求、开发周期短等优点,其在智能家居、计算机的网络通信与数据传输、工业控制自动化等方面有着广泛的应用。 本系统是面向智能家居应用而设计的。在初期,采用红外无线通信方式,其传输距离短,适于一般家庭应用,且成本相对较低;待方案成熟、成本允许,可以改用GSM无线通信方式。 二、系统原理及方案设计 1 、系统框架介绍 本系统为基于51单片机的多机红外无线通信系统,由三个51单片机模块组成。其中一个作为主机(即上位机),负责接收来自从机1(即下位机)采集的数据信息,以及向从机2(即下位机)发送控制信息。从机1是数据采集模块,采集温度、光强等室内数据,并将其发送给主机。主机经分析处理,作出相应判断,并给从机2发送控制信息,使由从机2控制的电机作出相应反应,调节室内环境状况。 系统总体框图如下图1所示,图2为红外收发模块简图:

图1 系统总体框图 图2 红外收发模块简图 2 、多机通信原理介绍 在多机通信系统中,要保证主机与从机间可靠的通信,必须要让通信接口具有识别功能,51单片机串行口控制寄存器SCON中的控制位SM2正是为了满足这一要求而设置的。当串行口以方式2或方式3工作时,发送或接收的每一帧信息都是11位的,其中除了包含SBUF寄存器传送的8位数据之外,还包含一个可编程的第9位数据TB8或RB8。主机可以通过对TB8赋予1或0,来区别发送的是数据帧还是地址帧。 根据串行口接收有效条件可知,若从机的SCON控制位SM2为1,则当接收的是地址帧时,接收数据将被装入SBUF并将RI标志置1,

51单片机串口通信,232通信,485通信,程序

51单片机串口通信,232通信,485通信,程序代码1:232通信 #include #define uchar unsigned char #define uint unsigned int uchar flag,a,i; uchar code table[]="i get"; void init() { TMOD=0X20; TH1=0XFD; TH0=0XFD; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1; } void main() { init();

while(1) { if(flag==1) { ES=0; for(i=0;i<6;i++) { SBUF=table[i]; while(!TI); TI=0; } SBUF=a; while(!TI); TI=0; ES=1; flag=0; } } } void ser() interrupt 4 {

RI=0; a=SBUF; flag=1; } 代码2:485通信 #include #include"1602.h" #define uchar unsigned char #define uint unsigned int unsigned char flag,a,i; uchar code table[]="i get "; void init() { TMOD=0X20; TH1=0Xfd; TL1=0Xfd; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1;

} void main() { init_1602(); init(); while(1) { if(flag==1) { display(0,a); } } } void ser() interrupt 4 { RI=0; a=SBUF; flag=1; } Love is not a maybe thing. You know when you love someone.

单片机多机通信实现

单片机多机通信实现 1、设计要求 三片单片机利用串行口进行串行通信:串行通信的波特率为9600bit/s。串行口工作方式为方式1的单工串行通信。 2、设计方案 一个主机和两个从机,主机通过按键选择要通信的从机,按键确认后通过矩阵键盘输入要传输的信息,从机接收主机发送的信息并发回长度校验码给主机,主机确认校验信息是否正确,若正确,主机液晶显示“send:信息”和从机数,从机液晶显示所接收的信息;若错误则主机从发信息,重复前面的步骤。 3、硬件电路设计 3.1 单片机最小系统的设计 本系统共用三块单片机,每块单片机均选用AT89S52,最小系统也都一样。由于三块单片机的主要任务是通信,为了得到准确的波特率,采用振荡频率为11.0592MHz的晶振,再接两个30pF的瓷片电容即可构成单片机的时钟电路。 单片机最小系统电路如下: 图3-1 单片机最小系统电路 复位电路也可以换成看门狗电路实现,可使单片机可靠的复位。为了简化电路设计,本系统采用简单方法,可使单片机上电复位,此外可以通过按键手动复位。单片机上电即可复位,R1与C3的充电时间大于两倍的机器周期,使RST引脚有足够长的时间保存高电平,使单片机可靠的复位。正常工作时,按下按键SW1就可以使单片机复位。 3.2 矩阵键盘电路设计

图3-2 矩阵键盘电路 P1口接4×4的矩阵键盘,共16个按键,分别为0~C及“开始通信”,“选择从机”和“输入信息”键。P1.0~P1.3接矩阵键盘的行,P1.4~P1.7接矩阵键盘的列。 3.3 液晶显示电路设计 液晶显示电路如下图: 图3-3 液晶LCD1602显示电路 P0口上拉10K×8的排阻,自己画的排阻符号如下: 图3-4 排阻符号 排阻具有九个引脚,一个公共端,另外八个脚分别接到需要接上拉电阻的单片机的P0口。排阻相当于8个大小均为10K的电阻,在电路中主要其电平转化作用,通过的电流很小,每只电阻的功耗也很小。如接5V电源,每只电阻的电流约为0.5mA,很小,但是由于P0口是接液晶,不用接排阻也能实现,本着节约的原则在本设计中没有接排阻。 主机整体原理图如下:

第06章单片机串行通信系统习题解答

第6章单片机串行通信系统习题解答 一、填空题 1.在串行通信中,把每秒中传送的二进制数的位数叫波特率。 2.当SCON中的M0M1=10时,表示串口工作于方式 2 ,波特率为 fosc/32或fosc/64 。 3.SCON中的REN=1表示允许接收。 4.PCON 中的SMOD=1表示波特率翻倍。 5.SCON中的TI=1表示串行口发送中断请求。 6.MCS-51单片机串行通信时,先发送低位,后发送高位。 7.MCS-51单片机方式2串行通信时,一帧信息位数为 11 位。 8.设T1工作于定时方式2,作波特率发生器,时钟频率为,SMOD=0,波特率为时,T1的初值为 FAH 。 9.MCS-51单片机串行通信时,通常用指令 MOV SBUF,A 启动串行发送。 10.MCS-51单片机串行方式0通信时,数据从引脚发送/接收。 二、简答题 1.串行口设有几个控制寄存器它们的作用是什么 答:串行口设有2个控制寄存器,串行控制寄存器SCON和电源控制寄存器PCON。其中PCON中只有的SMOD与串行口的波特率有关。在SCON中各位的作用见下表: 2.MCS-51单片机串行口有几种工作方式各自的特点是什么 答:有4种工作方式。各自的特点为:

3.MCS-51单片机串行口各种工作方式的波特率如何设置,怎样计算定时器的初值 答:串行口各种工作方式的波特率设置: 工作方式O :波特率固定不变,它与系统的振荡频率fosc 的大小有关,其值为fosc/12。 工作方式1和方式3:波特率是可变的,波特率=(2SMOD/32)×定时器T1的溢出率 工作方式2:波特率有两种固定值。 当SM0D=1时,波特率=(2SM0D/64)×fosc=fosc/32 当SM0D=0时,波特率=(2SM0D/64)×fosc=fosc/64 计算定时器的初值计算: 4.若fosc = 6MHz ,波特率为2400波特,设SMOD =1,则定时/计数器T1的计数初值为多少并进行初始化编程。 答:根据公式 N=256-2SMOD ×fosc /(2400×32×12)= ≈243 =F3H TXDA: MOV TMOD,#20H ;置T1定时器工作方式2 MOV TL1,#0F3H ;置T1计数初值. MOV TH1,#0F3H B f B f N OSC SMOD OSC SMOD ??-=???-=384225612322256

通信主要施工工艺流程图

通信施工工艺流程脚本 1基本要求 1)施工现场的各项管理制度应齐全,管理机制健全,岗位职责明确到人;施工人员数量、机具仪表配备应满足“施工组织设计”的要求。 2)针对具体工程施工特点,制定安全保障措施;开工前进行必要的安全培训,并进行安全考试,考试合格后方可上岗作业。 3)对于通信线路工程,施工前要及沿线相关部门及单位取得联系,办理相关手续、签订安全配合协议等。项目部要教育施工人员遵守当地法律法规、风俗习惯、施工现场的规章制度,保证施工现场的良好秩序。 4)对于通信设备安装工程,应了解通信机房的管理制度,服从机房管理人员的安排,提前办理必要的准入手续。对于既有机房,调查机房内在用设备的使用情况,制定在用设备的安全防护措施。 施工过程中严禁乱动及工程无关的在用设备、设施。 5)GSM-R及列车无线调度通信工程铁塔安装、漏泄同轴吊挂等需要在车站站台、隧道、路肩等处进行施工,应提前及有关部门联系,签订安全配合协议。 6)对于铁路车站客运服务信息系统工程,应了解车站的管理制度,提前办理准入证等各种相关手续。 7)技术交底的重点根据工程实际情况确定,一般应包括主要施工工

艺及施工方法;进度安排、工程质量、安全措施等。交底要交到施工操作人员。交底必须在作业前进行,要有交底记录,交底人及被交底人都要在记录上签字。 8)对于通信工程,施工项目及工程特点不同,其施工工艺及施工方法也有所不同。因此,通信工程施工作业指导书要根据工程具体情况进行编写。 9)做好物资的进场和标识工作,物资应整齐码放,要注意防火、防盗。还应做好进货、领用的账目记录工作。 10)安排仪器仪表存放地点,建立管理台帐,采取防潮、防火、防盗措施,严格按照其说明书的要求进行保管和维护。 11)对于各种设备安装工程,施工现场应配备消防器材,通信机房内及其附近严禁存放易燃、易爆等危险物品。 2工艺实施主要内容 2.1总施工流程 通信工程施工总流程图:

51单片机实现的485通讯程序

51单片机实现的485通讯程序 #ifndef __485_C__ #define __485_C__ #include #include #define unsigned char uchar #define unsigned int uint /* 通信命令*/ #define __ACTIVE_ 0x01 // 主机询问从机是否存在 #define __GETDATA_ 0x02 // 主机发送读设备请求 #define __OK_ 0x03 // 从机应答 #define __STATUS_ 0x04 // 从机发送设备状态信息 #define __MAXSIZE 0x08 // 缓冲区长度 #define __ERRLEN 12 // 任何通信帧长度超过12则表示出错uchar dbuf[__MAXSIZE]; // 该缓冲区用于保存设备状态信息uchar dev; // 该字节用于保存本机设备号 sbit M_DE = P1^0; // 驱动器使能,1有效 sbit M_RE = P1^1; // 接收器使能,0有效

void get_status(); // 调用该函数获得设备状态信息,函数代码未给出 void send_data(uchar type, uchar len, uchar *buf); // 发送数据帧 bit recv_cmd(uchar *type); // 接收主机命令,主机请求仅包含命令信息 void send_byte(uchar da); // 该函数发送一帧数据中的一个字节,由send_data()函数调用void main() { uchar type; uchar len; /* 系统初始化*/ P1 = 0xff; // 读取本机设备号 dev = (P1>>2); TMOD = 0x20; // 定时器T1使用工作方式2 TH1 = 250; // 设置初值 TL1 = 250; TR1 = 1; // 开始计时 PCON = 0x80; // SMOD = 1 SCON = 0x50; // 工作方式1,波特率9600bps,允许接收 ES = 0; // 关闭串口中断 IT0 = 0; // 外部中断0使用电平触发模式 EX0 = 1; // 开启外部中断0

单片机串口通信C程序及应用实例

一、程序代码 #include//该头文件可到https://www.docsj.com/doc/68103005.html,网站下载#define uint unsigned int #define uchar unsigned char uchar indata[4]; uchar outdata[4]; uchar flag; static uchar temp1,temp2,temp3,temp; static uchar R_counter,T_counter; void system_initial(void); void initial_comm(void); void delay(uchar x); void uart_send(void); void read_Instatus(void); serial_contral(void); void main() { system_initial(); initial_comm(); while(1) { if(flag==1) { ES = 0; serial_contral(); ES = 1; flag = 0; } else read_Instatus(); } } void uart_send(void) { for(T_counter=0;T_counter<4;T_counter++) { SBUF = outdata[T_counter]; while(TI == 0);

TI = 0; } T_counter = 0; } uart_receive(void) interrupt 4 { if(RI) { RI = 0; indata[R_counter] = SBUF; R_counter++; if(R_counter>=4) { R_counter = 0; flag = 1; } } } void system_initial(void) { P1M1 = 0x00; P1M0 = 0xff; P1 = 0xff; //初始化为全部关闭 temp3 = 0x3f;//初始化temp3的值与六路输出的初始值保持一致 temp = 0xf0; R_counter = 0; T_counter = 0; } void initial_comm(void) { SCON = 0x50; //设定串行口工作方式:mode 1 ; 8-bit UART,enable ucvr TMOD = 0x21; //TIMER 1;mode 2 ;8-Bit Reload PCON = 0x80; //波特率不加倍SMOD = 1 TH1 = 0xfa; //baud: 9600;fosc = 11.0596 IE = 0x90; // enable serial interrupt TR1 = 1; // timer 1 RI = 0; TI = 0; ES = 1; EA = 1; }

两个单片机之间的串行通信

两个单片机之间的串行通信 一、设计要求 在某个控制系统中有U1、U2这两个单片机,U1单片机首先将P1端口指拨开关数据载入SBUF,然后经由TXD将数据传送给U2单片机,U2单片机将接收数据存入SBUF,再由SBUF载入累加器,并输出至P1端口,点亮相应端口的LED。 二、实验所需元器件 三、电路原理图: 两个单片机之间的串行通信电路图

四、程序设计 这两个单片机均工作在半工状态,U1将P1端口的状态通过TXD发半空给U2,而U2接收U1的数据,然后控制P1端口的LED显示。因此,需编写两个不同的程序,其程序流程图如下所示:

五、C语言程序: U1的C语言程序: #include "reg51.h" #define uint unsigned int #define uchar unsigned char void send(uchar state) { SBUF=state; while(TI==0); TI=0; } void SCON_init(void) { SCON=0x50; TMOD=0x20; PCON=0x00; TH1=0xfd; TL1=0xfd; TI=0; TR1=1; ES=1; } void main() { P1=0xff; SCON_init(); while(1) { send(P1); } } U2的C语言程序: #include "reg51.h" #define uint unsigned int #define uchar unsigned char uchar state; void receive() { while(RI==0) state=SBUF; RI=0; } void SCON_init(void) { SCON=0x50; TMOD=0x20; PCON=0x00; TH1=0xfd; TL1=0xfd; RI=0; TR1=1; } void main() { SCON_init(); while(1) { receive(); P1=state; } } 六、调试与仿真:

双单片机串口通信原理+程序

一、实验目的 掌握单片机串口通信的设计方法,了解双单片机通信的原理。 二、实验内容(含程序) 编写发送方和接受方单片机程序,让发送方单片机向接受方单片机循环发送几个两位十六进制数,并将发送的数显示在发送方和接受方的数码管上,要求串行口采用方式1进行通信,选用定时器T1作为波特率发生器,T1工作方式2,通信的波特率位9600。 硬件连接: 发送发程序:

#include #define uint unsigned int uchar table[]={0xaa,0xB5,0xdd,0xa8,0xba,0xcc,0xf4,0xb0}; //要发送的数据void delay(uint x) { uint i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void main() { uchar i=0; TMOD=0x20; TH1=0xfd; TL1=0xfd; SM0=0; SM1=1; TR1=1; EA=1; ES=1; while(1) { SBUF=table[i]; P1=table[i]; while(!TI); TI=0; i++; if(i==8) i=0; delay(800);

} } 接收方程序: #include #define uchar unsigned char uchar a; void main() { TMOD=0x20; TH1=0xfd; TL1=0xfd; REN=1; TR1=1; SM0=0; SM1=1; EA=1; ES=1; while(1); } void ser() interrupt 4 { RI=0; a=SBUF; P1=a; } 三、实验结果及分析 本实验需要完成两个程序,发送方和接受方的,但是并没有要求

51单片机多机通信程序

51单片机多机通信程序(主机部分) /* multi_m.c */ /* 多机通信的主机部分*/ #ifndef __MULTI_M_C__ #define __MULTI_M_C__ #include #include #define __MAX_LEN_ 64 // 数据最大长度 #define _MHZ_ 11 // 设置单片机使用的晶振频率(11.0592MHz) /* 以下为程序协议中使用的握手信号*/ #define __SUCC_ 0x0f // 数据传送成功 #define __ERR_ 0xf0 // 数据传送错误 void init_serial(); // 串口初始化 void send_data(unsigned char *buf); // 发送数据 void delay10ms(unsigned int count); // 延时子程序(10ms) void main() { char buf[__MAX_LEN_]; unsigned char i = 0; unsigned char tmp; unsigned char addr; // 该字节用于保存要通信的从机地址 /* 为缓冲区赋初值*/ P0 = 0xff; while(P1 != 0) // 每隔100ms从P0口读取,若读取到0则表明数据采集结束 { *(buf+i) = P0; delay10ms(10); // 延时100ms P0 = 0xff; i++; } *(buf+i) = 0; // 缓冲区最后一个字节为0表示数据结束 /* 读要访问的分机地址*/ P0 = 0xff; addr = P0; /* 串口初始化*/ init_serial(); // 初始化串口 EA = 0; // 关闭所有中断 /* 发送地址帧并接收应答信息,如果接收的信号与发送的地址信息不同,则重新发送地址帧*/ tmp = addr-1; while(tmp != addr) { /* 发送从机地址*/

通信主要施工工艺流程图

精品文档,放心下载,放心阅读 通信施工工艺流程脚本 1基本要求 1)施工现场的各项管理制度应齐全,管理机制健全,岗位职责明确到人;施工人员数量、机具仪表配备应满足“施工组织设计”的要求。 2)针对具体工程施工特点,制定安全保障措施;开工前进行必要的安全培训,并进行安全考试,考试合格后方可上岗作业。 3)对于通信线路工程,施工前要与沿线相关部门及单位取得联系,办理相关手续、签订安全配合协议等。项目部要教育施工人员遵守当地法律法规、风俗习惯、施工现场的规章制度,保证施工现场的良好秩序。 4)对于通信设备安装工程,应了解通信机房的管理制度,服从机房管理人员的安排,提前办理必要的准入手续。对于既有机房,调查机房内在用设备的使用情况,制定在用设备的安全防护措施。施工过程中严禁乱动与工程无关的在用设备、设施。 5)GSM-R及列车无线调度通信工程铁塔安装、漏泄同轴吊挂等需要在车站站台、隧道、路肩等处进行施工,应提前与有关部门联系,签订安全配合协议。6)对于铁路车站客运服务信息系统工程,应了解车站的管理制度,提前办理准入证等各种相关手续。 7)技术交底的重点根据工程实际情况确定,一般应包括主要施工工艺及施工方法;进度安排、工程质量、安全措施等。交底要交到施工操作人员。交底必须在作业前进行,要有交底记录,交底人与被交底人都要在记录上签字。8)对于通信工程,施工项目及工程特点不同,其施工工艺及施工方法也有所不同。因此,通信工程施工作业指导书要根据工程具体情况进行编写。 9)做好物资的进场和标识工作,物资应整齐码放,要注意防火、防盗。还应做好进货、领用的账目记录工作。 10)安排仪器仪表存放地点,建立管理台帐,采取防潮、防火、防盗措施,严格按照其说明书的要求进行保管和维护。 11)对于各种设备安装工程,施工现场应配备消防器材,通信机房内及其附近严禁存放易燃、易爆等危险物品。 2工艺实施主要内容 2.1总施工流程 通信工程施工总流程图:

基于51单片机的多机通信系统

课程设计报告 课程单片机技术 题目串口通信-多机通信系统系别 年级 07级专业电子科学与技术班级学号 学生姓名 指导教师职称 设计时间

目录 1 题设要求分析 (1) 2 硬件电路的设计 (3) 2.1 系统的组成 (3) 2.2 系统的工作原理 (3) 2.3 硬件电路原理图设计 (4) 2.4 硬件电路的实现 (7) 3 软件电路的设计 (8) 3.1 通信协议的设计 (8) 3.2 主机程序设计 (9) 3.3 从机程序设计 (14) 4 系统的调试与实现 (18) 4.1 从机模块调试 (18) 4.2 LED显示模块调试 (19) 4.3电平转换模块功能调试 (19) 4.4主机模块功能调试 (19) 4.5整体设计功能调试 (20) 参考文献 (22)

1 题设要求分析 本小组的试验题目如下: 一、任务: 设计实现多台单片机系统之间的串行通信 二、基本要求(难度系数0.8): (1)设计一个主从式多机通信系统,包含1台主机和3台从机,主机和从机全部为单片机; (2)选择合适总线接口芯片,正确连接主机和从机; (3)编程实现分布式数据采集功能,主机可以获取各分机当前AD转换结果,并显示。 三、发挥部分: (1)完善通信功能。(根据完成情况加分,上限+0.2) 经过本小组成员对本课题认真讨论先做出如下分析: 对课题分析后本小组认为本次实验的目的是就是应用单片的串口通信功能实现一个分布式采集系统。整个系统中包含一片主机和三片从机,主机的任务是实现对三片从机的AD转换结果的采集并在数码管上显示之。这样从硬件的角度上将整个系统分为两个模块——主机模块和从机模块。主机模块中包含单片机模块、led数码管显示子模块和串口电平转换子模块,从机模块则包括单片机子模块、AD转换子模块和串口电平转换子模块。就本次试验而言硬件电路的设计难点在于串口电平转换芯片的选择及其连接,而软件的设计难点在于串口通信协议的制定及相关程序的编写。 实现多机通信方案的实现。不同于双机通信多机通信系统中需要识别通信信息发出者或是接受者是谁。经过查阅资料发现在大多数的多机通信系统中都是才采用地址识别的方法实现的。所谓地址识别方法就是在发送或接受信息前先发送和校验地址帧。就本题目而言,先要对通信系统中的每台机器分配一个唯一的地

单片机与pc串口通信程序及电路图

单片机与pc串口通信程序及电路图 单片机与pc串口通信程序及电路图 #include #define BUFFERLEGTH 10 //----------------------------------------------------------------- void UART_init(); //串口初始化函数 void COM_send(void); //串口发送函数 char str[20]; char j; //------------------------------------------------------------------- void main(void) { unsigned char i; UART_init(); j=0; //初始化串口 for(i = 0;i }; while(1); } //------------------------------------------------------------- //-------------------------------------------------------------------------------------------------- // 函数名称:UART_init()串口初始化函数 // 函数功能:在系统时钟为11.059MHZ时,设定串口波特率为9600bit/s // 串口接收中断允许,发送中断禁止 //-------------------------------------------------------------------------------------------------- void UART_init() { //初始化串行口和波特率发生器

基于单片机的多机通信系统

课程设计报告课程单片机技术 题目串口通信-多机通信系统 系别 年级 07级专业电子科学与技术 班级学号 学生姓名 指导教师职称 设计时间

目录 1 题设要求分析 (1) 2 硬件电路的设计 (4) 2.1 系统的组成 (4) 2.2 系统的工作原理 (4) 2.3 硬件电路原理图设计 (4) 2.4 硬件电路的实现 (5) 3 软件电路的设计 (6) 3.1 通信协议的设计 (6) 3.2 主机程序设计 (7) 3.3 从机程序设计 (14) 4 系统的调试与实现 (17) 4.1 从机模块调试 (18) 4.2 LED显示模块调试 (18) 4.3电平转换模块功能调试 (18) 4.4主机模块功能调试 (19)

4.5整体设计功能调试 (19) 参考文献 (22)

1 题设要求分析 本小组的试验题目如下: 一、任务: 设计实现多台单片机系统之间的串行通信 二、基本要求(难度系数0.8): (1)设计一个主从式多机通信系统,包含1台主机和3台从机,主机和从机全部为单片机; (2)选择合适总线接口芯片,正确连接主机和从机; (3)编程实现分布式数据采集功能,主机可以获取各分机当前AD转换结果,并显示。 三、发挥部分: (1)完善通信功能。(根据完成情况加分,上限+0.2) 经过本小组成员对本课题认真讨论先做出如下分析: 对课题分析后本小组认为本次实验的目的是就是应用单片的串口通信功能 实现一个分布式采集系统。整个系统中包含一片主机和三片从机,主机的任务是实现对三片从机的AD转换结果的采集并在数码管上显示之。这样从硬件的角度上将整个系统分为两个模块——主机模块和从机模块。主机模块中包含单片机模块、led数码管显示子模块和串口电平转换子模块,从机模块则包括单片机子模

通信主要施工工艺流程图

通信施工工艺流程脚本 1 基本要求 1) 施工现场的各项管理制度应齐全,管理机制健全,岗位职责明确到人;施工人员数量、 机具仪表配备应满足“施工组织设计”的要求。 2) 针对具体工程施工特点,制定安全保障措施;开工前进行必要的安全培训,并进行安 全考试,考试合格后方可上岗作业。 3) 对于通信线路工程,施工前要与沿线相关部门及单位取得联系,办理相关手续、签订 安全配合协议等。项目部要教育施工人员遵守当地法律法规、风俗习惯、施工现场的规章制度,保证施工现场的良好秩序。 4) 对于通信设备安装工程,应了解通信机房的管理制度,服从机房管理人员的安排,提 前办理必要的准入手续。对于既有机房,调查机房内在用设备的使用情况,制定在用设备的安全防护措施。施工过程中严禁乱动与工程无关的在用设备、设施。 5) GSM-R及列车无线调度通信工程铁塔安装、漏泄同轴吊挂等需要在车站站台、隧 道、路肩等处进行施工,应提前与有关部门联系,签订安全配合协议。 6) 对于铁路车站客运服务信息系统工程,应了解车站的管理制度,提前办理准入证等 各种相关手续。 7) 技术交底的重点根据工程实际情况确定,一般应包括主要施工工艺及施工方法;进 度安排、工程质量、安全措施等。交底要交到施工操作人员。交底必须在作业前进行,要有交底记录,交底人与被交底人都要在记录上签字。 8) 对于通信工程,施工项目及工程特点不同,其施工工艺及施工方法也有所不同。因 此,通信工程施工作业指导书要根据工程具体情况进行编写。 9) 做好物资的进场和标识工作,物资应整齐码放,要注意防火、防盗。还应做好进 货、领用的账目记录工作。 10) 安排仪器仪表存放地点,建立管理台帐,采取防潮、防火、防盗措施,严格按照其 说明书的要求进行保管和维护。 11) 对于各种设备安装工程,施工现场应配备消防器材,通信机房内及其附近严禁存放 易燃、易爆等危险物品。 2 工艺实施主要内容 2.1 总施工流程 通信工程施工总流程图:

基于单片机的串行通信发射机设计

设计任务书 一、设计任务 以89C51单片机作为主控芯片,设计串行通信发射机。最终达到以串行工作方式准确无误的发射和显示信号, 能够方便地在单片机与单片机之间,构成一个点对点、一点对多点的无线串行数据传输通道。 二、设计方案及工作原理 设计方案: 这个系统有如下两个部分:硬件电路部分有A/D转换器及接口电路、单片机的接口电路及A/D转换器与单片机的数据线、无线数据发射电路。软件部分是A/D转换器的数据采集部分,用软件对A/D0809转换成的数据进行CRC—8编码,然后将采集到的八位数据和转换好的CRC—8编码作为一帧通过无线发送模块发送出去。 工作原理: 单片机串行通信发射机采用串行工作方式,发射并显示两位数字信息,既显示00-99,使数据能够在不同地方传递。硬件部分主要分两大块,由AT89C51和多个按键组成的控制模块,包括时钟电路、控制信号电路,时钟采用6MHZ 晶振和30pF的电容来组成内部时钟方式,控制信号用手动开关来控制,P1口来控制,P2、P3口产生信号并通过共阳极数码管来显示,软件采用汇编语言来编写,发射程序在通信协议一致的情况下完成数据的发射,同时显示程序对发射的数据加以显示 目录

第一章系统设计要求和解决方案 第二章硬件系统 第三章软件系统 第四章实现的功能 第五章缺点及可能的解决方法 第六章心得体会 附录一参考文献 附录二硬件原理图 附录三程序流程图 第一章系统设计要求和解决方案

设计要求: 电路主要由AT89C51单片机和由多个按键组成的控制模块、时钟电路、显示电路、电平转换电路等部分组成。其主要技术指标: ○1P1 口来控制,通过按键对系统的各部分进行控制 ○2P2、P3 口产生信号并通过共阳极数码管显示。 ○3软件采用汇编语言编写,发射程序在通信协议一致的情况下完成数据的发射,同时,显示程序对发射的数据加以显示。 解决方案: 此设计分为两个部分,硬件部分和软件部分。硬件部分介绍:单片机串行通信发射机电路的设计,单片机AT89C51的功能和其在电路的作用。介绍了AT89C51的管脚结构和每个管脚的作用及各自的连接方法。AT89C51与MCS-51兼容,4K字节可编程闪烁存储器,寿命:1000次可擦,数据保存10年,全静态工作:0HZ-24HZ,三级程序存储器锁定,128*8位内部RAM,32跟可编程I/O线,两个16位定时/计数器,5个中断源,5个可编程串行通道,低功耗的闲置和掉电模式,片内震荡和时钟电路,P0和P1可作为串行输入口,P3口因为其管脚有特殊功能,可连接其他电路。例如P3.0RXD作为串行输出口,其中时钟电路采用内时钟工作方式,控制信号采用手动控制。数据的传输方式分为单工、半双工、全双工和多工工作方式;串行通信有两种形式,异步和同步通信。介绍了串行串行口控制寄存器,电源管理寄存器PCON,中断允许寄存器IE,还介绍了数码显示管的工作方式、组成,共阳极和共阴极数码显示管的电路组成,有动态和静态显示两种方式,说明了不同显示方法与单片机的连接。再后来还介绍了硬件的焊接过程,及在焊接时遇到的问题和应该注意的方面。硬件焊接好后的检查电路、不装芯片上电检查及上电装芯片检查。软件部分:在了解电路设计原理后,根据原理和目的画出电路流程图,列出数码显示的断码表,计算波特率,设置串行口,在与接受机设置相同的通信协议的基础上编写显示和发射程序。编写完程序还要进行编译,这就必须会使用编译软件。介绍了编译软件的使用和使用过程中遇到的问题,及在编译后烧入芯片使用的软件PLDA,后来的加电调试,

单片机级联通讯

单片机级联通讯功能实现 多机通信充分利用了单片机内部的多机通信控制位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进行控制,需要在主机中编程。 单片机多机通讯

51单片机的串口通信程序(C语言)

#include #include #include #include #define uchar unsigned char #define uint unsigned int sbit Key1 = P2^3; sbit Key2 = P2^2; sbit Key3 = P2^1; sbit Key4 = P2^0; sbit BELL = P3^6; sbit CONNECT = P3^7; unsigned int Key1_flag = 0; unsigned int Key2_flag = 0; unsigned int Key3_flag = 0; unsigned int Key4_flag = 0; unsigned char b; unsigned char code Num[21]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80, 0x90,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00, 0x10,0x89}; unsigned char code Disdigit[4] = {0x7F,0xBF,0xDF,0xEF}; unsigned char Disbuf[4]; void delayms(uint t) { uint i; while(t--) { /* 对于11.0592M时钟,约延时1ms */ for (i=0;i<125;i++) {} } } //----------------------------------------------------- void SendData(uchar Dat) { uchar i=0; SBUF = Dat; while (1) { if(TI) { TI=0; break;

单片机RS-485多机通讯的实现

单片机RS-485多机通讯的实现 摘要本文介绍一种能利用RS-485电气特性和简单的结构方式,采用自定义串行通信协议,实现单片机RS-485多机通讯的方法和技巧。 关键词单片机,RS-485总线,总线冲突,串行通信 1 简介 RS-485串行总线接口标准以差分平衡方式传输信号,具有很强的抗共模干扰的能力,允许一对双绞线上一个发送器驱动多个负载设备。工业现场控制系统中一般都采用该总线标准进行数据传输,而且一般采用RS-485串行总线接口标准的系统都使用8044芯片作为通信控制器或各分机的CPU。8044芯片内部集成了SDLC,HDLC等通信协议,并且集成了相应的硬件电路,通过硬件电路和标准协议的配合,使系统的通讯准确、可靠、快速。8044在市场上日渐稀少,虽然有8344可替代,但几百元的价位与普通单片机几元至几十元的价位相差甚远,用户在开发一般的单片机应用系统时,都希望能用简单的电路和简单的通信协议完成数据交换。譬如:利用单片机本身所提供的简单串行接口,加上总线驱动器如SN75176等组合成简单的RS-485通讯网络。本文所述的方法已成功地应用于工程项目,一台主机与60台从机通讯,通讯波特率达64KBPS。 2 总线驱动器芯片SN75176 常用的RS-485总线驱动芯片有SN75174,SN75175,SN75176。SN75176芯片有一个发送器和一个接收器,非常适合作为R S-485总线驱动芯片。 SN75176及其逻辑如图1所示。 图1 SN75176芯片及其逻辑关系 3 RS-485方式构成的多机通信原理 在由单片机构成的多机串行通信系统中,一般采用主从式结构:从机不主动发送命令或数据,一切都由主机控制。并且在一个多机通信系统中,只有一台单机作为主机,各台从机之间不能相互通讯,即使有信息交换也必须通过主机转发。采用RS -485构成的多机通讯原理框图,如图2所示。

单片机多主机通信网络的设计与应用

单片机多主机通信网络的设计与应用 甄 华 (河南工业贸易职业学院 河南 郑州 450012) 摘 要: 研究传统的单片机通信网络之中各个从机之间直接通信无法完成,而且实时性不足,对主机时间的浪费较多。基于此提出一种基于单片机以及RS485总线技术的多主机通信系统的设计,从而解决上述多主机通信网络存在的问题。 关键词: 单片机;多主机通信;网络;RS485 中图分类号:TP368 文献标识码:A 文章编号:1671-7597(2012)1120063-02 从当前来看,基于单片机的网络控制系统已经成为了网络一旦某一个终端设备需要报警,而主机还没有向其询问,必然系统发展的一个主要趋势,并且在小区、银行、商场等安防系导致无法及时的发出报警信号,从而造成较大的损失。 统之中得到了广泛的应用。在这种系统之中,每一个终端设备都是由单片机构成的,这些终端设备与上位机之间的双向通信的实现则是通过传送终端设备在现场采集的数据信号,然后接受上位机的各种控制。由于某些场合或者部门的重要性(比如,银行)对于网络系统的实时性以及从机通信都提出了一定的要求。传统的基于单片机的多主机通信系统已经无法满足实际需要,因此需要构建一个全新的网络模式,从而使得各个终端都成为和足迹,实现多主机之间的通信交流,使得任何一个终端都可以向该网络系统之中的其他终端设备发送数据或者指令,并且也能够接受或者回应来自于其他终端的数据或者指令。从这个角度来看,文章的研究具有非常重要的现实意义。 1 传统单片机通信网络的基本构成 网络社会化和社会网络化已经成为目前信息化建设的排头兵。作为中国社会网络的支柱之一,有线电视网络正以蓬勃的势头从传统的电缆传输发展到今天的光缆传输;从单向的有线电视网发展到双向的宽带HFC 交互式网络;既作为一个信息量大、传输速度快、传输质量高、普及面广的现代化大众媒体,又作为一个集电视节目。话音、计算机信息于一体的新角色,为社会各界提供多方位的服务。 1.1 传统单片机通信系统的结构 传统的单片机网络通信系统是由主机和多个从机共同构成的,但是这种模式并没有考虑现场总线的问题,因此在实际中的使用效果不佳。但是,在单片机的通信过程中,现场总线一般是要通过RS422总线来实现全双工通信的,在如下图所示的结构之中,就是一种较为典型的传统单片机通信网络系统: 图1 传统单片机通信系统结构示意图 1.2 传统单片机通信系统的不足 在该系统之中,由于采用的是主机和从机的结构,就算是实现了全双工通信,这种通信也只能够是在主机和从机之间实现,从机与从机之间是无法实现直接通信的,而只能够借助于主机来完成。在这种情况之下,主机的通信压力提升,而且处理效率下降,必然导致通信的实时性受损。在从机向主机发送信息的过程中,需要采用主机轮询模式,也就是主机轮流循环询问各个从机,只有从机需要向主机发送数据的时候,才回复应答,此时才能够向主机发送数据。在从机没有数据发送的时候,也需要回复应答没有数据发送。这就使得处理效率进一步下降,不管有无任务,有无数据,都需要询问之后才能够进入下一步,严重浪费了主机的工作实践,实时性非常差。而且, 2 多主机通信系统的设计 2.1 基于单片机的多主机通信系统方案设计 前文所述的传统单片机通信系统存在着无法实现从机之间的直接通信,而且主机通信效率低,实时性差。这是由于没有引入现场总线的原因,文章基于单片机的多主机通信系统方案选用的就是基于RS485现场总线技术。具体的方案设计如下图所示: 图2 基于单片机的多主机通信系统方案 如上图所示,基于RS485现场总线实现的单片机多主机通信系统的各个设备终端都是主机,在通常状态之下都处于信息接收状态,只有在某个终端需要向上位机以及其他主机发送数据的时候,才转换成发送状态,向RS485现场总线发送数据。这种系统设计方案的优势在于改变了过去的主机轮流循环询问各个从机的操作流程,各个终端设备之间的通信变成了按需发布信息或者接受信息,从而减少了单个主机的负荷,提升了系统的实时性。在终端设备需要报警的时候,能够及时的报警,并产生其他的一系列的连锁动作。但是,在该方案之下,需要解决一个重要的问题就是通信协议的解决问题。 2.2 硬件选型 本方案的关键硬件为PLC ,文章选择西门子PLC SP300以及三菱PLC FX2N 。上位机采用的是西门子PLC SP300,西门子PLC SP300用于对过程处理能力和响应时间要求很高的应用。通过其工作存储器,该PLC 也适用于中等规模的应用。该PLC 的微处理器每条二进制指令执行时间约100ns ,每条浮点数运行指令约3μs ,具有96KB 高速RAM (相当于大约32K 的指令)用于执行相关的程序部分,为用户程序提供充分的空间;微存储卡(最大8 MB )作为程序的装载存储器,也允许在CPU 中保存项目;拥有多达4排结构的32个模块;内置MPI 接口可以最多同时建立12个与S7-300/400或与PG 、PC 、OP 的连接。在这些连接中,始终分别为PG 和OP 各保留一个连接。通过“全局数据通讯”,MPI 可以用来建立最多16个CPU 组成的简单网络。各个设备终端主机采取用的是三菱PLC FX2N ,其具有小型化、高速度以及高性能等特点,编程简单,除输入出16-25点的独立用途外,还可以适用于在多个基本组件间的连接,模拟控制,定位控制等。在基本单元上连接扩展单元或扩展模块,可进行16-256点的灵活输入输出组合。可选用16/32/48/64/80/128 点的主机,可以采用最

相关文档