《RS232和RS485》由会员分享,可在线阅读,更多相关《RS232和RS485(23页珍藏版)》请在金锄头文库上搜索。
1、2017/6/28,第1页,项目六任务,任务一、单机通信任务二、多机通信,2017/6/28,第2页,任务一 RS232单机通信,UART(Universal Asynchronous Receive/Transmitter通用异步收发器,通信原理。通信芯片MAX232,及通信原理。技能点:根据数据格式的协议,数据交换的协议要求硬件连接,程序的编写,熟悉Keil、伟福、AEDK系列实验机开发工具。实现串行通讯的硬环境。,知识点:,2017/6/28,第3页,实现单片机与单片机通讯,单片机有4个键每个键发送一串字符串,另一个单片机接收,并显示。 实现与PC机通讯。将从智能开发板键盘上键入的数字,
2、字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到实验机的数码管上。,任务提出:,2017/6/28,第4页,UART(Universal Asynchronous Receive/Transmitter通用异步收发器。在异步串行通信总线中,RS-232C和RS485是比较广泛的两 种总线标准。这两种标准只是在电平标准上作了一定的约定。串行异步通信的数据格式。,知识链接,一、串行口有关的概念,2017/6/28,第5页,RS-232是串行数据接口标准,最初都是美国EIA(电子工业联合会)制订并发布的,1969年公布的通信协议,适合的数传率为020bps。传输率:所谓传输率就是指每
3、秒传输多少位,传输率也常叫波特率。标准波特率系列为110、300、600、1200、4800、9600和19200。在通信为保证通信正确,必须通信双方必须同一波特率。 RS-232-C标准:规定了信号电平标准和控制信号线的定义。RS-232C采用负逻辑规定逻辑电平,信号电平与通常的TTL电平不兼容,逻辑“1”=-3V-15V逻辑“0”=+3V+与TTL电平不一样可用TTL/EIA转换器进行转换。,2017/6/28,第6页,二、串行口控制寄存器SCON,SCON串行口控制和状态寄存器,SM0、SM1:串行口工作方式控制位,2017/6/28,第7页,SM2:多机通信控制位(方式2,3)。 1一
4、只有接收到第9位(RB8)为1,RI才置位。 0一接收到字符N就置位。REN:串行口接收允许位。 1一允许串行口接收。 0一禁止串行口接收。TB8:方式2和方式3时,为发送的第9位数据, 也可以作奇偶校验位。RB8:方式2和方式3时,为接收到的第9位数据; 方式1时,为接收到的停止位TI: 发送中断标志。由硬件置位,必须由软件清0。RI: 接收中断标志。由硬件置位,必须由软件清0。,SCON串行口控制和状态寄存器,2017/6/28,第8页,1串行口波特串 通常情况下,使用单片机的串行口时,选用的晶振比较固定6MHz,12MHz,110592MHz。串行口常用的波特率及相应的设置,三、串行口初
5、始化,串行口常用波特率表,2017/6/28,第9页,在使用串行口之前,应对它进行编程初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下: 确定定时器1的工作方式编程TMOD寄存器; 计算定时器1的初值装载TH1、TL1; 启动定时器1编程TCON中的TR1位; 确定串行口的控制编程SCON; 串行口在中断方式工作时,须开CPU和源中断 编程IE寄存器。,初始化步骤,2017/6/28,第10页,开始,初始化串口,初始化寄存器,开中断,是串行输入否,发送允许否,有键否,发送数据,读串口,判数据是0F否,显示数据,置time1工作方式,返回,键处理,no,y,no,n,y
6、,y,n,y,程序框图,2017/6/28,第11页,C51 通信程序例子,main() uchar i; uint j; TMOD=0x20; /*设置9600波特串的定时器1方式和初始值*/TL1=0xfd;TH1=0xfd;SCON0xd8;PCON0x00;/*设置串行口方式*/TR1=1;while(1) i=0;while(trdatai!0x00) /*发送字符串*/SBUF=trdatai;/*接收字符串*/ while(TI=0); TI0; i+;,2017/6/28,第12页,任务实施,应用Proteus ISIS 集成仿真软件 绘制电路图并连接程序。,2017/6/28
7、,第13页,RS232通信(硬件设计),智能机和智能机相联J5-2-J5-3J5-3-J5-2,智能机与PC微机通信接口说明:(PC端口是9针插口 智能机板上是5针插(J5)1脚 DCD 1脚 2脚 发出数据(RXD) 2脚 3脚 接受数据(TXD) 3脚 4脚 DRT 4脚 5脚 GND 5脚 地(GND) 6脚 DSR7脚 RTS8脚 CTS9脚 RI,2017/6/28,第14页,任务二 智能仪器的485通信,知识点: MAX485芯片功能特点:,MODBUS通信协议标准编程。技能点:MAX485芯片与智能机的仿硬件连接,PC机与多个站点智能机的硬件连接,通信程序的编写,熟悉Keil、伟
8、福、AEDK系列实验机开发工具。VB程序学习。,2017/6/28,第15页,实现任务如下图:,PC通过RS232与485转换接口与多个站点的智能机相连接,每个站点有一MAX485连接一个温度传感器DS18B20。可将每个站点的温度传送到PC 微机屏幕显示。,任务提出,2017/6/28,第16页,1、MAX485芯片介绍,知识链接,MAX485采用单一电源+5 V工作,额定电流为300 A,采用半双工通讯方式。它完成将TTL电平转换为RS485电平的功能。MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。,MAX485的特性、封装及特性l300A低静态电流 l共模输入电压范
9、围为-7V到+12V l三态输出 l30ns传输延迟时间,5ns的的沿变化时间 l半双工模式 l5V电源 l总线最大允许负载32个收发器 l2,5 Mbps数据传输速率 l过流保护、过热保护 15kV ESD保护,2017/6/28,第17页,l微机和智能仪器间基于RS485总线的主从方式点对多点通信,各为主/从属设备,主从设备中建立了主设备查询和从设备回应消息的格式;主设备可单独和从设备通信,也能以广播方式和所有从设备通信。 l通讯方式全兼容,采用异步通信,起始位1位,数据位8位,停止位1位,无校验。数据传输速率为1.2 kbps、2.4kbps、4.8kbps、9.6kbps、19.2kb
10、ps。,通信方式,2017/6/28,第18页,SOI为起始位标志当值为F1H时为主发标志,值为F3H时为响应标志;ADR是信息帧的第一字节(8位)设备地址描述。 特征码是设备特征描述代码。长度是该整条指令的总字节数(包括起始位标志、结束码)。查询/回应是控制标识码, 也称功能码:查询消息中的功能代码告之被选中的从设备要执行何种功能。CRC16是冗余循环码包含2个字节,即16位二进制。EOI为结束码当值为F2H是为主发结束,值为F4H时为响应结束。,MDOBUS通信协议的基本格式,2017/6/28,第19页,MAX485通讯程序与MAX232通讯程序在本质上是一样的,只是MAX485通讯程序需要加上通讯方向控制,,MAX485的DE和RE短接连P2.7口。,单片机与MAX485连接图,2017/6/28,第20页,如下图有多个智能开发板每个开发板上安装DS18B20温度传感器并显示当前检测温度值,板上的MAX485和RS232与485转换接口与PC机连接。在PC微机上用VB建立一界面显示多个智能板上所测的温度。,任务实施,智能温度检测系统,2017/6/28,第21页,VB界面程序设计,2017/6/28,第22页,总结 智能检测系统在工业控制中运用很广其设计难度在于通信程序设计,另外抗干扰问题是程序设计中难点,也是重点,值得研究。,2017/6/28,第23页,OVER!,