第7 章 串行通信接口

合集下载

第7章 串行接口习题

第7章 串行接口习题

2.串行传送数据的方式有( )、( )两种。
3.串行通信中约定:一个起始位,一个停止位, 偶校验,则数字“5”的串行码为
( ),数字“9”的串行码为( )。
4.利用 8251 进行异步串行通讯,当设定传输速率为 8400 波特,传输格式为 1 个
起始位,1 个停止位时,每秒最多可传送的字节数是( )。
5.串行接口传送信息的特点是( ),而并行接口传送信息的特点是( )。
6.在异步串行通信中,使用波特率来表示数据的传送速率,它是指 (
)。
7. Intel 8251A 工作在同步方式时,最大波特率为( );工作在异步方式时,最大
波特率为( )。
8. Intel 8251A 工作在同步方式时,每个字符的数据位长度为( ),停止位的长度
好,CPU 是通过(
-----------
)方式获得DSR的值。
-----------
(A)DSR信号直接送到 CPU
(B)当DSR信号有效时,8251A 向 CPU 发
出中断请求
-----------
(C)CPU 读 8251A 的状态寄存器 (D)CPU 无法知道DSR信号的状态
16. 如果 8251A 的方式寄存器的地址为 2的 TxD、RxD 引脚的信号电平符合( )。
(A)DTL 标准 (B)TTL 标准 (C)HTL 标准 (D) RS-232C 标准
9.8251 的方式字(模式字)的作用是(
)。
(A)决定 8251 的通信方式
(B)决定 8251 的数据传送方向
(C)决定 8251 的通信方式和数据格式 (D)以上三种都不对
的。
4.调制解调器实现的是异步数据通信。
5.异步串行通讯中,一个字符的编码是基本传递单位的组成部分之一。

串行通信7章改

串行通信7章改

;查询结束,清RI
MOV A ,SBUF
;读数据到累加器
ACALL LOGSIM
;进行逻辑模拟
SJMP START
;准备下一次模拟
2.串行口方式1的应用
例3:在8051片内RAM30~4FH单元中有32个字节的数
据,若采用方式1进行串行通信,波特率为1200bit/s,
fosc=6MHz(SMOD=0),用查询和中断两种方式编写发
HERE:JNB TI,HERE CLR TI INC R0 DJNZ R7,LOOP SJMP $ END
查询方式
接收:
MAIN:
HERE:
ORG 0000H AJMP MAIN ORG 0030H MOV TMOD,#20H MOV TL1,#0F3H MOV TH1,#0F3H SETB TR1 MOV SCON,#50H MOV PCON,#00H MOV R0,#30H MOV R7,#20H JNB RI,HERE CLR RI
MAIN: MOV SP,#60H
HERE: AJMP HERE
MOV TMOD,#20H SER: CLR TI
MOV TH1,#0F3H
INC R0
MOV TL1,#0F3H
MOV A,@R0
SETB TR1
MOV SBUF,A
MOV SCON,#40H
DJNZ R7,HE
MOV R0,#30H
HERE: AJMP HERE
MOV TMOD,#20H SER: CLR RI
MOV TH1,#0F3H
MOV A,SBUF
同步通信数据格式
异步通信数据格式
四、通信数据的差错检测
(1)奇偶校验 在数据位后附加一个奇偶校验位,该位可为“0”

第七章 串行通信

第七章 串行通信
传输方式
同步方式 串行方式
异步方式
单工方式
半双工方式 全双工方式 多工方式
7.1.2 串行通信的通信标准
串行通信的通信标准主要是指通信的电气和硬件标准,常用的有 RS-232;RS-485/422等。
NEXT HOME
RS-232标准 ♠ 电气特性:逻辑“1”=-3V~-15V;逻辑“0”=+3V~+15V。在与TTL 标准连接时必须进行电平转换,常用芯片有MC1488、MC1489及 MAX202~MAX232等。
BACK NEXT HOME
7.1.3 串行通信的通信方式
串行通信又可分为异步通信和同步通信。异步通信的接受器和发送 器使用各自的时钟,每次只传送一字节数据,允许时钟产生误差;同步 通信每次传送的数据量较大,要求精度高,因此接受器和发送器使用同 一时钟。 异步通讯 以字符为传送单位用起始位和停止位标识每个字符的开始和结束 字符间隔不固定,只需字符传送时同步。异步通讯数据常用一帧为单位, 一帧字符位数的规定:起始位,数据位,校验位和停止位,校验位紧跟 在数据位后,也可以省略。下图为省略校验位后一帧数据的示意图。
起始位 D 0
D1
D2
D3
D4
D5
D6
D7 停止位
优点是硬件要求低,可靠性高,传送距离远,但速度较慢。
BACK
NEXT
HOME
同步通信 以一串字符为一个传送单位,字符间不加标识位,在一串字符开 始用同步字符标识,硬件要求高,通讯双方须严格同步。
【提示】:在单片机与外设进行数据通信时,多采用异步串行通信。
模式选择
多机通讯位 允许接收位 发送、接收第9位 发送、接收标志
BACK
NEXT

