第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.异步串行通讯中,一个字符的编码是基本传递单位的组成部分之一。
单片机原理及接口技术课后答案第七章
第七章1、什么是串行异步通信,它有哪些作用?答:在异步串行通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式参考书。
通信采用帧格式,无需同步字符。
存在空闲位也是异步通信的特征之一。
2、89C51单片机的串行口由哪些功能部件组成?各有什么作用?答:89C51单片机的串行接口由发送缓冲期SBUF,接收缓冲期SBUF、输入移位寄存器、串行接口控制器SCON、定时器T1构成的波特率发生器等部件组成。
由发送缓冲期SBUF发送数据,接收缓冲期SBUF接收数据。
串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON控制和指示。
定时器T1产生串行通信所需的波特率。
3、简述串行口接收和发送数据的过程。
答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读和写的。
当向SBUF发“写”命令时(执行“MOV SBUF,A”),即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。
在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN (SCON.4)=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。
当发读SBUF命令时(执行“MOV A, SBUF”),便由接收缓冲期SBUF 取出信息通过89C51内部总线送CPU。
4、89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?答:89C51串行口有4种工作方式:方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。
有2种帧格式:10位,11位方式0:方式0的波特率≌fosc/12(波特率固定为振荡频率1/12)方式2:方式2波特率≌2SMOD/64×fosc方式1和方式3:方式1和方式3波特率≌2SMOD/32×(T1溢出速率)如果T1采用模式2则:5、若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少?答:已知每分钟传送3600个字符,方式3每个字符11位,则:波特率=(11b/字符)×(3600字符/60s)=660b/s6、89C51中SCON的SM2,TB8,RB8有何作用?答:89c51SCON的SM2是多机通信控制位,主要用于方式2和方式3.若置SM2=1,则允许多机通信。
第七章 串行通信
同步方式 串行方式
异步方式
单工方式
半双工方式 全双工方式 多工方式
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章 串行通信 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章习题及答案
《单片机原理及接口技术》(第2版)人民邮电出版社第7章 AT89S51单片机的串行口思考题及习题71.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。
答:方式1。
2.在串行通信中,收发双方对波特率的设定应该是的。
答:相等的。
3.下列选项中,是正确的。
A.串行口通信的第9数据位的功能可由用户定义。
对B.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。
对C.串行通信帧发送时,指令把TB8位的状态送入发送SBUF中。
错D.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。
对E.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。
对4.通过串行口发送或接收数据时,在程序中应使用。
A.MOVC指令B.MOVX指令 C.MOV指令 D.XCHD指令答:C5.串行口工作方式1的波特率是。
A.固定的,为f osc/32 B.固定的,为f osc/16C.可变的,通过定时器/计数器T1的溢出率设定D.固定的,为f osc/64答:C6.在异步串行通信中,接收方是如何知道发送方开始发送数据的?答:当接收方检测到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。
7.AT89S51单片机的串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:串行口有4种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2和3具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,方式1的波特率=2SMOD /32×定时器T1的溢出率方式2的波特率=2SMOD /64×fosc方式3的波特率=2SMOD /32×定时器T1的溢出率8.假定串行口串行发送的字符格式为1个起始位、8个数据位、1个奇校验位、1个停止位,请画出传送字符“B ”的帧格式。
第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章 MCS-51串行接口
5.通信协议
(1) 奇偶校验 (2) 累加和校验 (3) 循环冗余码校验 (Cyclic Redundancy Check, 简称CRC)
7.2 MCS-51串行口结构与工作原理
MCS-51单片机内部含有1个可编程全双工串行通信接口, 它有4种工作方式。串行口内部结构如下图,两个物理上独立地 接收和发送缓冲器,可同时收、发数据(全双工)。 两个缓冲器共用一个特殊功能寄存器字节地址:SBUF(99H)
发送指令:MOV SBUF,A ;将数据写到发送缓冲器SBUF 接收指令:MOV A,SBUF ;读出接收缓冲器SBUF中接收到的数据 控制寄存器共两个:特殊功能寄存器SCON和PCON。
串行数据缓冲器SBUF 在逻辑上只有一个,既表示发送寄存器,又表示接收寄 存器,具有同一个单元地址99H,用同一寄存器名SBUF。 在物理上有两个,一个是发送缓冲寄存器,另一个是接 收缓冲寄存器。 发送时,只需将发送数据输入SBUF,CPU将自动启动和 完成串行数据的发送; 接收时,CPU将自动把接收到的数据存入SBUF,用户只 需从SBUF中读出接收数据。 指令 MOV SBUF,A 启动一次数据发送,可向SBUF 再发送下一个数 指令 MOV A,SBUF 完成一次数据接收,SBUF可再 接收下一个数
(2)同步通信 同步通信依靠同步字符保持通信同步。同步通信 是由1~2个同步字符和多字节数据位组成,同步字符作 为起始位以触发同步时钟开始发送或接收数据;多字节 数据之间不允许有空隙,每位占用的时间相等;空闲位 需发送同步字符。(同步字符可以用户约定,也可以有 用ASCⅡ码中规定的SYNC同步字符(即16H)) 同步通信传输速度较快,但要求有准确的时钟来实 现收发双方的严格同步,对硬件要求较高,适用于成批 数据传送。
《单片机原理与接口技术》第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
微机原理第七章 输入输出方法及常用接口电路
编程并行接口芯片8255A
二、 8255的内部结构
编程并行接口芯片8255A
三、8255的引脚功能
PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3
8251可编程通信接口
二、8251的结构和引脚特性
数据总线缓冲器
状态 缓冲器
发送数据/命 令缓冲器
接收数 据缓冲 器
RESET CLK C/D RD WR CS DTR DSR RTS CTS
读/写 控制电 路
发送器 P S
TxD
发送 控制 接收 控制 接收器 S P
TxRDY TxE TxC RxRDY SYN DET RxC RxD
输入/输出接口概述
五、 I/O接口的分类 通用接口 专用接口 串行接口 并行接口
编程并行接口芯片8255A
一、 8255A的主要特性
有3个8位并行数据I/O口PA、PB和PC口及1个8位控 制口CWR。 可编程设置方式0、方式1、方式2三种不同的工作方 式,用于无条件传送、查询传送和中断传送。 有两个控制字决定8255A的工作方式,通过编制初始 化程序,使用OUT指令从控制寄存器端口写入。有 一个状态字可供查询,使用IN指令从C端口读出。 提供兼容的TTL电平接口,原则上适用于需并行输入 输出的I/O设备。
串行接口的工作原理
串行接口的工作原理
串行接口(Serial Interface)的工作原理是,通过一条传输线将数据位按照顺序进行传输,而不是同时传输所有数据位。
它一般由两根线组成,分别是发送线(TX)和接收线(RX)。
数据通过发送线以连续的位序列的形式从发送方传输到接收方,接收方通过接收线将接收到的数据重新组装成完整的消息。
在串行通信时,数据通常是按照位的顺序逐个传输的。
发送方将数据位按顺序逐个发送到发送线上,接收方通过接收线逐个接收数据位。
数据位的传输速率由波特率(Baud rate)来控制,波特率指的是每秒传输的位数。
为了确保数据能够被准确地发送和接收,串行口通常还需要使用其他信号线,如数据就绪信号(Ready)和数据结束信号(Stop)。
数据就绪信号用于通知接收方有新的数据即将到来,并准备好接收,而数据结束信号用于表示数据传输的结束。
串行口的工作原理可以被简单概括为发送方将数据按照位的顺序发送给接收方,接收方通过接收线逐个接收数据位,并将其重新组装成完整的消息。
通过控制波特率和使用其他信号线,串行口可以实现可靠的数据传输。
第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寄存器);
单片机第七章习题参考题答案
word 格式格式.. .. 第七章 习题参考答案一、填空题1、在串行通信中,有数据传送方向为 单工 、 半双工 和 全双工 三种方式。
2、要串口为10位UART UART,,工作方式应选为 方式1 。
3、用串口扩并口时,串行接口工作方式应选为方式 0 。
4、计算机的数据传送有两种方式,即 并行数据传送 和 串行数据传 送 方式,其中具有成本低特点的是 串行数据传送 方式。
5、串行通信按同步方式可分为 异步 通信和 同步 通 信。
6、异步串行数据通信的帧格式由 起始 位、 数据 位、 奇偶校验 位和位和停止 位组成。
7、串行接口电路的主要功能是 串行串行 化和 反串行 化,把 帧中格式信息滤除而保留数据位的操作是 反串行反串行 化。
8、专用寄存器“串行数据缓冲寄存器”,实际上是 发送缓冲 寄存器和 接 收缓冲寄存器的总称。
9、MCS-51的串行口在工作方式0下,是把串行口作为 同步移位 寄存器来使用。
这样,在串入 并出移位寄存器的配合下,就可以把串行口作为 并行输出 口使用,在并入串出移位寄存器的配合下,就可以把串行 口作为 并行输入 口使用。
1010、在串行通信中,收发双方对波特率的设定应该是、在串行通信中,收发双方对波特率的设定应该是约定 的。
1111、、使用定时器使用定时器//计数器设置串行通信的波特率时,计数器设置串行通信的波特率时,应把定时器应把定时器应把定时器//计数器1设定作方式 2 ,即 自动重新加载 方式。
1212、某、某8031串行口,传送数据的帧格式为1个起始位(个起始位(00),),77个数据位,据位,11个偶校验位和1个停止位(个停止位(11)组成。
当该串行口每分钟传送 1800个字符时,则波特率应为 300b/s 。
解答:串口每秒钟传送的字符为:解答:串口每秒钟传送的字符为:1800/60=301800/60=30个字符个字符//秒所以波特率为:所以波特率为:3030个字符个字符//秒×10位/个字符个字符=300b/s =300b/s 1313、、8051单片机的串行接口由发送缓冲积存器SBUF SBUF、、接收缓冲寄存器SBUF 、 串行接口控制寄存器SCON SCON、定时器、定时器T1构成的波特率发生器 等部件组成。
并行和串行接口
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)。
REN:允许串行接收控制位 REN=1,允许接收信息 REN=0,不允许接收信息 TB8:是工作方式2、工作方式3中,发送的第9位数据。它既可以作 为数据的奇偶校验位,也可以作为多机通讯中的地址帧或数据帧 的标志。 RB8: 是工作方式2、工作方式3中,接收的第9位数据。它既可以作 为约定的奇偶校验位,也可以作为多机通讯中的地址帧或数据帧 的标志。在工作方式1中,当SM2=0时,RB8的内容是已接收到的 停止位。在工作方式0中,不使用RB8。 TI:发送中断标志位。在工作方式0时,发送完8位数据后,由硬件 置TI=1,向CPU申请发送中断。CPU在响应中断后,要由软件置 TI=0。在其它工作方式时,在发送停止位开始时由硬件置TI=1, 并向CPU申请发送中断。CPU在响应中断后,也要由软件置TI=0。 RI:接收中断标志位。在工作方式0时,接收完8位数据后,由硬件 置RI=1,向CPU申请接收中断。CPU在响应中断后,要由软件置 RI=0。在其它工作方式时,在接收停止位的中途时由硬件置RI=1, 并向CPU申请发送中断。CPU在响应中断后,也要由软件置RI=0。 发送中断与接收中断是用同一中断源,在全双工通讯方式中,要用 软件来判别是发送中断请求还是接收中断请求。
7.2.1串行接口的结构接口
1.串行接口控制寄存器SCON 串行接口控制寄存器SCON的地址为98H,8个二 进制位。可以对串行接口的工作方式、接收发送和 串行接口的工作状态标志进行设置。其格式如下。
数据位 SCON 位地址
D7 SM0 9F
D6 SM1 9E
D5 SM2 9D
D4 REN 9C
7.2.1串行接口的结构接口
2.工作方式1 串行接口工作方式1为8位异步通讯接口,传送-帧数据有1O 位,1位起始位(低电平信号),8位数据位(先低位后高位),1位 起始位 8位数据 停止位 停止位(高电平信号)。其格式如下: 0 D0 D1 D2 D3 D4 D5 D6 D7 1
当把8位数据写入发送缓冲器SBUF,便启动串行接口发送数 据,数据由TXD端输出。串行接口能够自动地在数据的前后插入1 位起始位和1位停止位,组成10位一帧的数据,在发送移位脉冲的 作用下依次从TXD端发送。8位数据发送后,在停止位开始时使 TI=1,通知CPU发送下一帧数据。发送时的移位时钟是由定时器T1 送达的溢出信号经16或32分频(由SM0D位决定)取得,所以波特率 是可变的。
7.2.2串行接口的工作方式
通过对串行接口控制寄存器SCON的SM0、SM1二位的设定, 可以定义串行接口的4种工作方式。 1.工作方式0 串行接口工作方式0为同步移位寄存器输入输出方式,波特率 是固定的,为f0SC/12。串行数据由RXD(P3.0)端输入输出,同 步移位脉冲由TXD(P3.1)端输出,发送、接收8位数据,低位在 先。工作方式0不能用于串行同步通讯中,主要是使串行端口和 外接的移位寄存器结合起来扩展单片机的并行输入输出端口。 当要发送的数据写入串行口发送缓冲器SBUF时,串行口将8 位数据从RXD端输出,以工作方式0发送数据时,发送完数据后 置中断标志TI=1,TXD端输出同步脉冲。一帧数据发送完毕,各 控制端均恢复原状态,只有TI保持高电平,呈中断申请状态。在 下一次发送数据前,须由软件将TI清零。 当要接收数据时,在REN=1、RI=0的条件下,便启动串行 口接收数据。此时RXD为串行输入端,TXD为同步脉冲输出端。 接收到一帧数据后,置中断标志RI=l,呈中断申请状态,再次接 收数据,须由软件将TI清零。
第7章 串行接口
7.1串行通信概念
通信系统包括数据传送端、数据接收端、数据转换 接口和传送数据的线路。单片机、PC机、工作站都可 以作为传送、接收数据的终端设备。数据在传送过程 中常常需要经过一些中间设备,这些中间设备称为数 据交换设备,负责数据的传送工作。数据在通信过程 中,由数据的终端设备传送端送出数据,通过调制解 调器把数据转换为一定的电平信号,在通信线路上进 行传输。通信信息被传输到计算机的接收端时,同样, 也需要通过调制解调器把电平信号转换为计算机能接 受的数据,数据才能进入计算机。计算机在通信过程中
7.2.1串行接口的结构接口
2. 电源控制寄存器PCON 电源控制寄存器PCON的地址为87H,没有位寻 址功能。可以对单片机实现电源控制管理,其中有一位 对串行接口的工作实现控制。其格式如下。
数据位 D7 D6 D5 D4 D3 D2 D1 D0
PCON
SMOD
GF1
GF0
PD
IDL
其中PCON.7位SMOD,为波特率倍增位,当 SMOD=1时,使串行接口的波特率加倍。其余几位 用于电源的控制。
起始位 8位数据 停止位 在REN=1时,接收器以所选波特率的16倍速采样RXD端的状 态,接收移位脉冲的频率和发送频率相同。在没有信号到来之前, RXD端状态为1。当采样到RXD端从1到0的跳变时就启动接收器接 收,先复位内部16位分频计数器,实现时间同步。在接收过程中, 接收到的值是3次采样中至少二次相同的值,以保证输入的数据可 靠无误。 接收完一帧数据后,在RI=0、SM2=0或接收到的停止位为1, 则接收数据有效,将接收移位寄存器内的数据装入SBUF中,停止 位装入SCON寄存器的RB8中,并置RI=1。若不能满足RI=0、 SM2=0或接收到的停止位为1的条件,则接收的数据丢失。中断标 志RI必须由软件清零。
通常使用RS-232接口,通信线路常用双绞线、同轴电缆、光纤 或无线电波。数据通信的方式有两种,一种为并行通信,另一 种为串行通信。通常根据通信的距离和具体要求决定采用何种 通信的方式。一般当通信的距离在15m 到30 m之内,可以采用 并行通信方式或串行通信方式,当通信的距离在30m以上时, 应采用串行通信方式。MCS-51系列单片机具有并行通信和串 行通信两种方式,给单片机在通信中的应用带来极大的方便。
7.2 串行接口的工作方式
在MCS-51单片机芯片内部有一个全双工 的串行口,它可以通过单片机内部的定时器/计 数器和串行口控制寄存器,用软件设置的方式 以4种工作模式和不同的波特率进行工作。
7.2.1串行接口的结构接口
在MCS-51单片机内部的串行接口,有二个 物理上独立的发送缓冲器和接收缓冲器。发送缓 冲器只能写入信息,不能被读出,用于发送信息。 接收缓冲器只能读出信息,不能被写入,用于接 收信息。这两个缓冲器共用一个地址:99H。另 外,在串行接口内部还有二个特殊的寄存器 SCON、PCON,用于控制串行接口的工作方式 和波特率。
MCS-51 单片机(1)
MCS-51 单片机(2)
RXD TXD GND
TXD RXD GND
7.1串行通信概念
在串行通信时,计算机内部的并行数据传送到内部移位寄存器 中,然后数据被逐位移出形成串行数据,通过通信线传送到接收端, 再将串行数据逐位送入移位寄存器后转换成并行数据存放在计算机 中。进行串行通信的接收端和发送端的计算机,必须有一些约定, 必须有相同的传送速率和采用统一的编码方法,接收端的计算机必 须知道发送端的计算机发送了哪些信息,发送的信息是否正确,如 果有错如何通知对方重新发送。发送端的计算机必须知道接收端的 计算机是否正确接收到信息,是否需要重新发送,这些约定叫做串 行通信协议或规程。通信的双方遵守了这些协议才能正确地进行数 据通信。 串行异步通信时,数据是一帧一帧传送的,不需要同步时钟, 通信方法的示意图如图7.3所示。
第7章 串行接口的工作方式 7.3 串行接口的波特率 7.4 串行接口的应用 7.5 思考题与习题
计算机之间的通信有并行通信和串行通信两种。串 行通信是一位一位传送数据的,由于串行通信只需要二 根传送线,特别适用于长距离通信。在串行通信中,通 信的快慢用波特率来表示,在不同的工作模式下,波特 率的设置方式也不同,只有正确进行波特率的设置,才 能进行可靠的数据通信。串行通信的总线标准有多种, 有RS一232C、RS—422、RS一485以及2OmA电流环。 RS一232C是最常用的串行接口标准。.MCS一51系列 单片机内部有一个全双工的异步通信I/O口,波特率和 帧的格式可以通过软件编程来设置。它的串行通信口有 四种工作模式:方式0、方式1、方式2和方式3。帧的格 式有1O位、11位两种。MCS一51系列单片机的串行通 信有着广泛的应用。可以实现单片机与单片机之间或单 片机与PC机之间的串行通信,也可以使用单片机的串 行通信接口,实现键盘输入和LED、LCD显示器的输出 控制,简化电路,节约单片机的硬件资源。应用串行通 信接口,还可以进行远程参数检测和控制。
7.1串行通信概念
在并行通信中,数据的所 有位是同时进行传送的。它的 特点是数据传送的速度快,缺 点是需要比较多的传送数据线, 有多少位数据就需要多少根线, 而且数据传送的距离有限,在 MCS-51 单片机中,一般常常应用于 单片机 CPU与LED、LCD显示器的 连接,或CPU与A/D、D/A转 换器之间的数据传送等并行接 口方面。图7.1所示为MCS51系列单片机与外部设备之 间的数据并行通信的连接方法。
D3 TB8 9B
D2 RB8 9A
D1 TI 99
D0 RI 98
7.2.1串行接口的结构接口
其中: SM0、SM1:用于控制串行接口的工作方式 SM0、SM1=00,定义为串行接口工作方式0,移位寄存 器方式,用于I/O口扩展; SM0、SM1=01,定义为串行接口工作方式1,8位UART, 波特率可变; SM0、SM1=10,定义为串行接口工作方式2,9位UART, 波特率为fosc/64或fosc/32; SM0、SM1=11,定义为串行接口工作方式3,9位UART, 波特率可变; SM2:用于方式2、方式3时的多机通讯控制 SM2=1,允许多机通讯。多机通讯规定,在方式2、方式 3的情况下,接收第9位数据D8=1,表示本帧为地址值,若 D8=0,表示本帧为数据值,不使RI=1。在方式1的情况下, 按接收到有效的停止位时,使RI=1。 SM2=0,在方式0时,必须使SM=0