单片机串行口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RS-232C与51系列单片机的连接
由于51系列单片机的串行口不是标准 RS-232C接口,采用的是正逻辑TTL电平: 即逻辑1为+2.4V;逻辑0为+0.4V。
所以使用RS-232C接口将51系列单片机 与计算机或其他具有RS-232C接口的设备进 行连接时,必须考虑电平转换问题。
通常使用专用的电平转换芯片来进行电 平转换。
P1.0 P1.1 P1.2 P1.3 89C52 P1.4 P1.5 P1.6 P1.7 GND
D0 D1 D2 D3 D4 D5 D6 D7 GND
外 部 设 备
RXD TXD
89C52
TXD RXD 外 部 设 备 GND
GND
图1 并行通信示意图
图 2 串行通信示意图
异步通信和同步通信
1.异步通信 异步通信中,传送的数据可以是一个字符代码或一个字 节数据,数据以帧的形式一帧一帧传送。
SCON各位名称和功能
TB8(SCON.3):发送数据第9位。在 方式2或方式3中,用于存放发送数据的第9 位,此时,该位可以用作奇偶校验位,在多 机通信中,可以作为地址帧/数据帧的标志 位。 REN(SCON.4):允许接收控制位。 若使REN=1,则启动串行口接收数据;若 使REN=0,则禁止串口接收。
信号方向
DTE←DCE DTE←DCE DTE→DCE DTE←DCE DTE←DCE DTE←DCE DTE→DCE DTE→DCE DTE←DCE DTE←DCE DTE→DCE DTE→DCE
RS-232C的电气特性
RS-232C的信号电平:RS-232C标准 规定采用负逻辑电平。信号源点的逻辑0电平 范围为+5V~+15V,逻辑1电平范围为−5V~ −15V;信号目的点的逻辑0电平范围为+3V ~+15V,逻辑1电平范围为−3V~−15V,噪 声容限为2V。RS-232C的信号电平下图所示 。
RTS
CTS DSR SGND
请求发送
允许发送 DCE就绪(数据建立就绪) 信号接地
DTE→DCE
DTE←DCE DTE←DCE
8(1)
9 10
DCD
— —
载波检测
保留供测试用 保留供测试用
DTE←DCE
注:引脚序号栏中带括号的序号为DB-9连接器的引脚序号。
引脚 序号 11 12 13 14 15 16 17 18 19 20(4) 21 22(9) 23 24 25
MAX232电平转换芯片 MAXIM公司生产MAX232。它仅需要+5V电源, 由内置的电子泵电压转换器将 +5V转换成 −10V ~+10V。该芯片与TTL/CMOS电平兼容,片内 有2个发送器和2个接收器,使用比较方便。由它 构成的电平转换电路如图所示。
由MAX232构成的电平转换电路
由MAX232构成的电平转换电路
SCON各位名称和功能
TI(SCON.1):发送中断标志位。用 于指示一帧信息是否发送完毕它的工作过 程是:开始串行发送停止位时,由内部硬 件电路使TI=1,并向CPU发出串口中断请 求。与RI标志的清除方法相似,TI也必须 通过软件才能将其清0
SCON各位名称和功能
RB8(SCON.2):接收数据第9位。在 方式2或方式3中,用于存放接收数据的第9 位,此时,该位可能是奇偶校验位,也可 能是多机通信中的地址帧/数据帧的标志位 。在方式1时,若SM2=0,则RB8为接收到 的停止位。方式0时,不使用RB8。
串行通信的制式
串行通信接口种类
根据串行通信格式及约定(如同步方式、通 信速率、数据块格式等)不同,形成了许多串行 通信接口标准,如常见的: UART(串行异步通信接口)、 USB(通用串行总线接口)、 I2C(集成电路间的串行总线)、 SPI(串行外设总线)、
485总线、CAN总线接口等。
RS-232C接口
单片机的串行接口
串行通信基本知识 串行接口结构及控制 串行接口工作方式与波特率 串行口应用举例
数据通信
计算机与外界的信息交换称为通信。基本的通信方法有 并行通信和串行通信两种。
1.并行通信
单位信息(通常指一个字节)的各位数据同时传送的通 信方法称为并行通信。
2.串行通信
单位信息的各位数据被分时一位一位依次顺序传送的通 信方式称为串行通信。
RS-232C的信号电平
通常,RS-232C的逻辑电平采用+12V表示逻 辑0,−12V表示逻辑1。
RS-232C的信号电平
RS-232C的传输距离与传输速率:
RS-232C的传输距离:DTE和 DEC之间采用RS-232C传输的最大距离 不大于15m。
RS-232C的传输速率:小于 20kbit/s。
SCON各位名称和功能
若接收收方单片机的SM2 = 0,则RB8不再 具有控制RI激活的功能,不论收到的RB8为0还 是1,收到的数据都会进入SBUF,并使RI = 1。 运用SM2的控制功能,便可以实现多机通信
在方式0时,不使用SM2控制位,应将SM2 设定为0。在方式1时,通常也将SM2设为0,若 使SM2 = 1,则只有接收到有效的停止位时,RI 才被置1。
DB-25和DB-9连接器
DB-25和DB-9连接器
RS-232C的引脚功能
引脚 序号 1 2(3) 3(2) 信号 名称 PGND TXD RXD 功 能 保护(屏蔽)接地 发送数据(串行输出) 接收数据(串行输入) DTE→DCE DTE←DCE 信号方向
4(7)
5(8) 6(6) 7(5)
串行接口的结构
51单片机串行口的结构
串行口由发送电路和接收电路两部分组成。图中有 两个物理上独立的串行口接收、发送缓冲器SBUF。 SBUF(发送)用于存放将要发送的字符数据; SBUF(接收)用于存放串行口接收到的字符数据,数 据的发送、接收可同时进行。 SBUF(发送)和SBUF(接收)同属于特殊功能 寄存器SBUF,占用同一个地址99H。但发送缓冲器只 能写入,不能读出;接收缓冲器只能读出,不能写入。 因此,对SBUF进行写操作时,是把数据送入SBUF(发 送)中;对SBUF进行读操作时,读出的是SBUF(接收 )中的数据。
电源控制寄存器PCON
PCON的字节地址为87H,不能按位寻址,只能 按字节寻址。各位的定义如图9-16所示。其中,只 有一位SMOD与串行口工作有关。编程时只能使用 字节操作指令对它赋值。
图9-16 电源控制寄存器
PCON控制位的名称和功能
SMOD(PCON.7):波特率倍增 位。在串行口方式1、方式2、方式3中,用 于控制是否倍增波特率。当SMOD = 0时, 波特率不倍增;当SMOD = 1时,波特率提 高一倍。
SCON各位名称和功能
SM2(SCON.5):多机通信控制位。主要用于方 式2和方式3中。(一般设置为0) 若接收方单片机的SM2 = 1,则由收到的RB8来控 制是否使RI置1:当收到的RB8 = 0时, RI不被置1, 收到的信息被丢弃;当收到的RB8 = 1时,收到的数 据进入SBUF(接收),并将RI置1,向CPU发出串口 中断请求,接收方可在串口中断服务中将数据从 SBUF(接收)中读走。也可以通过查询RI的办法, 在发现RI为1后,将SBUF(接收)中的数据读走。
第n个字符 停 止 位 0/1 0/1 1 起 始 位 0 校 验 位 停 止 位 1 起 始 位 0 第n+1个字符
8位数据
数据 0/1 0/1 „
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
异步通信的一帧数据格式
2.同步通信
在同步通信中,每一数据块发送开始时,先发送一个或 两个同步字符,使发送与接收取得同步,然后再顺序发送数 据。数据块的各个字符间取消起始位和停止位,所以通信速 度得以提高 。
串口发送过程
当单片机执行“写”SBUF命令时,将欲发 送的字符送入SBUF(发送)后,发送控制器 在发送时钟的作用下,自动在发送字符前后添 加起始位、停止位和其他控制位,然后在发送 时钟的控制下,逐位从TXD线上串行发送字符 帧。发送完后使发送中断标志TI=1,发出串口 发送中断请求。
串口接收过程
RS-232C标准接口是EIA(美国电子工业 协会)于1969年颁布的串行通信接口标准。 RS是“Recommended Standard”(推荐标 准)的缩写,232为标准的编号,C为版本号 。在RS-232C之前为RS-232A与RS-232B, 1987年修订为EIA-232D,1991年修订为EIA232E,1997年又修订为EIA-232F。其中, RS-232C最为常用。
串行口在接收时,接收控制器会自动对 RXD线进行监视。当确认RXD线上出现起始 位后,接收控制器就从起始位后的数据位开始 ,将一帧字符中的有用位逐位移入接收缓冲寄 存器SBUF(接收)中,自动去掉起始位、停 止位或空闲位,并使接收中断标志RI = 1,发 出串口接收中断请求。这时,只要执行“读 ”SBUF命令,便可以得到接收的数据。
表
SM0 SM1
串行口的工作方式
功 能
移位寄存器 10位异步收发(8位数据) 11位异步收发(9位数据) 11位异步收发(9位数据)
工作方式
0 1 2 3
波特率
fosc/12 可变,由定时器控制 fosc/64或fosc/32 可变,由定时器控制
0 0 1 1
0 1 0 1
SCON各位名称和功能
RI(SCON.0):接收中断标志位。用 于指示一帧信息是否接收完毕它的工作过 程是:当串行口接收到停止位时;由内部 硬件电路使RI=1。一旦RI被硬件置1,便 产生串口中断请求
信号 名称 — SDCD SCTS STXD TXC SRXD RXC — SRTS DTR SQD RI DRS ETXC —
功 能
未定义 辅助信道载波检测 辅助信道允许发送 辅助信道发送数据 发送时钟 辅助信道接收数据 接收时钟 未定义 辅助信道请求发送 DTE就绪(数据终端准备就绪) 信号质量检测 振铃指示 数据信号速率选择 外部发送时钟 未定义
串行接口的工作方式
1.方式0
2.方式1 3.方式2和方式3
方式1
工作方式1时,串口被设定为10位异步通信口。 TXD为数据发送引脚,RXD为数据接收引脚,所传送 的字符帧格式如图所示。
串口方式1的字符帧格式
方式1发送
在TI = 0时,当执行一条写SBUF的指令后, 即可启动串行口发送过程: 发送电路自动在写入SBUF中的8位数据前 后分别添加1位起始位和1位停止位。在发送移 位脉冲作用下,从TXD引脚逐位送出起始位、数 据位和停止位。发送完一个字wenku.baidu.com帧后,自动维持 TXD线为高电平。并使发送中断标志TI置1,产 生串口中断请求。通过软件将TI清0,便可继续 发送。
串行接口的控制寄存器
1.串行口控制寄存器SCON 2.电源控制寄存器PCON
串行口控制寄存器SCON
SCON用于设定串行口的工作方式、接收/发送 控制以及设置状态标志等。它的字节地址为98H, 可进行位寻址,其各位的定义如图所示。
图9-15 串行口控制寄存器
SCON各位名称和功能
SM0和SM1(SCON.7和SCON.6):串行口工作 方式选择位。可选择4种工作方式,如表所示。
RS-232C接口在远程数据通信系统中的应用 当两台计算机(DTE)借助公用电话网进行 远程数据通信时。RS-232C用于将DTE和DCE 进行连接,使两者能进行串行通信。
RS-232C接口在远程数据通信系统中的应用
RS-232C的机械特性
RS-232C接口规定使用25针连接器 (DB-25),连接器的尺寸及每个插针的 排列位置都有明确的定义。由于一般的应 用中很少用到RS-232C标准的全部信号线 ,所以在实际应用中常常使用9针连接器 (DB-9)替代25针连接器。两者的外形 与引脚排列如图9-7所示。通常一端做成 插针,另一端做成插孔。
RS-232C的缺点
接口的信号电平值较高,易损坏接口电路的 芯片。 与TTL电平不兼容,与TTL电平接口连接需 进行电平转换。
传输距离短,使用时传输距离一般不超过 15m,线路条件好时也不超过几十米。
传输速率较低,最高传送速率为20kbit/s。 由于收发信号采用共地传输,容易产生共模 干扰,所以抗干扰能力较差。