7第七章 串行异步通信

7第七章 串行异步通信

7.1.2 RS-232串行接口
1. RS-232概况
2. 标准的RS-232C电平转换器
3. EIA-RS-232C接口
7.1.2 RS-232串行接口
1. RS-232概况
• EIA-RS-232C是由美国电子工业协会 EIA(Electronic Industry Association) 制 订的一种串行物理接口标准。 • 规定逻辑“1”的电平表示低于-3V,而 逻辑“0”的电平为高于+3V。 • EIA-RS-232C最大的传输距离是30m, 通信速率低于20Kbps。
7.1.1 有关名词
• 2.异步传输 • 在异步传输中,每个字符编码为一系列脉冲。 传输由一个启始脉冲开始,脉冲长度等于一 个代码脉冲的长度。编码字符(脉冲系列)紧随 其后。最后是一个停止脉冲,其长度长于或 大于代码脉冲长度,其数目依据使用的传输 代码。 • 在异步传输中,错误控制的最常见格式是单 个位──奇偶校验位──错误检测的使用。 •
• 2.发送一个数据与接收一个数据 • 设在口地址定义处有下列语句: • SCS1 EQU $0016 ;SCI状态寄存器1 • SCDR EQU $0018 ;SCI数据寄存器
7.2.2 初始化与收发编程基本方法
• 要发送一个数据,首先通过状态寄存器 SCS1的D7(SCTE)判断是否可以向数据 寄存器SCI送数,SCTE=1可以送数:
• 目前较多使用MAX232,可用单一+5V电源供电 实现电平转换。
• 利用MAX232与MC68HC908GP32单片机构成的具 有串行通信功能的电路见图6-4。
7.1.3 串行异步通信接口电路设计
• 如图
7.1.3 串行异步 通信接口电路设计

《单片机原理及应用教程》第7章:单片机的串行通信及接口

《单片机原理及应用教程》第7章:单片机的串行通信及接口
8051单片机通过引脚RXD和TXD进行串行通信。其串行口结构包括控制寄存器SCON和PCON,分别用于配置工作方式和波特率。串行通信可选工作方式有四种:方式0为同步移位方式,方式1、方式2和方式3为异步收发方式,不同方式下帧格式和时序有所不同。波特率是数据传送速率,可通过设置定时器T1和SMOD位来调整。在方式0下,波特率固定为fosc/12;方3的波特率则通过T1溢出率和SMOD位共同决定。此外,文档还提供了波特率设计的实例和初始化程序,帮助读者更好地理解和应用8051单片机的串行通信功能。

第7章 串行通信

第7章   串行通信

第7章 串行通信 7.3.1方式0
当SM0=0、SM1=0时,串行方式选择方式0。这种工作方式实质上 是一种同步移位寄存器方式。其数据传输波特率固定为(1/12)fOSC。数 据由RXD(P3.0)引脚输入或输出,同步移位时钟由TXD(P3.1)引脚输 出。接收/发送的是8位数据,传输时低位在前。帧格式如下:
D7 SD7 D6 SD6 D5 SD5 D4 SD4 D3 SD3 D2 SD2 D1 SD1 D0 SD0
写SBUF(MOV SBUF,A),访问发送数据寄存器; 读SBUF(MOV A,SBUF),访问接收数据寄存器。
第7章 串行通信
7.3 AT89S51单片机的串行口工作方式
AT89S51单片机的串行口工作方式由控制寄存器中的SM0、SM1决 定,具体如表7-1所示: 表7-1 串行口工作方式选择位SM0、SM1 SM0 0 0 1 1 SM1 0 1 0 1 工作方式 方式0 方式1 方式2 方式3 特 点 8位移位寄存器 10位UART 11位UART 11位UART 波 fOSC/12 可变 fOSC/64或fOSC/32 可变 特 率
SM2
9CH
REN
9BH
TB8
9AH
RB8
99H
TI
98H
RI
其中,各位的含义如下: SM0,SM1—串行口工作方式选择位。其功能见表格7-1。 SM2—允许方式2、3中的多处理机通信位。 方式0时,SM2=0。 方式1时,SM2=1,只有接收到有效的停止位,RI才置1。 方式2和方式3时,若SM2=1,如果接收到的第九位数据(RB8)为0, RI置0;如果接收到的第九位数据(RB8)为1,RI置1。这种功能可用于 多处理机通信中。
每当接收移位寄存器左移一位,原写入的“1111 1110”也左移一位。当最 右边的0移到最左边时,标志着接收控制器要进行最后一次移位。在最后一 次移位即将结束时,接收移位寄存器的内容送入接收缓冲器SBUF,然后在 启动接收的第10个机器周期时,清除接收信号,置位RI。

