资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第6章 单片机串行口及应用 6.1 串行通信的基本概念 6.2 MCS-51单片机串行口 6.3 串行口应用 6.4 常用串行通信总线标准及接口电路,在很多单片机应用系统中,经常需要单片机和其它单片机、PC机或外部设备进行数据通信。计算机与外界的信息交换称为通信。CPU与外部设备的基本通信方式有两种: 并行通信,数据的各位同时进行传送。其特点是传送速度快、效率高,数据有多少位,就需要有多少根传输线。 串行通信,数据一位一位地按顺序进行传送。其特点是只需一对传输线就可实现通信,当传输的数据较多、距离较远时,它可以显著减少传输线,降低通信成本,但是串行传送的速度慢。 6.1 串行通信的基本概念 串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。 6.1.1 异步通信和同步通信 串行通信有两种基本通信方式:异步通信和同步通信。 1. 异步通信 在异步通信中,数据通常以字符(或字节)为单位组成数据帧传送。如图6-1所示。,图6-1 异步通信的字符帧格式,每一帧数据包括以下几个部分: (1)起始位 (2)数据位 (3)奇偶校验位 (4)停止位 2. 同步通信 在同步通信中,每个数据块传送开始时,采用一个或两个 同步字符作为起始标志 , 数据在同步字符之后,个 数不受限制,由所需传送 的数据块长度确定。其格 式如图6-2所示。,图6-2 同步传送的数据格式,6.1.2 串行通信的制式 在串行通信中,数据是在由通信线连接的两个工作站之间传送的。按照数据传送方向,串行通信可分为单工、半双工和全双工三种方式 1. 单工制式 只允许数据向一个方向传送,即一方只能发送,另一方只能接收。 2. 半双工制式 允许数据双向传送,但由于只有一根传输线,在同一时刻只能一方发送,另一方接收。 3. 全双工制式 允许数据同时双向传送,由于有两根传输线,在A站将数据发送到B站的同时,也允许B站将数据发送到A站。,6.1.3 波特率 串行通信的数据是按位进行传送的,每秒钟传送的二进制数码的位数称为波特率(也称比特数),单位是bps(bit per second),即位/秒。 发送/接收时钟 二进制数据序列在串行传送过程中以数字信号波形的形式出现。无论发送或是接收,都必须有时钟信号对传送的数据进行定位。 6.1.4 奇偶校验 采用奇偶校验法,发送时在每个字符(或字节)之后附加一位校验位,这个校验位可以是“0”或“1”,以便使校验位和所发送的字符(或字节)中“1”的个数为奇数称为奇校验,或为偶数称为偶校验。 6.2 MCS-51单片机串行口 6.2.1 串行口结构 串行口内部有两个物理上相互独立的数据缓冲器SBUF,一个用于发送数据,另一个用于接收数据。但发送缓冲器只能写入数据,不能读出数据;而接收缓冲器只能读出数据,不能写入数据,所以两个缓冲器共用一个地址(99H)。,6.2.2 串行口控制 1. 串行口控制寄存器SCON SCON是MCS-51的一个特殊功能寄存器(SFR),串行数据通信的方式选择、接收和发送控制以及串行口的状态标志都由专用寄存器SCON控制和指示。SCON用于控制串行口的工作方式,同时还包含要发送或接收到的第9位数据位以及串行口中断标志位。该寄存器的字节地址为98H 。 2. 电源控制寄存器PCON PCON中只有最高位SMOD与串行口工作有关,该位用于控制串行口工作于方式1、2、3时的波特率。当SMOD=1时,波特率加倍。PCON的字节地址为87H,没有位寻址功能。单片机复位时,SMOD=0。 6.2.3 串行口的工作方式 MCS-51串行口有方式0、方式1、方式2和方式3四种工作方式,用户可根据实际需要进行选用。方式0主要用于扩展并行输入/输出口,方式1、方式2和方式3主要用于串行通信。 1. 方式0,方式0为同步移位寄存器输入/输出方式,常用于扩展并行I/O口。 2. 方式1 方式1为波特率可变的10位异步通信方式,由TXD端发送数据,RXD端接收数据。收发一帧数据的格式为1位起始位、8位数据位、一位停止位,共10位 。 3. 方式2和方式3 这两种方式都是11位异步通信,操作方式完全一样,只有波特率不同,适用于多机通信。在方式2或方式3下,数据由TXD端发送,RXD端接收。收发一帧数据为11位:1位起始位(低电平)、8位数据位、1位可编程的第9位(D8:用于奇偶校验或地址/数据选择,发送时为TB8,接收时送入RB8)、1位停止位(高电平)。 6.2.4 波特率设置 1. 方式0的波特率 在方式0下,串行口的波特率是固定的,即 波特率=fosc /12,2. 方式2的波特率 在方式2下,串行口的波特率可由PCON中的SMOD位控制:若使SMOD=0,则所选波特率为fosc/64;若使SMOD=1,则波特率为fosc/32。 3. 方式1和方式3的波特率 在这两种方式下,串行口波特率由定时器T1的溢出率和SMOD值同时决定。相应公式为: 波特率=2SMODT1溢出率/32 6.3 串行口应用 6.3.1 串行口方式0的应用 串行口方式0为同步操作,外接串入并出或并入串出器件,可实现I/O的扩展。 I/O口扩展有两种不同用途:一是利用串行口扩展并行输出口,此时需外接串行输入/并行输出的同步移位寄存器,如74LS164或CD4094;另一种是利用串行口扩展并行输入口,此时需外接并行输入/串行输出的同步移位寄存器,如74LS165/74HC165或CD4014。,6.3.2 串行口在其他方式下的应用 MCS-51单片机串行口工作在方式1、2、3时,都用于异步通信,它们之间的主要差别是字符帧格式和波特率不同。此时,单片机发送或接收数据可以采用查询方式或中断方式。 6.3.3 双机通信 双机通信也称为点对点的异步串行通信。当两个MCS-51系列单片机应用系统相距很近时,可将它们的串行口直接相连来实现双机通信,双机通信中通信双方处于平等地位,不需要相互之间识别地址,因此串行口工作方式1、2、3都可以实现双机之间的全双工异步串行通信。如果要保持通信的可靠性,还需要在收发数据前规定通信协议,包括对通信双方发送和接收信息的格式、差错校验与处理、波特率设置等事项的明确约定。 6.3.4 多机通信 MCS-51系列单片机串行口方式2和方式3可用于多机通信。多机通信常采用一台主机和多台从机组成主从式多机系统,,主机与各从机之间能实现全双工通信,而各从机之间不能直接通信,只能经过主机才能实现。 1. 多机通信原理 多机通信要求主机和从机之间必须协调配合。 多机通信的具体过程如下: 将所有从机的SM2位置1,使从机只能接收地址帧。 主机发送一帧地址信息用以选中要通信的从机。 各从机接收到地址帧后,与本机地址相比较,如果相同,向主机回送本机地址信息,并将自身的SM2清0,以准备接收主机发送过来的数据帧,其他从机保持SM2为1,对主机送来的数据不予接收。 主机收到被选中的从机回送的地址信号后,对该从机发送控制命令,以说明主机要求从机接收还是发送。 从机接到主机的控制命令后,向主机发回一个状态信息,表明是否已准备就绪。主机收到从机的状态信息,若从机已准备就绪,主机便与从机进行数据传送。,6.4 常用串行通信总线标准及接口电路 常用的标准异步串行通信接口有RS-232C、RS-422/485、USB通用接口等几类。 6.4.1 RS232C总线标准及接口电路 RS-232C是使用最早、在异步串行通信中应用最广的总线标准。它由美国电子工业协会(EIA)1962年公布,1969年最后修订而成。其中,RS是英文“推荐标准”的缩写,232是标识号,C表示修改次数。 1. RS232C总线标准 RS-232C适用于短距离或带调制解调器的通信场合,设备之间的通信距离不大于15m时,可以用RS-232C电缆直接连接;对于距离大于15m以上的长距离通信,需要采用调制解调器才能实现。RS-232C传输速率最大为20Kbps。 RS-232C标准总线为25条信号线,采用一个25脚的连接器,一般使用标准的D型25芯插头座(DB-25),RS-232C采用负逻辑,即逻辑1用5V15V表示,逻辑0用5V15V表示。因此,RS-232C不能和TTL电平直接相连。 2. RS232C接口电路MAX232 MAX232是MAXIM公司生产的包含两路接收器和驱动器的专用集成电路,用于完成RS-232C电平与TTL电平转换。MAX232内部有一个电源电压变换器,可以把输入的5V电压变换成RS-232C输出电平所需的10V电压。 6.4.2 RS422/485总线标准及接口电路 1. RS422/485总线标准 RS422采用差分接收、差分发送工作方式,不需要数字地线。它使用双绞线传输信号,根据两条传输线之间的电位差值来决定逻辑状态。RS422接口电路采用高输入阻抗接收器和比RS-232C驱动能力更强的发送驱动器,可以在相同的传输线上连接多个接收节点,所以RS422支持点对多的双向通信。,RS-485是RS422的变型。它是多发送器的电路标准,允许双绞线上一个发送器驱动32个负载设备,负载设备可以是被动发送器、接收器或收发器。 RS422/485最大传输距离为1200m,最大传输速率为10Mbps。 2. RS485接口电路MAX485 MAX485是用于RS422/485通信的差分平衡收发器,由MAXIM公司生产。芯片内部包含一个驱动器和一个接收器,适用于半双工通信。其主要特性如下: (1)传输线上可连接32个收发器; (2)具有驱动过载保护; (3)最大传输速率为2.5Mbps; (4)共模输入电压范围为7V12V; (5)工作电流范围为:120A500A; (6)供电电源:5V。,本章结束 谢谢使用,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号