单片机教程_-串口通信

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RI=1 1111 1111 RxD 1 1 1 1 1 1 1 1 SBUF
7、TI 发送中断标志(必须由软件清除) 在方式0中串行发送第8位结束时自动置位。 在方式1、2、3中串行发送停止位的开始时置位。
电源控制寄存器PCON
PCON D7 D6 D5 D4 D3 D2 D1 D0
位名称
SMOD
串行口控制寄存器SCON(98H)
3、REN
允许串行接收位,由软件置/复位
1:允许接收
0:不允许接收 4、TB8 在方式2、3中要发送的第九位数据,由软件置/复位 5、RB8 在方式2、3中是接收的第九位数据
在方式0中不用RB8。
串行口控制寄存器SCON(98H)
6、RI 接收中断标志(必须由软件清除) 在方式0中串行接收到第8位结束时自动置位。 在方式1、2、3中串行接收到停止位的中间时置位。
9.1
串行通信基础
因此要在发送端用调制器 (Modulator) 把数字 信号转换为模拟信号,在接收端用解调器 (Demodulator) 检测此模拟信号 , 再把它转换成数 字信号,如图所示。
9.2
MCS-51单片机串行接口
51 单片机内部有一个功能很强的全双工串行 口,可同时发送和接收数据。它有四种工作方式,
半双工:对讲机
9.1
串行通信基础
3、全双工制式
全双工制式是指通信双方均设有发送器和接 收器,并且信道划分为发送信道和接收信道,因此 全双工制式可实现甲乙双方同时发送和接收数据, 发送时能接收,接收时也能发送。
双工:电话
9.1
串行通信基础
9.1.3 调制解调器 计算机通信是一种数字信号的通信 , 如图所示。 它要求传送线的频带很宽 , 而在长距离通讯时 , 通 常是利用电话线来传送的 ,该线不可能有这样宽的 频带。如果用数字信号经过传送线直接通讯 ,信号 就会畸变。
示字符的结束。异步传送的字符格式如图所示。 ①字符帧:也叫数据帧,由起始位、数据位、奇 偶校验位和停止位4个部分组成。
9.1
串行通信基础
9.1
串行通信基础
②波特率:就是数据的传送速率 ,即每秒钟传送的 二进制位数,单位:位/秒。 说明:要求发送端与接收端的波特率必须一 致。波特率越高,传送速度越快。
9.2
MCS-51单片机串行接口
3、方式2 该方式为11位异步通信接口。
①方式 2 发送:发送数据由 TXD 端输出 , 发送 1
帧信息为 11 位 , 其中 1 位起始位 (0) 、 8 位数据位
(先低位后高位)、1位可控位为1或0的第9位数据、
1位停止位。附加的第9位数据为SCON中的TB8,它 由软件置位或清 0,可作为多机通信中地址 /数据 信息的标志位,也可作为数据的奇偶校验位。
;清0接收中断标志 ;接收数据 ;取奇偶校验位 ;偶校验时转L1 ;奇校验时RB8为0转出错处理
9.1
串行通信基础
下图为以上两种通信方式的示意图。由图可知, 假设并行传送N位数据所需时间为T,那么串行传送 的时间至少为NT,实际上总是大于NT的。
9.1
串行通信基础
9.1.1
串行通信的分类
1、异步通信
异步传送的特点是数据在线路上的传送不连
续。在传送时,数据是以一个字符为单位进行传送
的。它用一个起始位表示字符的开始,用停止位表
9.2
MCS-51单片机串行接口
方式 1所传送的波特率取决于定时器 T1的溢出 率和特殊功能寄存器 PCON 中 SMOD 的值 , 即方式 1 的
波特率=(2SMOD/32)×定时器T1的溢出率。
②方式 1 接收:当串行口置为方式 1, 且 REN=1 时 , 串行口处于方式 1 输入状态。它以所选波特率 的16倍的速率采样RXD引脚状态。
9.2
MCS-51单片机串行接口
②方式 2 接收:当串行口置为方式 2, 且 REN=1 时,串行口以方式2接收数据。方式2的接收与方式
1 基本相似。数据由 RXD端输入 ,接收 11位信息 , 其
中1位起始位(0)、8位数据位、1位附加的第9位数
据、1位停止位(1)。
方式2的波特率=(2SMOD/64)×fosc
SCON 用来控制串行口的工作方式和状态(可 位寻址)。在复位时所有位被清0,字地址为98H。
PCON 主要是为 CHMOS 型单片机的电源控制而设 置的专用寄存器,单元地址为87H,不能位寻址。 SCON、PCON的格式和内容如下图。
串行口控制寄存器SCON(98H)
1、SM0、SM1 控制串行口方式



