第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章改
;查询结束,清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.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章 串行通信
第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)目前几乎所有的台式电脑都带有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章串行口
一、 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 允许接收数据。
binbin详解第7章-串行输入输出接口电路
5. 信号的调制和解调
利用电话信道(频带宽度通常为 利用电话信道(频带宽度通常为300~3400Hz)进行远距离传输,为完 ~ )进行远距离传输, 成传输数字信号,通常把数字信号的“ 或 成传输数字信号,通常把数字信号的“0”或“1”转换成较高的不同频率的模拟 转换成较高的不同频率的模拟 信号,而在接收端再将该模拟信号转换成数字信号。前一种转换称为调制, 调制 信号,而在接收端再将该模拟信号转换成数字信号。前一种转换称为调制,后 一种转换称为解调。完成调制、解调功能的设备叫做调制解调器(Modem) 一种转换称为解调。完成调制、解调功能的设备叫做调制解调器(Modem)。 解调 调制解调器
波特率与字符的传送速率不同: 波特率与字符的传送速率不同:
波特率是每秒钟传送的二进制位数,传送率是每秒钟传送的字符个数, 波特率是每秒钟传送的二进制位数,传送率是每秒钟传送的字符个数,二 者之间存在如下关系: 者之间存在如下关系:
波特率=位 字符 字符/秒 位 秒 字符× 波特率 位/字符×字符 秒=位/秒
串行通信按通信的格式分为:异步通信和同步通信。 串行通信按通信的格式分为:异步通信和同步通信。
通信协议:通信的双方约定,何时开始发送, 通信协议:通信的双方约定,何时开始发送,何时发送完毕以及双方的 联络方式、正确与否等。 联络方式、正确与否等。
第7章串口通信
收)。特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,
但数据的传送控制比并行通信复杂。
第7章串口通信
7.1.1 串行通信的基本概念
一、异步通信与同步通信
1、异步通信 异步通信是指通信的发送与接收设备使用各自的时钟
控制数据的发送和接收过程。 以帧作为传送单位,每一 帧由起始位、数据位、校验位和停止位组成,结构如图。
第7章串口通信
三、方式2和方式3
方式2或方式3时为11位数据的异步通信口。TXD为数据发
送引脚,RXD为数据接收引脚 。
方式2和方式3时起始位1位,数据9位(含1位附加的第9位, 发送时为SCON中的TB8,接收时为RB8),停止位1位,一 帧数据为11位。方式2的波特率固定为晶振频率的1/64或1/32, 方式3的波特率由定时器T1的溢出率决定。
第7章串口通信
二、方式1 :8位异步通信接口
方式1是10位数据的异步通信口。TXD为数据发送引脚, RXD为数据接收引脚,传送一帧数据的格式如图所示。其中1 位起始位,8位数据位(低位在前),1位停止位。
1、方式1输出
第7章串口通信
2、方式1输入
第7章串口通信
(1)发送: CPU向发送缓冲器SBUF写入一个数据后,便启动串行 口在TXD端输出帧信息,先发送起始位“0”,接着从低位开始 依次输出8位数据,最后输出停止位。发送完一帧信息后,发 送中断标志TI置“1”,向CPU请求中断。
•(1)发送:当CPU向发送缓冲器SBUF写入一个数据后,便立即启动发送器发送。先发
送起始位“0”,接着从低位开始依次输出8位数据,再发送SCON中的TB8,最后输出停止 位。发送完一帧信息后,发送中断标志TI置“1”,向CPU请求中断。
nj单片机原理及应用(C语言版)第7章
单片机原理及应用(C语言版)第7章MCS-51单片机串行口主编:周国运中国水利水电出版社本章要点本章主要讲述MCS-51单片机串行口的结构、工作原理以及应用。
主要内容包括串行通信基本知识、MCS-51单片机串行口结构、串行口工作方式以及单片机与PC机通信的接口电路。
7.1 串行通信基本知识主要内容7.1.1 数据通信7.1.2 异步通信和同步通信7.1.3 波特率7.1.4 通信方向7.1.5 串行通信接口种类7.1.1 数据通信计算机与外界的信息交换称为通信。
基本的通信方法有并行通信和串行通信两种。
1.并行通信单位信息(通常指一个字节)的各位数据同时传送的通信方法称为并行通信。
优点:传送速度快;缺点:数据有多少位,就需要多少根传送线。
适合近距离通信7.1.1 数据通信2.串行通信单位信息的各位数据被分时一位一位依次顺序传送的通信方式称为串行通信。
优点:只需一对传输线,大大降低了传送成本,特别适用于远距离通信;缺点:传送速度较低。
适合远距离通信1.异步通信异步通信中,传送的数据可以是一个字符代码或一个字节数据,数据以帧的形式一帧一帧传送。
7.1.2异步通信和同步通信图7-3 异步通信的一帧数据格式1、异步通信起始位(0):信号只占用一位,用来通知接收设备一个待接收的字符开始到达。
线路上在不传送字符时应保持为1。
接收端不断检测线路的状态,若连续为1以后又测到一个0,就知道发来一个新字符,应马上准备接收。
数据位:紧接着起始位后面,它可以是5位(D0--D4)、6位、7位或8位(D0--D7)。
1、异步通信奇偶校验:只占一位,但也可以规定不使用奇偶校验位,这一位就可省去。
也可用这一位(1/0)来确定这一帧中的字符所代表信息的性质(地址/数据等)。
停止位:用来表征字符的结束,它一定是高电位(逻辑1)。
停止位可以是1位、1.5位或2位。
接收端收到停止位后,知道上一字符已传送完毕,同时,也为接收下一个字符做好准备--只要再接收到0,就是新的字符的起始位。
电气控制与PLC应用技术第7章 S7-200PLC的通信与网络
7.2.2
S7-200 PLC支持的通信协议
其中专用的通信协议有PPI、MPI、自由口和 USS等;通用协议有 PROFIBUS、AS-i、工业以太 网、Modbus和Modem等 1.PPI协议
PPI 协议是点对点通信协议,它是一个主/从协议。 在PPI协议中,所有S7-200 PLC都默认为从站, 主站可以是其他CPU主机(如S7-300/400等)、 编程用计算机或SIMATIC编程器、文本显示器或 触摸屏等。标准的PPI通信距离为50m,如果使用 一对RS-485中继器,通信距离可以达到1200m。
第7章 S7-200 PLC通信与网络
主要内容
通信及网络的基础知识 S7-200 PLC通信与网络
S7-200 PLC通信接口及网络部件
S7-200 PLC通信指令及应用
7.1 通信及网络的基础知识
数据通信:就是将数据信息通过适当的传输线 路从一台机器传送到另一台机器。 这里的机器可以是计算机、PLC或具有通信功 能的其他数字设备。 数据通信系统:由传送设备、传送控制设备和 传送协议及通信软件等组成。
7.2.2 S7-200 PLC支持的通信协议
4.自由口协议
自由口协议是用户自定义通信协议,并通过用 户程序对通信口进行操作。 通过设置特殊存储字节SM30(端口0)或SM130 (端口1)可以选择自由口通信模式。 当选择自由口通信模式时,通信协议完全由用 户程序控制,用户可以通过发送指令(XMT)和发 送中断、接收指令(RCV)和接收中断来控制通信 口的操作。 自由口通信模式只限在CPU处于RUN模式时才能 使用,当CPU处于STOP模式时,自由口通信被停止, 通信口自动转换为正常的PPI协议模式。
7.1.1 串行通信的基础概念
《单片机原理与接口技术》第7章 串行接口
PCON寄存器的D7位为SMOD,称为波特率倍增位。即当SMOD=1时,波 特率加倍; 当SMOD=0时,波特率不加倍。 通过软件可设置SMOD=0或SMOD=1。因为PCON无位寻址功能,所以, 要想改变SMOD的值,可通过相应指令来完成: ANL ORL MOV PCON,#7FH PCON,#80H PCON,#00H ;使SMOD=0 ;使SMOD=1 ;使SMOD=0
高等职业教育 计算机类课程规划教材
大连理工大学出版社
第7章
7.1 7.2 7.3 7.4
串行接口
串行通信的基本概念 MCS-51 单片机串行接口及控制寄存器 MCSMCSMCS-51 单片机串行口的工作方式 串行口的应用
7.1 串行通信的基本概念
7.1.1 数据通信的概念 计算机的CPU与外部设备之间、计算机与计算机之间的信息交换称 为数据通信。 1.并行通信 1.并行通信 并行通信是数据的各位同时进行传送(发送或接收)的通信方式。 其优点是数据传送速度快; 缺点是数据有多少位,就需要多少根传送线。 2.串行通信 2.串行通信 串行通信是数据的各位一位一位顺序传送的通信方式。
7.3
7.3.1 方式0 方式0
MCS-51单片机串行口的工作方式 MCS-51单片机串行口的工作方式
串行口工作于方式0下,串行口为8位同步移位寄存器输入/输出口, 其波特率固定为fosc/12。
数据由RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)端 输出,发送、接收的是 8位数据。不设起始位和停止位,低位在前,高 位在后。其帧格式为:
起始0 D0 D1 D2 D3 D4 D5 D6 D7 TB8/RB8 停止1
第七章 串行通信
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
起始位
数据位
校验位 停止位
0
1
0
0
0
0
0 1
0
1
1
1
1
1
1
8
§7-2 MCS-51串行接口
9
一、硬件条件
引脚:P3.0(RXD)——串行数据接收端 P3.1(TXD)——串行数据发送端 寄存器:SBUF (99H)数据缓冲寄存器 SCON (98H)串行口控制寄存器 PCON( 87H )的SMOD位 其中SBUF物理地址有两个, 逻辑地址只有一个 接收缓冲器SBUF 发送缓冲器SBUF 串行发送时,将要发送的数据写入发送缓冲器SBUF; 串行接收时,从接收缓冲器SBUF中读出数据
两种方式基本相同,区别在于波特率不同: 方式2波特率固定, 方式3波特率可通过改变T1的时间常数来改变。
26
①方式2输出与方式3输出
预先在SCON的TB8位放入11位异步格式中的第9 位(可编程位),即发送数据的最高位。 在TI=0条件下,用指令MOV SBUF,A启动发送。 先发送起始位,再发送8位数据,然后把TB8中第9位 发出去,最后发一位停止位,发送完毕后置TI=1并请 求中断,在中断服务程序中用软件使TI=0,并发送下 一个数据。 TB8中的第9位既可支持多微机通信,也可作为数 据的奇偶校验位。
19
串并转换: 74LS164:8位串入并出移位寄存器,用于发送 74LS166:8位并入串出移位寄存器,用于接收
20
二、方式1
8位异步串行通信口 TXD为数据输出线 RXD为数据输入线 一帧数据共10位: 1位起始位+8位数据位+1位停止位
第7章 嵌入式-串行通信接口SCI
表7-1 9芯串行接口引脚含义表 9芯串行接口引脚含义表 引脚 功 能 号 1 2 3 4 5 返回 接收线信号检测( 接收线信号检测(载波检 测DCD) 接收数据线(RXD) 接收数据线(RXD) 发送数据线(TXD) 发送数据线(TXD) 数据终端准备就绪( DTR) DTR) 信号地(SG) 信号地(SG) 引脚 功 能 号 6 7 8 9 数据通信设备准备就 绪(DSR) 请求发送(RTS) 请求发送(RTS) 清除发送 振铃指示
《嵌入式技术基础与实践》 嵌入式技术基础与实践》
7.1.2 RS-232C总线标准 RS-232C总线标准
RS-232接口,简称“串口”, RS-232接口 简称“串口” 接口, 它主要用于连接具有同样接口的室 内设备。目前几乎所有计算机上的 内设备。 串行口都是9芯接口。右图给出了9 串行口都是9芯接口。右图给出了9 芯串行接口的排列位置,相应引脚 芯串行接口的排列位置, 含义见表7 含义见表7-1。
开始位 第0 位 第1 位 第2 位 第3 位 第 4 位 第5 位 第6 位 第7 位 停止位
SCI数据格式
《嵌入式技术基础与实践》 嵌入式技术基础与实践》
(2)串行通信的波特率
波特率( rate):每秒内传送的位数。 ):每秒内传送的位数 波特率(baud rate):每秒内传送的位数。 波特率单位是位/ 波特率单位是位/秒,记为bps。通常情况下,波特率 记为bps。通常情况下, 的单位可以省略。通常使用的波特率有300、600、900、 的单位可以省略。通常使用的波特率有300、600、900、 1200、1800、2400、4800、9600、19200、38400。 1200、1800、2400、4800、9600、19200、38400。
单片机第七课--串口
1、方式2和方式3发送
写入SBUF TXD TI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7 TB8
停止位
发送前,先根据用户约定的通信协议由软件设置TB8的值, 然后把要发送的数据写入SBUF启动发送过程,先把起始位 0输出到TXD引脚,然后发送移位寄存器的输出位(D0)到 TXD引脚。每一个移位脉冲都使输出移位寄存器的各位右移 一位,并由TXD引脚输出。 第一次移位时,停止位“1”移入输出移位寄存器的第9位 上 ,以后每次移位,左边都移入0。当停止位移至输出位时, 左边其余位全为0,检测电路检测到这一条件时,使控制电 路进行最后一次移位,并置TI=1,向CPU请求中断。
一个字符帧 空 闲 起 始 位 数据位 校 验 位 停 止 位 空 闲
下一字符 起始位
LSB
MSB
异步通信对硬件要求较低,实现起来比较简单、灵活, 适用于数据的随机发送/接收,但因每个字节都要建立一次同 步,即每个字符都要额外附加两位,所以工作速度较低,在 单片机中主要采用异步通信方式。
2、同步通信 以一串字符为一个传送单位,字符间不加标识位,字符串开 始用同步字符标识(一般约定为1~2个字符),以触发同步时 钟开始发送或接收数据;多字节数据之间不允许有空隙,每位 占用的时间相等;空闲位需发送同步字符。 硬件要求高,通讯双方须严格同步,适用于成批数据传送。 单片机不用该方式。
在单片机的应用中,常用的晶振频率为:12MHz和 11.0592MHz。所以,选用的波特率也相对固定。 常用的串行口波特率以及各参数的关系如表所示。
串行口工作之前,应对其进行初始化,主 要是设置产生波特率的定时器1、串行口控 制和中断控制。具体步骤如下:
确定T1的工作方式(编程TMOD寄存器);
并行和串行接口
7.2.1 三态门接口
7-6
用74LS244构成旳输入接口
D0 D1 D2 D3 D4 D5 D6 D7
A9~A0
IOR AEN
74LS244
…
1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4
1A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4
G1 G2
译码电路 200H
… …
7-22
有条件输入/输出
在例7.2 中,用一按钮控制实既有条件开关输入和 状态显示(按钮按下时,输入/输出)。
D7~D0 IOW
D7~D0 PB7 WR PB6
LED7 LED6
… …
IOR
AEN
A9 ~ A2
A1 A0
RD
译
PB0
码 器
200H CS
PA2
A1
PA1
A0
PA0
LED0
+5V K2 K1 K0
译码
8255A PC3
INTRA
数据
中导孔 纸
7.3.4 三种工作方式——方式0
7-21
例7.2 程序
#include <stdio.h>
#include <dos.h>
unsigned char tab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
main(){
unsigned char i;
outportb(0x203,0x90);
2. C口按位置位/复位控制字
D7 D6 D5 D4 D3 D2 D1 D0
0
阐明:
➢ C口旳按位置位/复位 操作一次只能使C口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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对数据块进 行校验,适用于同步通信。