串行通信专题复习
串行通信基础知识
串行通信基础知识本节简要概括了串行通信中的相关概念,为学习PC 机与MCU 的串行通信做准备。
1. 基本概念我们知道,“位”(bit )是二进制数字的简称,是可以拥有两种状态的最小二进制值,分别用“0”和“1”表示。
在计算机中,通常一个信息单位用8位二进制表示,称为一个“字节”(byte )。
串行通信的特点是:数据以字节为单位,按位的顺序从一条传输线上发送出去。
这里至少涉及到以下几个问题:第一,每个字节之间是如何区分的?第二,发送一位的持续时间是多少?第三,怎样知道传输是正确的?第四,可以传输多远?等等。
这些问题属于串行通信的基本概念。
串行通信分为异步通信与同步通信两种方式,本节主要给出异步串行通信的一些常用概念。
正确理解这些概念,对串行通信编程是有益的。
① 异步串行通信的格式在MCU 的英文芯片手册上,通常说SCI 采用的是NRZ 数据格式,英文全称是:“standard non-return-zero mark/space data format ”,可以译为:“标准不归零传号/空号数据格式”。
这是一个通信术语,“不归零”的最初含义是:用负电平表示一种二进制值,正电平表示另一种二进制值,不使用零电平。
“mark/space ”即“传号/空号”分别是表示两种状态的物理名称,逻辑名称记为“1/0”。
对学习嵌入式应用的读者而言,只要理解这种格式只有“1”、“0”两种逻辑值就可以了。
图3.3.1给出了8位数据、无校验情况的传送格式。
这种格式的空闲状态为“1”,发送器通过发送一个“0”表示一个字节传输的开始,随后是数据位(在MCU 中一般是8位或9位,可以包含校验位)。
最后,发送器发送1到2位的停止位,表示一个字节传送结束。
若继续发送下一字节,则重新发送开始位,开始一个新的字节传送。
若不发送新的字节,则维持“1”的状态,使发送数据线处于空闲。
从开始位到停止位结束的时间间隔称为一帧(frame )。
所以,也称这种格式为帧格式。
第8章 串行通信 -免费下载培训课件
2. UART对RxD线的采样
UART对RxD线的采样是由接收时钟RxC完成的。其周期TC和
所传数据位的传输时间Td(位速率的倒数)必须满足如下关
系:
TC
Td K
式中,K=16或64。现以K=16来说明UART对RxD线上字符帧
的接收过程。
平常,UART按RxC脉冲上升沿采样RxD线。当连续采到RxD线 上8个低电平(起始位二分之一位置)后,UART便确认对方在 发送数据(不是干扰信号)。此后,UART便每隔16个RxC脉冲 采样RxD线一次,并把采到的数据作为输入数据,以移位方 式存入接收移位寄存器。
8.1.1
串行通信的基本方式
2. 同步通信(Synchronous Communication)
同步通信是一种连续串行传送数据的通信方式,一次通信只 传送一帧信息。这里的信息帧和异步通信中的字符帧不同, 通常有若干个数据字符,如下图所示。
同步字符帧由同步字符、数据字符和校验字符三部分组成。 其中,同步字符位于帧结构开头,用于确认数据字符的开始 (接收端不断对传输线采样,并把采到的字符和双方约定的 同步字符比较,只有比较成功后才会把后面接收到的字符加 以存储);数据字符在同步字符之后,个数不受限制,由所 需传输的数据块长度决定;校验字符有1~2个,位于帧结构 末尾,用于接收端对接收到的数据字符的正确性的校验。
1200/11=109.09帧/秒 若改用上图(b)的字符帧,则字符的实际传输速率为
1200/14=85.71帧/秒
1
Td
0.833(ms) 1200
8.1.1
串行通信的基本方式
(2) 波特率(baud rate)
每位的传输时间定义为波特率的倒数。例如:波特率为1200 bit/s的通信系统,其每位的传输时间应为:
串行通信PPT精选文档
工作,每接收/发送一个数据都必须用指 令对 RI/TI 清0,以备下一次收/发。
☞串行口相关的SFR(SCON,PCON)
串行口控制寄存器SCON(98H)
SCON SM0 SM1 SM2 REN TB8 RB8 TI R1
☞发送:SBUF中的串行数据由RxD逐位移出; TxD输出移位时钟,频率=fosc1/12;
每送出8位数据 TI就自动置1; 需要用软件清零 TI。
☞接收:串行数据由RxD逐位移入SBUF中; TxD输出移位时钟,频率=fosc1/12;
每接收 8位数据RI就自动置1; 需要用软件清零 RI。
工作方式1:8位UART(1+8+1位)波特率可变
波特率可变,按公式计算
☞ SM2:串行口多机通信控制位 (作为方式2、方式3的附加控制位)
SCON SM0 SM1 SM2 REN TB8 RB8 TI RI
☞ RI,TI:串行口收/发数据申请中断标志位 =1 申请中断; =0 不申请中断
☞ RB8:在方式2、3中,是收到的第9位数据。 在多机通信中,用作区别地址帧/数据帧的 标志。(奇偶校验)
☞ TB8:方式2、3中,是要发送的第9位数据。 多机通信中,TB8=0 表示发送的是数据; TB8=1 表示发送的是地址。(奇偶校验)
☞ REN:串行口接收允许控制位 = 1 表示允许接收; = 0 禁止接收。
电源控制寄存器 PCON(97H) ——特殊功能寄存器PCON不能按位寻址——
PCON SMOD — — — GF1 GF0 PD 1DL
☞ 溢出率:T1溢出的频繁程度 即:T1溢出一次所需时间的倒数。
单片机复习4串行.ppt
MCS-51串行口的工作方式
方式0
在方式0下,串行口作同步移位寄存器使 用,其波特率固定为fosc/12。串行数据从RXD (P3.0)端输入或输出,同步移位脉冲由 TXD(P3.1)送出。
这种方式通常用于扩展I/O口。
MCS-51串行口的工作方式
方式1
发送时,当数据写入发送缓冲器SBUF后,启动发送器发送, 数据从TXD输出。当发送完一帧数据后,置中断标志TI为1。方式 1下的波特率取决于定时器1的溢出率和PCON中的SMOD位。
发送时,先根据通信协议由软件设置TB8,然后将要发送的数据写入 SBUF,启动发送。写SBUF的语句,除了将8位数据送入SBUF外,同时 还将TB8装入发送移位寄存器的第9位,并通知发送控制器进行一次发 送,一帧信息即从TXD发送。在送完一帧信息后,TI被自动置1,在发 送下一帧信息之前,TI必须在中断服务程序或查询程序中清0。
异步通信
在异步通信中,数据通常是以字符为单位组成字符帧 传送的。字符帧由发送端一帧一帧地发送,每一帧数据 是低位在前,高位在后,通过传输线被接收端一帧一帧 地接收。发送端和接收端可以由各自独立的时钟来控制 数据的发送和接收,这两个时钟彼此独立,互不同步。 在异步通信中,接收端是依靠字符帧格式来判断发送 端是何时开始发送何时结束发送的。 字符帧也叫数据帧,由起始位、数据位、奇偶校验位 和停止位等四部分组成。
串行口控制寄存器SCON
SCON (98H) SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0 SM1 00
01 10
11
串行口的工作方式
工作方式 方式0
方式1 方式2
功能
8位同步移位 寄存器
10位UART 11位UART
8251微机原理
1. RS-232C接口标准
• RS-232C最初是为了使用公用电话网进行数据通信而制定的标准。 在发送端:通过调制解调器将表示为 “1”、“0”的高低电平,转换成相应的高低频率
的模拟信号,发送到公用电话网。
在接受端:……. RS-232C提供了一个利用电话网通过MODEM把远距离设备连接在一起完成通信
的技术规范。
RS-232C 计算机 MODEM 信道(传输线路) RS-232C MODEM
计算机 或终端
• 随着计算机的发展,除了上述连接,也可用 RS-232C 使计算机与终端相连。 RS-232C 终端
计算机
(1) RS-232C 标准 RS-232C 提出了数据终端设备(DTC)和数据通信设备(DCE)之间串行 传输数据的接口规范,对接口的机械特性、电器特性、功能特性做了规定。 • 机械特性:标准规定了使用一个25针标准连接器(插头座),并对连接器的尺寸、 每个针的排列位置做了明确规定。 • 电气特性:标准规定,逻辑“1”信号,电平在 –3V ~ -15V 之间; 逻辑“0”信号,电平在 +3V ~ +15V 之间;
• DCE做好接收数据的准备,DSR和DTR 信号有效,通知modem可以接收/发送数据;
接通与外线的连接,起到摘机的作用,交换机停止振铃。 ③ ④ 乙方准备好后(DTR、RTS、CTS有效),即通过 MODEM 向甲方送一个载波信号; 甲方收到此载波信号后,即知乙方已做好准备,使DSR 、CTS 有效,并向乙方 发送一个载波频率。
① 扩展的BCD交换码 EBCDIC —— 这是一种 8 位编码,较常用在同步通信中。 ② 美国标准信息交换码 ASCⅡ。
3. 两种通信方式
① 异步通信 ASYNC(Asynchronous Data Communication)
7-01 串行通信基础知识
Harbin Institute of Technology
1
串行通信基础
- 并行通信与串行通信
并行通信示意图
串行通信示意图
2
串行通信基础
- 同步串行通信与异步串行通信
同步通信
异步的传输模式
(a)单工
(b)半双工
(c)全双工
4
串行通信基础
- 串行通信的错误校验
校验是保证传输数据准确无误的关键。 1. 奇偶校验
串行发送数据时,数据位尾随1位奇偶校验位(1或0)。 2. 代码和校验
代码和校验是发送方将所发数据块求和或各字节异或,产生一个字节的校 验字符(校验和)附加到数据块末尾。 3. 循环冗余码校验
是通过某种数学运算实现有效信息与校验位之间的循环校验,应用广泛。
5
串行通信基础知识
微机
TxD RxD RTS CTS
GND DSR DTR
➢零MODEM 方式使用联络信号的多线连接
TxD 微机 RxD
RTS CTS GND DSR DTR
微机
微机
RS-232C的电气特性
232C接口采用EIA电平
高电平为+3V~+15V 低电平为-3V~-15V 实际常用±12V或±15V
RxRDY(Receiver Ready) 接收器准备好信号,高电平有效。若命令寄 存器的RxE位被置1(允许接收),则当8251A已经从它的串行输入端接收了 一个字符,并完成了格式变换后,此信号有效。
8251A有2个端口:命令口(CS*=0,C/D*=1)、数据口( CS*=0,C/D*=1 ) 命令字写到命令口; 对命令口执行读操作,得到8251A的状态字 发送的数据送到数据口 对数据口执行读操作,得到对方发来的数据。
速度、传送步骤、检纠错方式等问题作出统一规定。也称通信 控制规程。
面向字符(character Oriented)
分类
同步协议
面向比特(Bit)
异步协议
ISO(Inter national Standard Organization)国际标准化组织。 OSI(Open System Interconnection)开放系统互连参考模型。
➢ 收发双方的数据必须保持位同步
➢ 收发双方必须用时钟同步
七、串行通信接口标准
1、EIA-RS-232C接口标准
RS-232C标准是美国EIA(电子工业联合会)与BELL等公司 一起开发的,1969年公布的通信协议。 设计目的是用于连接调制解调器。 数据终端设备DTE与数据通信设备DCE的标准接口。 可实现远距离通信,也可近距离连接两台微机。
串行通信基础知识ppt课件
23
精选版课件ppt
2线与4线传输
24
精选版课件ppt
RS-422 信号
接线: 4 线全双工
信号 TxA TxB RxA RxB 120Ω GND
接线
信号
RxA 120Ω RxB
TxA TxB GND
优势
1. 抗干扰能力强 2. 传输距离长 (可达 1.2公里) 25 精选版3课. 支件pp持t 点对点和多站通讯方式
2. 判断当前频率是否有信号? (检查线路上是否有数据)
3. 确认当前频率空闲, 按键讲话对方可以听到; (线中上没有数据, 切换状态到数据发送)
A
4. 话讲完后, 松开按键, 回到监听状态; (数据接收状态)
B
36
精选版课件ppt
ADDC (自动数据流控)
当使用2线RS485时,最重要的就是要确认数据收发状态.由于RS485-2W界面 的一些限制,只有一个节点(在一根2线RS485总线上)可以在任何时候传输信 号.这个要传输数据的节点必须把数据发送打开,在数据发送完之后关闭.
MOXA定义 为信号正 A为信号负
|A-B|>200mv
18
精选版课件ppt
RS-422 特性
RS-422传输速率提高到10Mb/s,传输距离延长到1200米(速 率低于100kb/s时),并允许在一条平衡总线上连接最多10 个接收器。RS-422是一种单机发送、多机接收的单向、平衡 传输方式,被命名为TIA/EIA-422-A标准。
模式 - 当有数据发送时设置RTS信号, 同时断开监听模式 - 当数据发送完成之后清除RTS信号,转回监听模式 - RTS 状态由用户软件控制
35
精选版课件ppt
(整理)串行通信的基础知识.
串行通信的基础知识串行数据通信要解决两个关键技术问题,一个是数据传送,另一个是数据转换。
所谓数据传送就是指数据以什么形式进行传送。
所谓数据转换就是指单片机在接受数据时,如何把接收到的串行数据转化为并行数据,单片机在发送数据时,如何把并行数据转换为串行数据进行发送。
8.1.1 数据传送单片机的串行通信使用的是异步串行通信,所谓异步就是指发送端和接收端使用的不是同一个时钟。
异步串行通信通常以字符(或者字节)为单位组成字符帧传送。
字符帧由发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收。
1. 字符帧的帧格式字符帧由四部分组成,分别是起始位、数据位、奇偶校验位、停止位。
如图8.1所示:1)起始位:位于字符帧的开头,只占一位,始终位逻辑低电平,表示发送端开始发送一帧数据。
2)数据位:紧跟起始位后,可取5、6、7、8位,低位在前,高位在后。
3)奇偶校验位:占一位,用于对字符传送作正确性检查,因此奇偶校验位是可选择的,共有三种可能,即奇偶校验、偶校验和无校验,由用户根据需要选定。
4)停止位:末尾,为逻辑“1”高电平,可取1、1.5、2位,表示一帧字符传送完毕。
图8.1 字符帧格式异步串行通信的字符帧可以是连续的,也可以是断续的。
连续的异步串行通信,是在一个字符格式的停止位之后立即发送下一个字符的起始位,开始一个新的字符的传送,即帧与帧之间是连续的。
而断续的异步串行通信,则是在一帧结束之后不一定接着传送下一个字符,不传送时维持数据线的高电平状态,使数据线处于空闲。
其后,新的字符传送可在任何时候开始,并不要求整倍数的位时间。
2. 传送的速率串行通信的速率用波特率来表示,所谓波特率就是指一秒钟传送数据位的个数。
每秒钟传送一个数据位就是1波特。
即:1波特=1bps(位/秒)在串行通信中,数据位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时控制。
时钟频率高,则波特率高,通信速度就快;反之,时钟频率低,波特率就低,通信速度就慢。
串行通信培训资料
DTR:数据终端准备好,通常当数据终端设备一加电,该信号就有效,表明数 据终端设备准备就绪
DSR:数据装置准备好,通常表示数据通信设备(即数据装置)已接通电源连 到通信线路上,并处在数据传输方式 DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号,例如应答数 据接收 GND:信号地,为所有的信号提供一个公共的参考电平 CD:载波检测(DCD),当本地调制解调器接收到来自对方的载波信号时,该 引脚向数据终端设备提供有效信号 RI:振铃指示,当调制解调器接收到对方的拨号信号期间,该引脚信号作为电 话铃响的指示、保持有效
2:什么是差分信号 一个差分信号是用一个数值来表示两个物理量之间的差异 一个差分信号作用在两个导体上,信号值是两个导体间的电压差 3:采用差分信号有什么好处 在控制‘基准’电压能够很容易地识别小信号 它对外部电磁干扰(EMI)有高度免疫能力。 在一个单电源系统,能够从容精确地处理'双极'信号
6:RS-232-缺点 1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容 故需使用电平转换电路方能与TTL电路连接。 2)传输速率较低,在异步传输时,波特率为20Kbps 3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传 输容易产生共模干扰,所以抗噪声干扰性弱 4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在15米左 右 5)232只支持点对点通讯
二、串行通信的传输方向
1:单工 单工是指数据传输仅能沿一个方向,不能实现反向传输
2:半双工 半双工是指数据传输可又沿两个方向,但需要分时进行
3:全双工 全双工是指数据可又同时进行双向传输
三、传输速率与传输距离
串行通信技术基础知识
串行通信技术基础知识串行通信技术基础在串行通信中,参与通信的两台或多台设备通常共享一条物理通路。
发送者依次逐位发送一串数据信号,按一定的约定规则为接收者所接收。
由于串行端口通常只是定义了物理层的接口规范,所以为确保每次传送的数据报文能准确到达目的地,使每一个接收者能够接收到所有发向它的数据,必须在通信连接上采取相应的措施。
由于借助串行通信端口所连接的设备在功能、型号上往往互不相同,其中大多数设备出了等待接收数据之外还会有其他的任务,例如,一个数据采集单元需要周期性地收集和存储数据;一个控制器需要负责控制计算机或向其他设备发送报文;一台设备可能会在接收方正在进行其他任务时向它发送信息。
因此,必须有能应对多种不同工作状态的一系列规则来保证通信的有效性。
这里所讲的保证串行通信的有效性的方法包括:使用轮询或者中断来检测、接收信息;设置通信帧的起始、停止位;建立连接握手;实行对接收数据的确认、数据缓存以及错误检查等。
一、串行通信基本概念1、连接握手通信帧的起始位可以引起接收方的注意,但发送方并不知道,也不能确定接收方是否已经做好了接收数据的准备。
利用连接握手可以使收发双方确认已经建立了连接关系,接收方已经做好准备,可以进入数据收发状态。
连接握手过程是指发送者在发送一个数据块之前使用一个特定的握手信号来引起接收者的注意,表明要发送数据,接收者则通过握手信号回应发送者,说明它已经做好了接收数据的准备。
连接握手可以通过软件,也可以通过硬件来实现。
在软件连接握手中,发送者通过发送一个字节表明它想要发送数据;接收者看到这个字节的时候,也发送一个编码来声明自己可以接收数据;当发送者看到这个信息时,便知道它可以发送数据了。
接收者还可以通过另一个编码来告诉发送者停止发送。
在普通的硬件握手中,接收者在准备好了接收数据的时候将相应的握手信号线变为高电平,然后开始全神贯注地监视它的串行输入端口的允许发送端。
这个允许发送端与接收者已准备好接收数据的信号端相连,发送者在发送数据之前一直在等待这个信号变化。
串行口专题知识讲座
波特率旳选择
波特率要选择标称值,因为TH1旳初值是整数,为了减小波特率计算误差,晶振频率要选为11.0592MHz。
方式1和方式3波特率与TH1初值旳相应关系:
波特率/(b/s)
19.2 k
9600
4800
2400
1200
TH1初值
FDH
FDH
FAH
F4H
E8H
SMOD
1
0
0
0
0
例7-1 若8031单片机旳时钟振荡频率为11.0592MHz,选用T1为方式2定时作为波特率发生器,波特率为2400b/s,求初值。
串行通信旳接口原则
采用专用线通讯时旳信号连接
串行通信旳接口原则
无Modem旳原则连接
串行通信旳接口原则
无Modem 旳最简连接
经典旳串行接口旳构造
因为CPU与接口之间按并行方式传播,接口与外设之间按串行方式传播,所以,在串行接口中,必须要有“接受移位寄存器”(串→并)和“发送移位寄存器”(并→串)。
第7章 89C51旳串行口
基本概念
7.1
串行口旳构造
7.2
串行口旳工作方式
7.3
串行口旳编程和应用
7.4
7.1串行通信基础
串行通信旳概念
所谓串行通讯是指外设和计算机间使用一根数据信号线一位一位地传播数据,每一位数据都占据一种固定旳时间长度。
“串行”是指外设与接口电路之间旳信息传送方式,CPU与接口之间仍按并行方式工作。
串行口初始化环节
拟定T1旳工作方式(TMOD)计算T1旳初值,装载TH1、TL1开启T1(置位TR1)拟定串行口工作方式(SCON)串口中断设置(IE、IP)
第8章串行数据通信
MOV @R0,A CLR RI INC R0 SJMP WAIT
;查询等待
;读取接收数据 ;保存数据
;准备下一次接收
2.中断方式:
MAIN: H:
RINT:
ORG AJMP … SJMP CLR MOV MOV INC RETI
0023H
RINT
起始位 D0 D1 D2 D3 D4 D5 D6 D7 停止位
起始位 D0 D1 D2 D3 D4 D5 D6 D7 D8 停止位
一帧字符发送/接收结束,置位标志位(TI/RI), 并申请串行中断。
中断控制:中断允许位ES、总允许EA; 中断入口:0023H•。第8章串行数据通信
一、串行接口控制:
接收完一帧,若RI=0且第9位为1 (或SM2=0),将接收数据
装入接收SBUF,第9位装入RB8,使RI=1;否则丢弃接收数据,
不置位RI。
•第8章串行数据通信
时序图:
写入 SBUF
TXD输出
起始位
D0 D1 D2 D3 D4 D5 D6 D7 TB8 停止位
TI
检测 负跳变
RXD输入
起始位 D0
(1)方式0:同步移位寄存器方式
用于扩展并行I/O接口。 1. 一帧8位,无起始位和停止位。 2. RXD:数据输入/输出端。
TXD:同步脉冲输出端,每个脉冲对应一个数据位。
3. 波特率B=fosc/12 如:fosc=12MHz,B=1MHz,每位数据占1s。
4. 发送过程:写入SBUF,启动发送,
RXD
数据
低→高
QH
(2) SIN
S/L CLK
串行口专业知识
• 10位/字符×120字符/秒=1200位/秒= 1200波特
• 传送每位信息所占用旳时间:
•
1秒/1200=0.833毫秒
常用旳原则波特率:
• 110、300、600、1000、1200、 2400、4800、9600和19200波特。 它也是国际上要求旳原则波特率。同步 传送旳波特率高于异步方式,可到达 64000波特。
• 异步收发器 UART 、
• 通用同步异步收发器 USART 。
四、调制解调器
1.幅度调制
2.频率键移调制(FSK)
7.2 MCS-51串行接口旳机构
• MCS-51单片机内部旳串行接口是全双 工旳,即它能同步发送和接受数据。这 个口既能够用于网络通信,也能够实现 串行异步通信,还能够作为同步移位寄 存器使用。在串行口中可供顾客使用旳 是它旳寄存器。
初始化以设定其溢出率。
六、RS-232C串行口原则及应用
• RS-232C是美国电子工业协会EIA (Electronic Industry Association) 于1962年指定旳一种串行通信接口原 则。
=2SMOD/32×fosc/(12×(256-TH1))
7.3 串行口旳应用举例
• ① 按选定串行口旳操作方式设定 SCON旳 SM0、SM1两位二进制编码。
• ② 对于方式2或3,应根据需要在TB8中写入 待发送旳第9位数据。
• ③ 若选定旳操作方式不是方式0,还需设定发 送旳波特率:
• 设定SMOD旳状态,以控制波特率是否加倍。 • 若选定操作方式1或3,则应对定时器T1进行
2.同步通信
3 比较
• ① 从硬件设备旳要求看 • ② 从数据旳传播效率看
Hale Waihona Puke 4.串行传送速率--波特率
第06章 单片机串行通信系统 习题解答
******************************************/
void main(void)
{
unsigned char i;
SCON=0x00; //SCON=0000 0000B,使串行口工作于方式0
while(1)
{
for(i=0;i<8;i++)
{
Send(Tab[i]); //发送数据
SETB TR0;启动计时
LOOP:LCALLDisplay;循环调用显示子程序
SJMPLOOP
TAB: DB 3FH,06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH;0~9的共阴极段码
DISPLAY:;显示子程序(显示分钟)
MOVDPTR,#TAB;将表首地址赋给DPTR
ORG 0000H;上电后程序从00000H开始,在0000H单元存放转移指令
LJMP KIN;转移到主程序
ORG 0100H;主程序从0100H开始
KIN: MOV SCON,#00H;设定串行口为方式0
图6-9中用AT89C51单片机串行口扩展2个并行口,接2位数码管组成显示电路。串行口工作于方式0,与外接的2片移位寄存器74LS164连接。74LS164是一个8位串入并出的移位寄存器,功能是接收AT89C51单片机串行通信口输出的串行数据并转换成并行数据输出,从而驱动LED数码管显示。74LS164的1、2脚为数据输入端,接单片机串行口的RXD端(P3.0脚),74LS164的第8脚为时钟脉冲输入端(CLK),接单片机串行口的TXD端(P3.1脚),第9脚R为清零端,低电平清零,正常工作时接高电平。两只LED数码管采用共阴极静态显示方式。
第6章--串行接口及串行通信技术
第 n字 符 帧 8位 数 据
停 奇偶 止 校验 位
D7 0/1 1 0 D0 D1 D2 D3 D4 D5 D6 D7 0/1 1
空闲位 111
第 n+ 1字 符 帧
起
始 位
8位 数 据
0 D0 D1 …
图6.3 异步通信帧格式
第9章 串行接口及串行通信技术
(1) 起始位:在没有数据传送时,通信线上处于逻 辑“1”状态,当信号变为0时表示起始位。
实际用户并不一定用到RS- 232C标准的全部信号 线,常常使用9针非标准连接器替代25针连接器,称 为DB-9。
第9章 串行接口及串行通信技术
方向 到DCE 到DTE 到DTE 到DTE
到DCE 到DCE 到DTE 到DTE 到DCE 到DCE
名称
第2路发送数据 发送时钟
第2路接收数据 接收时钟 未用
例:当约定为奇校验时,数据中“1”的个数与校验位“1”的个数 之和应为奇数;当约定为偶校验时,数据中“1”的个数与校验位“1” 的个数之和应为偶数。接收方与发送方的校验装置和方式应一致。接 收字符时,对“1”的个数进行校验,若二者不一致,则说明传输数据 过程中出现了差错。
第9章 串行接口及串行通信技术
同时传送的通信方法,如图6.1所示。 特点:传输控制简单、速度快。但距离长时传输线多,成本高。
2)串行通信 串行通信是指构成信息的二进制字符的各位数据一位一位顺序地
传送的通信方式,如图6.2所示。 特点:传输控制复杂、速度慢,但传输线少,成本低。
第9章 串行接口及串行通信技术
P0.7
微型 计算机 (89C51)
把数字信号转换成模拟信号,然后送到通信线路上去。 2)解调器
接口考试试题第5章(串行通信和8251)
一、选择题1.若用8251A进行同步串行通信,速率为9600波特,问在8251A时钟引脚TXC#和RXC#上的信号频率应取()。
A.2400HzB.4800HzC.9600HzD.19200Hz答案应选:C2.串行接口器件8251A()。
A、只能作异步传送B、只能作同步传送C、A和B均可D、可作并行传送C5.在异步串行的通信中若要传送扩展ACCII码,则异步串行码字符格式的第8位数据()。
A、不传送 B 恒为0 C 恒为1 D 为有用数据D7.在串行数据通信接收端安装modem是为了()。
A、把并行数据转换成串行数据B、把串行数据转换成并行数据C、把数据信号转换成模拟信号D、把模拟信号转换成数据信号D10.在异步通信中,传送最高位为奇校验位的标准ASCII码,采用1位起始位和1位停止位。
当该ASCII码为5AH时,有串行口发送的帧格式为()。
A 0010110111B 0010110101C 0110110101D 1010110100A15.RS-232标准规定其逻辑1电平为()。
A.-5~0VB.0V~+5V C -3V~-15V D.+3V~+15VC17.8251A用作异步串行通信接口,如果设定波特率因子为16,而发送器与接收器时钟频率为19200Hz,则波特率为()。
A、1200波特 B 2400波特 C 9600波特 D 19200波特A18.异步串行接口电路在接受时,如果接收时钟频率为波特率的16倍,一旦确定串行接受线上出现起始位的电平后,对串行接受线进行检测的时间间隔为()。
A、1个时钟周期B、4个时钟周期C、8个时钟周期D、16个时钟周期D21.在有关串行通信的叙述中,正确的是()。
A、串行通信最少只需要一条导线B、所谓半双工是指在一半工作时间内工作C、异步串行通信是以字符为单位逐个发送和接收D、同步串行通信的收、发双方可使用各自独立的本地时钟C23.为了防止在计算机远程通信中的信号畸变,必须采用一种辅助的外设调制解调器,在接收端须采用()将模拟信号转换称数字信号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
了解MAX232
如果是短距离的串行数据传输,则标准的
TTL或CMOS足以应付;若要进行长距离的
串行数据传输,使用标准的TTL或CMOS,
恐怕驱动能力不足,且噪声边限太小,通
信质量很差!RS232是一种可长距离传输
的通信方式,因此,必须突破噪声边限太
小与驱动能力不足的限制,于是相关的驱
动IC应运而生,Maxim公司的MAX232系
列就属这类IC,MAX232这颗IC提供RS232
传送与接收的驱动。
在传送方面,MAX232内部将+5V电源提升
为+10V及-10V,然后接受TTL/CMOS的+5V
±V的信号,再送到线
电平,并转换成10
路上。
在接收方面,MAX232从线路上接受
±V的信号,经内部寄存器转换成
10
TTL/CMOS的+5V电平。
说穿了,MAX232只
不过是个电平转换设备而已,但只要+5V
电源与4~5个小电容(10μF即可)就能
同时提供双向的电平调整。
对于用户而言,
把它当成一般的寄存器来使用即可。
如图中列举的,对单片机而言也是可行的。
同步通信和异步通信
同步通信:是由1~2个同步字符和多字节数据位组成,同步字符作为起始位以触发同步时钟开始发送或接收数据;多字节数据之间不允许有空隙,每位占用的时间相等;空闲位需发送同步字符。
同步通信传送的多字节数据由于中间没有空隙,因而传输速度较快,但要求有准确的时钟来实现收发双方的严格同步,对硬件要求较高,适用于成批数据传送。
异步通信:依靠起始位、停止位保持通信同步;异步通信数据传送按帧传输,一帧数据包含起始位、数据位、校验位和停止位。
最常见的帧格式为1个起始位、8个数据位、1个校验位和1个停止位组成,帧与帧之间可有空闲位。
起始位约定为0,停止位和空闲位约定为1。
异步通信对硬件要求较低,实现起来比较简单、灵活,适用于数据的随机发送/接收,但因每个字节都要建立一次同步,即每个字符都要额外附加两位,所以工作速度较低,在单片机主要采用异步通信方式。
串行工作方式
80c51串行通信共有4种工作方式,由串行控制寄存器SCON中SM0SM1决定。
串行工作方式0
在方式0下,串行口是作为同步移位寄存器使用。
这时以RXD(P3.0)端作为数据移位的输入/输出端,而由TXD(P3.1)端输出移位脉冲。
移位数据的发送和接收以8位为一帧,不设起始位和停止位,无论输入/输出,均低位在前高位在后。
其帧格式:
使用方式0可将串行输入输出数据转换成并行输入输出数据。
方式0时,移位操作的波特率是固定的,为单片机晶振频率的1/12.以fosc表示晶振频率,则波特率=fosc/12,也就是一个机器周期进行一次移位。
若fosc=6MHZ,则波特率为500Kbit/s,即2μs移位一次。
如fosc=12MHZ,则波特率为1M(bit/s),即1μs移位一次。
串行工作方式1
方式1是一帧10位的异步通信方式,包括1个起始位,8个数据位和一个停止位。
数据发送:
方式1的数据发送是由一条写串行数据缓冲器SBUF指令开始的。
在串行口由硬件自动加入起始位和停止位,构成一个完整的帧格式,然后在移位脉冲的作用下,由TXD端串行输出。
一个字符帧发送完后,使TXD输出线维持在“1”(space)状态下,并将串行控制寄存器SCON中的TI置1,表示一帧数据发送完毕。
数据接收:
接收数据时,SCON中的REN位应处于允许接收状态(REN=1)。
在此前提下,串行口采样RXD端,当采样到从1向0状态跳变时,就认定为已接收到起始位。
随后在移位脉冲的控制下,把接收到的数据位移入接收寄存器中。
直到停止位到来之后把停止位送入RB8中,并置位中断标志位RI,表示可以从SBUF取走接收到得一个字符。
方式1的波特率是可变的,其波特率由定时/计数器T1的计数溢出率来决定,其公式为:
波特率=SMOD
2X(T1溢出率)/32。
其中SMOD为PCON寄存器中最高位的值,SMOD=1表示波特率倍增。
当定时/计数器T1用作波特率发生器时,通常选用定时初值自动重装的工作方式2(注意:不要把定时/计数器的工作方式与串行口的工作方式搞混淆了),从而避免了通过程序反复装入计数初值而引起的定时误差,使得波特率更加稳定。
而且,若T1不中断,则T0可设置为方式3,借用T1的部分资源,拆成两个独立的8位定时/计数器,以弥补T1被用作波特率发生器而少一个定时/计数器的缺憾。
若时钟频率为fosc,
定时计数初值为T1
初值,则波特率=
初值)
1
256
(
12
32
2
T
fosc
X
SMOD
-
在实际应用时,通常是先确定波特率,后根据波特率求T1定时初值,因此上式又可写为:
T1
初值=
波特率
X
fosc
X
SMOD
12
32
2
256-
串行工作方式2
方式2是一帧11位的串行通信方式,即1个起始位,8个数据位,1个可编程位TB8/RB8和1个停止位。
可编程位TB8/RB8既可作奇偶校验位用,也可作控制位(多机通信)用,其功能由用户确定。
数据发送:
发送前应先输入TB8内容,可使用如下指令完成:
SETB TB8 ; TB8位置1
CLR TB8 ; TB8位置0
然后再向SBUF写入8位数据,并以此来启动串行发送。
一帧数据发送完毕后,CPU自动将TI置1,其过程与方式1相同。
数据接收:
方式2的接收过程也与方式1基本相同,区别在于方式2把接收到的第9位内容送入RB8,前8位数据仍送入SBUF。
波特率:
方式2的波特率是固定的,且有两种:即fose/32和fosc/64。
2Xfosc/64
波特率=SMOD
串行工作方式3
方式3同样是一帧11位的串行通信方式,其通信过程与方式2完全相同,所不同的仅在于波特率。
方式2的波特率只有固定的两种,而方式3的波特率则与方式1相同,即通过设置T1的初值来设定波特率。
需要指出的是,当串口工作方式1或方式3时,且波特率要求按规范取1200、2400、4800、9600……,若采用晶振12MHZ和16MHZ,按上述公式计算得出的T1定时初值将不是一个整数,产生波特率误差而影响串行通信的同步性能。
解决的方法只有调整单片机的时钟频率fosc,通常采用11.0592MHZ晶振。
常用波特率及其产生条件:
多机通信
双机通信时,两台单片机是平等的,而在多机通信中,有主机和从机之分,多机通信是指一台主机和多台从机之间的通信。
在串行方式2或方式3条件下,可实现一台主机和多台从机之间的通信。
多机通信原理
多机通信时,主机向从机发送的信息分为地址帧和数据帧两类,以第9位可编程TB8作区分标志,TB8=0,表示数据;TB8=1,表示地址。
多机通信充分利用了80c51串行控制寄存器SCON中的多机通信控制位SM2的特性。
当SM2=1时,CPU接收的前8位数据是否送入SBUF取决于接收的第九位RB8:RB8=1,将接收到的前8位数据送入SBUF,并置位RI产生中断请求;RB8=0,将接收到的前8位数据丢弃。
即当从机SM2=1时,从机只能接收主机发送的地址帧(RB8=1),对数据帧(RB8=0)不予理睬。
当从机SM2=0时,可以接收主机发送的所有信息。
通信开始时,主机首先发送地址帧。
由于各从机SM2=1和RB8=1,所以各从机均分别发出串行接收中断请求,通过串行中断服务程序来判断主机发送的地址与本从机地址是否相符。
若相符,则把自身的SM2清0,以准备接收其后传送来的数据帧。
其余从机由于地址不符,则仍然保持SM2=1状态,因而不能接收主机传送来的数据帧。
这就是多机通信中主从机一对一的通信情况。
通信只能在主从机之间进行,如若需进行连个从机之间的通信,要通过主机作中介才能实现。
多机通信过程
1.各从机在初始化时置SM2=1,均只能接收主机发送的地址帧(RB8=1)。
2.主机发送地址帧(TB8=1),指出接收从机的地址。
3.各从机接收到主机发送的地址帧后,与自身地址比较,相同则置SM2=0;相异则保持SM2=1不变。
4.主机发送数据帧(TB8=0),由于指定的从机已将SM2=0,能接收主机发送的数据帧,而其他从机仍置SM2=1,对主机发送的数据帧不予理睬。
5.被寻址的从机与主机通信完毕,重置SM2=1,恢复初始状态。
多机通信协议
多机通信是一个较为复杂的通信过程,必须有通信协议来保证多机通信的可操作性和操作秩序。
这些通信
协议,除设定相同的波特率及帧格式外,至少应包括从机地址、主机控制命令、从机状态字格式和数据通信格式的约定。
8051的串行口是全双工的UART,它可同时发送和接收数据,是使用特殊寄存器内的SBUF寄存器及SCON串行控制寄存器。
SCON串行控制寄存器
RI:接收中断标志位。
在模式0下,当第8位结束时,硬件会将其设为1;。