GF1
GF0
PD
IDL
SMOD=1,串行口波特率加倍。PCON寄存器不能进行位寻址。
☞ SMOD:在串行口工作方式 1、2、3 中,是波特
率加倍位
=1 时,波特率加倍 =0 时,波特率不加倍。 (在PCON中只有这一个位与串口有关)
9.2
MCS-51单片机串行接口
9.2.2
串行口的工作方式 51 的串行口有四种工作方式 , 它是由 SCON 中的
例:设字符传送的速率为 120 字符/秒,而每1个字符 为10位,那么传送的波特率为:10位/字符×120字 符/秒=1200位/秒=1200波特。每1位二进制位的传 送时间Td就是波特率的倒数, 例中:Td=1/1200=0.833ms
9.1
串行通信基础
2、同步通信 在异步传送中 ,每一个字符都要用起始位和停 止位作为字符开始和结束的标志,占用了一定的时 间。为了提高传送速度 ,有时就去掉这些标志 , 而 采用同步传送 ,即 1次传送 1组数据。在这 1组数据 的开始处要用同步字符SYN来加以指示,如图示:
SM0、SM1来定义的,如下表和下屏表格所示。
SM0 SM1 工作方式 功 能 简 述 波特率
0 0 1 1
0 1 0 1
方式0 方式1 方式2 方式3
8位 同步移位寄存器 10位 UART 11位 UART 11位 UART
fosc/12 可变
fosc/32或/64
可变
9.2
MCS-51单片机串行接口 工作方式 说 明 波特率
fOSC 2 SMOD 64
T 1溢出率2 SMOD 32
9.2
MCS-51单片机串行接口
1、方式0
为同步移位寄存器方式 ,其波特率是固定的,为fosc(振 荡频率)的1/12。 ①方式0发送:数据从RXD引脚串行输出,TXD引脚输出同步 脉冲。当 1 个数据写入串行口发送缓冲器时 , 串行口将 8位 数据以fosc/12的固定波特率从RXD引脚输出,从低位到高位。 发送完后置中断标志 TI 为1, 呈中断请求状态 ,在再次发送 数据之前,必须用软件将TI清0。
SM0 SM1
0 0 1 1
0 1 0 1
方式0 (扩展I/O口) 方式1 (常用)
方式2 (不常用) 方式3 (常用)
移位输入/输出(用于 扩展I/O引脚)方式
为 fosc( 振荡频 率)的1/12。
波特率可变的8位异 T 1溢出率 2 SMOD 步串行通信方式 32
波特率固定的9位异 步串行通信方式 波特率可变的9位异 步串行通信方式
若附加的第 9 位数据为奇偶校验位 , 在接收中
断服务程序中应作检验处理,参考程序如下:
9.2
MCS-51单片机串行接口
方式2中使用RB8作为接收数据的奇偶校验位, 接收程序如下:
PIPL: PUSH PUSH CLR MOV MOV JNC JNB SJMP JB MOV INC POP POP RETI … RETI PSW ACC RI A,SUBF C,P L1 RB8,ERR L2 RB8,ERR @R0,A R0 ACC PSW ;保护现场
9.2
MCS-51单片机串行接口
说明: 在方式 0工作时 ,必须使 SCON 寄存器中的 SM2位
为“ 0”,这并不影响 TB8位和 RB8位。方式0发送或
接收完 8 位数据后由硬件置位 TI 或 RI 中断请求标
志 ,CPU 在响应中断后要用软件清除 TI 或 RI 标志。
若串行口要作为并行口输入输出 , 这时必须设置 “串入并出“或”并入串出”的移位寄存器来配
合使用(如74HC164或74串行接口
2、方式1 该方式为波特率可变的8位异步通信接口。
①方式 1 发送:数据位由 TXD 端输出 , 发送 1 帧 信息为10位,其中1位起始位、8位数据位(先低位 后高位)和一个停止位“1”。
CPU执行 1条数据写入发送缓冲器 SBUF的指令 , 就启动发送器发送。当发送完数据 ,就置中断标 志TI为1。
可供不同场合使用。波特率由软件设置,通过片内
的定时/计数器产生。接收、发送均可工作在查询
方式或中断方式,使用十分灵活。
51的串行口除了用于数据通信外 ,还可以非常
方便地构成 1 个或多个并行输入 / 输出口或作串并
转换,用来驱动键盘与显示器。
51单片机的串行接口硬件结构
SBUF (发) A 累 加 器 波 特 率 发 生 器
串行口对外也有两条独立的收发信号线 RXD(P3.0) 和 TXD(P3.1), 因此可以同时发送、接收数据 , 实现全双工传 送。
9.2
MCS-51单片机串行接口
②发送和接收过程都是在发送和接收时钟控制下 进行的,必须与设定的波特率保持一致。 一般, 51 单片机的串口时钟是由内部定时器 的溢出率经16分频后提供。 2、串行口控制寄存器SCON、PCON
9.2
MCS-51单片机串行接口
方式2中使用TB8作为发送数据的奇偶校验位, 发送程序如下: PIPL: PUSH PUSH CLR MOV MOV MOV MOV INC POP POP RETI PSW ACC TI A,@R0 C,P TB8,C SBUF,A R0 ACC PSW ;保护现场 ;清0发送中断标志 ;取数据 ;奇偶位送C ;奇偶位送TB8 ;数据写入发送缓冲器,启动发送 ;数据指针加1 ;恢复现场 ;中断返回
9.1
串行通信基础
9.1.2
串行通信的制式 串行通信的数据传送方向有三种形式。
1、单工制式(Simplex) 单工制式是指甲乙双方通信时只能单向传送数据, 发送方和接收方固定。
单工: 广播
9.1
串行通信基础
2、半双工制式 半双工制式是指通信双方都具有发送器和接收器,既 可发送也可接收,但不能同时接收和发送,发送时不能接 收,接收时不能发送。
SM0 SM1 工作方式 功 能 简 述 波特率
0 0 1 1
0 1 0 1
方式0 方式1 方式2 方式3
8位 同步移位寄存器 10位 UART 11位 UART 11位 UART
fosc/12 可变
fosc/32或/64
可变
2、SM2 允许方式2、3的多机通讯特征位 在方式2、3中若SM2=1→表示接收的第九位数据 (RB8)为1时,激活RI。 在方式0,1中SM2必须为0。
T1
移位寄存器
引脚 TxD P3.1
发送控制器 TI
CPU 内 部
+
接收控制器 RI
去申请中断
SBUF (收)
引脚 移位寄存器
RxD P3.0
9.2
MCS-51单片机串行接口
1、发送和接收电路 ①SBUF 是两个在物理上独立的接收、发送缓冲器 , 可同时 发送、接收数据。两个缓冲器只用一个字节地址99H,可通 过指令对SBUF的读写来区别是对接收缓冲器的操作还是对 发送缓冲器的操作。 MOV SBUF,A MOV A,SBUF ;CPU写SBUF,就是修改发送缓冲器; ;CPU读SBUF,就是读接收缓冲器。
第9章:串口通信 并行
本章基本要求:
⑴ 基本概念
并行 串行
串行
串行
⑵ 51的串行接口* ⑶ 串行接口的应用* 通 信
1位
串行
9.1
串行通信基础
所谓“通信”是指计算机与其他设备之间进 行的信息交换。 通信的方式分为并行通信和串行通信两种。 并行通信 是构成一组数据的各位同时进行传 送,例如8位数据或16位数据并行传送。 其特点是传输速度快 , 但当距离较远、位数又 多时导致了通信线路复杂且成本高。 串行通信 是数据一位接一位地顺序传送。其 特点是通信线路简单,只要一对传输线就可以实现 通信(如电话线),可大大地降低成本,适用于远距 离通信。缺点是传送速度慢。
9.2
MCS-51单片机串行接口
②方式0接收:在满足REN=1(允许接收)、RI=0的 条件下,串行口处于方式0输入。此时,RXD为数据输 入端,TXD为同步信号输出端,接收器也以fosc/12的 波特率采样RXD引脚输入的数据信息。当接收器接 收完8位数据后,置中断标志RI=1为请求中断,在再 次接收之前,必须用软件将RI清0。
相关文档
最新文档