第7章 串行通信接口(SCI)

第7章 串行通信接口(SCI)

第7章串行通信接口(SCI)目前几乎所有的台式电脑都带有9芯的异步串行通信口,简称串行口或COM口。

有的台式电脑带有两个串行口,分别称为COM1、COM2口。

大部分的笔记本电脑也带有串行口。

随着USB接口的普及,串行口的地位逐渐变低了。

但是,作为设备间的一种简便的通信方式,在相当长的时间内,串行口还不会消失。

因为简单且常用的串行通信只需要三根线(发送线、接收线和地线),所以,串行通信可以作为MCU与外界通信的简便方式之一。

大部分嵌入式MCU都具有串行通信接口(Serial Communication Interface,SCI),掌握SCI的编程是学习MCU的重要内容之一。

本章从掌握规范的SCI基本编程角度讨论串行通信编程,把与芯片型号相关内容和与芯片型号无关内容区别开来,便于读者融会贯通与实际应用。

本章7.1、7.2节是与芯片无关的有关串行通信的通用基础知识,只有理解这些基础知识,才能进行串行通信的应用。

7.3、7.4节阐述GP32芯片的SCI模块的编程方法,在此基础上,重点掌握7.5节给出的编程实例。

注意,在汇编程序中,只有初始化子程序与GP32相关,收发程序在整个08系列中是通用的,在C程序中,只有初始化子程序与GP32相关,收发程序对任何芯片是通用的。

当然,要注意头文件SCI.h相关位的定义。

关于串口程序的测试,最好利用教学资料中提供的PC机方的高级语言源程序进行。

根据自己对高级语言的熟悉程度选用VB、C#、VC或其他高级语言。

实际上,掌握一门PC机方的高级语言编程对嵌入式系统开发是必要的。

7.1异步串行通信的基础知识本节简要概括了串行通信中的通常使用的相关基本概念,为学习MCU的串行接口编程做准备。

对于已经了解这方面知识的读者,可以略读本节。

7.1.1基本概念“位”(bit)是单个二进制数字的简称,是可以拥有两种状态的最小二进制值,分别用“0”和“1”表示。

在计算机中,通常一个信息单位用8位二进制表示,称为一个“字节”(byte)。

第7章串行口

第7章串行口
串行口在中断方式工作时,要进行中断设置(编程 IE、IP寄存器)。
一、 89C51串行口 1、结 构
图7-7 串行口内部结构示意简图
☞ 2、串行口控制字及控制寄存器
串行口控制寄存器SCON(98H)
• ①SM0和SM1(SCON.7,SCON.6)——串行
口工作方式选择位。两个选择位对应4种通信方式,
如表7-1所示。其中,fosc是振荡频率。
3、串行通信工作方式
2 SMOD f osc 16 / 2 初值 串行方式1、方式3波特率≌ 32 12


4、波特率设计
• 定时器T1用作波特率发生器时,通常选用定时器模 式2(自动重装初值定时器)比较实用。每过“28-X” 个机器周期,定时器T1就会产生一次溢出。
• T1溢出速率为 T1溢出速率≌(fosc/12)/(28-X)
移位时钟来源不同,因此,各种方式的波特率计算公式也
不同。
4、波特率设计
• (1)方式0的波特率 由图7-14可见,方式0时,发送或接收一位数据的移位 时钟脉冲由S6(即第6个状态周期,第12个节拍)给出, 即每个机器周期产生一个移位时钟,发送或接收一位数据。
因此,波特率固定为振荡频率的1/12,并不受PCON寄存
TxD输出移位时钟,频率=fosc1/12;
每接收 8位数据RI就自动置1;
需要用软件清零 RI。
☞经常配合“串入并出”“并入串出”移位 寄存器一起使用扩展接口
☞方式0工作时,多用查询方式编程: 发送:MOV SBUF,A 接收:JNB RI,$ JNB TI,$ CLR RI CLR TI MOV A, SBUF ☞复位时,SCON 已经被清零,缺省值: 方式0。 ☞接收前,务必先置位 REN=1 允许接收数据。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

表7.10 C/D#、RD#、WR#的编码和对应的操作 C/D# RD# WR# 具体操作
0
0 1
0
1 0
1
0 1
CPU从8251输入数据
CPU往8251输出数据 CPU读取8251的状态
1
1
0
CPU往8251写入控制命令
8251A与外部设备之间的连接信号
(1) 收发联络信号 DTR# 数据终端准备好信号 外设 接收器 DSR# 数据设备准备好信号 8251 RTS# 请求发送信号 外设 发送器 CTS# 清除请求发送信号 8251 (2) 数据信号 TXD 发送器数据信号端 RXD 接收器数据信号端
1)接收控制电路的功能: ① 复位后寻找启动位。 ② 消除假启动干扰。 ③ 对接收到的信息进行奇偶校验。 ④ 检测停止位。 2)发送控制电路功能: ① 在异步方式下,为数据加上起始位、校验位和 停止位。 ② 在同步方式下,插入同步字符和校验位。
3) 数据总线缓冲器: 用来与 CPU 的数据总线 D0~D7 相连。 4)读写控制逻辑电路功能: ① 接收WR#,写入数据和控制字 ② 接收RD#,读取数据或状态字 ③ 接收C/D#。 ④ 接收CLK,完成内部定时。 ⑤ 接收RESET。
(3)校验方式
同步通信:采用16位循环冗余校验码,可靠性高 异步通信:采用1位奇偶校验,可靠性相对较低
7.4 串行通信芯片8251A
8251A的基本性能 8251A的基本工作原理 8251A的对外信号 8251A的编程 8251A编程举例 8251A的使用实例
7.4.1 8251A的内部结构和引脚 8251A性能指标:

;两个同步字符均为16H
;设置控制字,使发送器启动, ;接收器启动,并设置其他有关的信号。
7.4.4 8251A的应用实例
下图为用8251A作为CRT接口的实际例子
图7.33
8251A的初始化程序段
INIT: XOR MOV MOV OUT1: CALL LOOP
AX,AX ;AX清零 CX,0003 DX,00DAH
DX,AL ;将数据输出到指定端口 CX CX,0002 ABC ;等待输出动作完成 CX ;恢复CX内容
往CRT输出一个字符的程序段
CHAROUT:MOV STATE: IN TEST JZ MOV POP OUT
DX,0DAH AL,DX AL,01 STATE DX,0D8H AX DX,AL

单工、半双工、全双工的数据传送模式
数据流 A 发送器 B 接收器 A 发送器/ 接收器 (b ) 数据流 B 接收器/ 发送器
(a)
数据流 A 发送器 接收器 (c) B 接收器 发送器
2. 同步方式和异步方式
传输方式:


同步通信:收发双方采用同一个时钟信号来定时,信 息组开始要加同步字符。 异步通信:收发双方不用统一的时钟进行定时,两个 字符间的传输间隔是任意的。
同步方式和异步方式比较:
同步方式下的非数据信息比例比较小,信息有效率高。 同步方式在传输数据的同时,还必须传输时钟信号。
标识态
图6.1 标准的异步通信数据格式
第n个字符 起 始 位 1 0
7位数据
MARK
奇 偶 校 验 位
第(n+1)个字符 停 止 位 1 1 空 闲 位 1 1
下一个字符起始位 0 0/1 0/1
7.4.2 8251A的工作方式

异步方式:
(1) 异步接收方式
(2) 异步发送方式

同步方式:
(3) 同步接收方式 (4) 同步发送方式
下图为8251A工作在异步方式时的数据传输格式。
异 步 方 式 时 的 数 据 传 输 格 式
(3) 同步接收方式
(4) 同步发送方式
下图为8251A工作在同步方式时的数据传输格式
第7章 串并行通信和接口技术
7.3 串行通信基础
7.4 串行通信芯片8251A
7.3 串行通信基础
7.3.1 串行通信基本概念 单工、全双工和半双工方式 同步方式和异步方式 传输率
1. 单工、全双工方式和半双工方式
单工:一条线路,只能进行发送或接收。 半双工方式:输入和输出使用同一通路。 全双工方式:接收和发送用两条不同的通路。
① ②

可以工作在同步或异步方式。 在同步方式时, 能用5、6、7或8位代表字符 能自动检测同步字符 允许奇偶校验。 在异步方式下


能用5、6、7或8位代表字符,用1位作为奇偶校验。
能增加1个启动位
能增加1个、1.5个或2个停止位。
1.8251A的内部结构
图7.28 8251A的内部结构
同步方式时的数据传输格式
7.4.3 8251A的编程
初始化流程
模式字寄存器 命令控制字 状态字寄存器
1. 初始化流程 8251A初始化的约定 :
① 复位后,第一次用奇地址写入的值送模式寄 存器。 ② 若为同步模式,接着往奇地址端口输出的字 节为同步字符。 ③ 此后,除复位命令,往奇地址写入的值将送 到控制寄存器,往偶地址端口写入的值送到 数据输出寄存器。
8251 读/写控制功能表
2. 8251A的外部引脚定义 8251A和CPU之间的连接信号
8251A与外部设备之间的连接信号
8251与CPU及外设的连接关系
8251A和CPU之间的连接信号
(1) 片选信号: CS#为低电平时,8251A被选中; (2) 数据信号:D7~D0与系统的数据总线相连 ; (3) 读写控制信号 RD#为读信号、WR#为写信号、C/D#为控制/数 据信号; (4) 收发联络信号 TXRDY : 发送器准备好信号 T XE : 发送器空信号 RXRDY : 接收器准备好信号 SYNDET : 同步检测信号

MOV
OUT
AL,37H
52H,AL

例7.8 假设8251A工作在同步方式下奇端口地址为52H,2个 同步字符,内同步,奇校验,7位数据位,同步字为16H,请 写出初始化程序段。 解:根据题意,模式字为 00 01 10 00 = 18H;控制字为: 1001 0111 = 97H,程序段如下: MOV OUT MOV OUT OUT MOV OUT AL,18H 52H,AL AL,16H 52H,AL 52H,AL AL,97H 52H,AL
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 低 位 高 位
下降沿指出下一 个字符的开始
一位时间取 决于波特率
异步通信数据格式:有空闲位
波特率(Baud rate):表示串行数据传送速度,它 表示每秒钟传送的二进制位数,单位为bit/s(bps)。 例1:异步传输过程 设每个字符对应1个起始位、7个信息位、1个奇偶 校验位和1个停止位,如果波特率为1200bps,那么, 每秒钟能传输的最大字符数为1200/10=120个。
;输入状态字
;不断测试状态位 ;数据端口地址送DX
;AX中为要输出的字符 ;往端口中输出一个字符
8251A的初始化流ห้องสมุดไป่ตู้图
2. 模式寄存器
下图为8251A模式寄存器的格式 (a) 异步方式; (b) 同步方式 异步方式下:
时钟频率=波特率因子×波特率(位传输率)
异步方式
同步方式
3. 命令控制字
4. 状态字的格式

例7.7 假设8251A工作在异步方式下,奇端口地址(即控 制和状态端口)为52H,字符数7位、偶校验、2个停止位, 波特率因子为16,请写出初始化程序段。 解:根据题意,模式字为11 11 10 10 = 0FAH,控制字为 0011 0111= 37H,也就是发送允许、接收允许、发送启动、 接收启动、出错标志复位。程序段如下: MOV OUT AL,0FAH 52H,AL
一帧
同步字符 数据1 数据2 …. 数据n 校验
异步通信与同步通信的主要区别
(1)时钟要求 同步通信:发送与接受时钟频率精确相等 异步通信:发送与接受时钟频率基本相等即可 (2)控制信息 同步通信:要求对整个数据块附加帧信息,用于高速数据链路; 异步通信:要求对每个数据字符均附加帧信息,用于低速设备, 低速传送。
KKK OUT1
;往控制端口DAH送3个0
MOV CALL MOV CALL
AL,40H KKK AL,4EH KKK
;往控制端口送40H复位 ;设置模式字, 异步模式, ;波特率因子为16,8位数据, ;1位停止位
MOV CALL ……
AL,27H KKK
;往设置命令字启动
KKK:OUT PUSH MOV ABC:LOOP POP RET
同步通讯格式:
1> 同步字符:一种同步标志,指示传送数据的开始。
2> 数据:指连续传送的信息,每个字符可选择为 5、 6、 7 、8 位,传送的内容可以是数据信息,也可以是命令信息。 3> CRC校验:循环冗余校验,用于数据传送的检错。不同在于, 奇偶校验对一个字符校验,适于异步通信,而CRC对数据块进 行校验,适用于同步通信。
相关文档
最新文档