单片机基础 第八章 单片机串行数据通信
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MCS-51系列 单片机的串行口既用于网络通信, 也可以实现串行异步通信,还可以作为同步移位寄存 器使用.
8.2.1 串行口寄存器结构
有两个串行口的缓冲寄存器(SBUF),一个是发送 寄存器,一个是接收寄存器.
串行发送时,从片内总线向发送SBUF写入数据; 串行接收时,从接收SBUF向片内总线读出数据.两个 寄存器赋以同一地址(99H).
SM2=1, 若RB8=1,则将接收到的前8位数据送入SBUF,
并置位RI产生中断请求;否则将接收到的前8位数据丢弃.
SM2=0, 不论RB8为何值,都将前8位数据装入SBUF.
3.REN—允许接收位 REN=0 禁止接收 REN=1 允许接收
4.TB8—发送数据位8 在方式2和方式3时(多机通信),TB8的内容是要发送的
把能实现“并入串出”功能的移位寄存器与串行口 配合使用(REN=1),就可以把串行口变为并行输入口使 用.
并行输入
80C51
RXD TXD
Q8 CLK
CD4014 P/S
P1.0
MOV A , SBUF
图8.9 串行口与CD4014配合
移位操作(串入或串出)的波特率是固定的,为单 片机晶振频率的十二分之一,波特率=fosc/12. 2.应用举例
串行通信又分为异步和同步两种方式.在单片机 中使用的串行通信都是异步方式.
数数
数奇 停
据据 位位
据偶 止 位位 位
1
起 (0) (1) 始
… … (n-1)
起 始
位
位
0
………
帧
图 8.1 异步串行通信的字符格式
串行通信的数据的通路形式
• 单工形式 • 双工形式 • 半双工形式
1波特=1bps(位/秒)
MOV SBUF, A
TI(发送中断)
发送SBUF(99H)
TXD串行输出 (P3.1)
移
80C51内部总线
位
时 钟
接收SBUF(99H)
MOV A, SBUF
输入移位寄存器
RXD串行输入 (P3.0)
RI(接收中断)
图8.7 MCS-51串行口寄存器结构
8.2.2 串行通信控制寄存器
1.串行通信控制寄存器SCON 单元地址98H,位地址9FH~98H.
在其它方式下,于发送停止位之前,由硬件置位.TI=1 表示帧发送结束,其状态既可供软件查询使用,也可 请求中断.TI位由软件清“0”. 7.RI---接收中断标志
当方式0时,接收完第8位数据后,该位由硬件置位. 在其它方式下,当接收到停止位时,该位由硬件置位. RI=1,表示帧接收结束.其状态既可供软件查询使用, 也可请求中断.RI位由软件清“0”.
…… D0 D1 D2 D3 D4 D5 D6 D7 ……
1.数据发送与接收
方式0实际上是把串行口变成为并行口使用.串
行口作为并行输出口使用时,要有“串入并出”的移
位 寄存器配合.
并行输出
80C51
RXD TXD
DATA CLK
CD4094 STB
P1.0
MOV SBUF, A
图8.8 串行口与CD4094配合
工作方式
功能简述
方式0 8位同步移位寄存器
方式1
10位UART
方式2
11位UART
方式3
11位UART
波特率
Fosc/12 可变
Fosc/32或Fosc/64 可变
方式1和方式3的波特率是由定时器T1的溢出率控控制.
8.3.1 串行工作方式0
把串行口作为同步移位寄存器使用,以RXD(P3.0) 端作为数据移位的入口和出口,由TXD(P3.1)端提供 移位时钟脉冲.
第9位数据.一般约定:TB8=0为数据帧,TB8=1为地址帧. 在双机通信(方式1)时,TB8一般作为奇偶检验位使用.该位 用软件来置位或清零(CLR和SETB). 5.RB8—接收数据位8
在方式2和方式3时(多机通信),RB8存放接收到的第9 位数据.
6.TI---发送中断标志 当方式0时,发送完第8位数据后,该位由硬件置位.
第八章 单片机串行数据通信
8.1 串行通信基础知识 8.1.1 串行通信基本原理
并行数据传送的特点是:各数据同时传送, 传送速度快,效率高.但并行数据传送有多少位就 需多少根数据线,因此传送成本高.并行数据传送 的距离通常小于30米,在计算机内部的数据传送 都是并行的.
串行数据传送的特点是:数据传送按位顺序进行, 最少只需一根传输线即可完成,成本低但速度慢.计算 机与外界的数据传送大多数是串行的,其传送的距离 可以从几米到几千公里.
8.1.2 串行接口电路
串行数据通信主要有两个技术问题.一是数据传 送,另一个是数据转换.
数据转换(串并行转换)是通过串行接口电路 (通用异步接收发送器(UART))来实现的.一个串行接 口电路应包括发送器电路、接收器电路和控制器电 路等内容.
UART的功能:
1.数据的串行化/反串行化 串行化就是把并行数据格式变换为串行数据格
位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 位符号 SM0 SM1 SM2 REN TB8 RB8 TI RI
1. SM0,SM1----串行口工作方式选择
SM0SM1 工作方式
•
பைடு நூலகம்00
方式0
•
01
方式1
•
10
方式2
•
11
方式3
2. SM2----多机通信控制位(方式2和方式3)
3. 电源控制寄存器PCON
位序 B7 B6 B5 B4 B3 B2 B1 B0 位符号 SMOD / / / GF1 GF0 PD ID
SMOD是串行口波特率的倍增位,当SMOD=1时, 串行口波特率加倍.系统复位时,SMOD=0.
3.中断允许寄存器IE
位 0AFH 地 址
位 EA 符 号
0AEH /
0ADH /
0ACH 0ABH 0AAH 0A9H 0A8H ES ET1 EX1 ET0 EX0
其中: ES为串行中断允许位: ES=0 禁止串行中断 ES=1 允许串行中断
8.3 MCS-51单片机串行通信工作方式 MCS-51单片机的串行口共有4种工作方式
SM0SM1 00 01 10 11
式,即按帧格式要求把格式信息(起始位,奇偶位和停 止位)插入,和数据位一起构成串行数据的位串,然后 进行串行数据的传送(由发送器完成).
反串行化就是把串行数据格式变换为并行数据 格式,即把帧中的格式信息滤除而保留数据位(由接 收器完成).
2.错误检验 错误检验的目的在于检验数据通信过程是否正
确.
8.2 MCS-51 单片机的串行口及控制寄存器
8.2.1 串行口寄存器结构
有两个串行口的缓冲寄存器(SBUF),一个是发送 寄存器,一个是接收寄存器.
串行发送时,从片内总线向发送SBUF写入数据; 串行接收时,从接收SBUF向片内总线读出数据.两个 寄存器赋以同一地址(99H).
SM2=1, 若RB8=1,则将接收到的前8位数据送入SBUF,
并置位RI产生中断请求;否则将接收到的前8位数据丢弃.
SM2=0, 不论RB8为何值,都将前8位数据装入SBUF.
3.REN—允许接收位 REN=0 禁止接收 REN=1 允许接收
4.TB8—发送数据位8 在方式2和方式3时(多机通信),TB8的内容是要发送的
把能实现“并入串出”功能的移位寄存器与串行口 配合使用(REN=1),就可以把串行口变为并行输入口使 用.
并行输入
80C51
RXD TXD
Q8 CLK
CD4014 P/S
P1.0
MOV A , SBUF
图8.9 串行口与CD4014配合
移位操作(串入或串出)的波特率是固定的,为单 片机晶振频率的十二分之一,波特率=fosc/12. 2.应用举例
串行通信又分为异步和同步两种方式.在单片机 中使用的串行通信都是异步方式.
数数
数奇 停
据据 位位
据偶 止 位位 位
1
起 (0) (1) 始
… … (n-1)
起 始
位
位
0
………
帧
图 8.1 异步串行通信的字符格式
串行通信的数据的通路形式
• 单工形式 • 双工形式 • 半双工形式
1波特=1bps(位/秒)
MOV SBUF, A
TI(发送中断)
发送SBUF(99H)
TXD串行输出 (P3.1)
移
80C51内部总线
位
时 钟
接收SBUF(99H)
MOV A, SBUF
输入移位寄存器
RXD串行输入 (P3.0)
RI(接收中断)
图8.7 MCS-51串行口寄存器结构
8.2.2 串行通信控制寄存器
1.串行通信控制寄存器SCON 单元地址98H,位地址9FH~98H.
在其它方式下,于发送停止位之前,由硬件置位.TI=1 表示帧发送结束,其状态既可供软件查询使用,也可 请求中断.TI位由软件清“0”. 7.RI---接收中断标志
当方式0时,接收完第8位数据后,该位由硬件置位. 在其它方式下,当接收到停止位时,该位由硬件置位. RI=1,表示帧接收结束.其状态既可供软件查询使用, 也可请求中断.RI位由软件清“0”.
…… D0 D1 D2 D3 D4 D5 D6 D7 ……
1.数据发送与接收
方式0实际上是把串行口变成为并行口使用.串
行口作为并行输出口使用时,要有“串入并出”的移
位 寄存器配合.
并行输出
80C51
RXD TXD
DATA CLK
CD4094 STB
P1.0
MOV SBUF, A
图8.8 串行口与CD4094配合
工作方式
功能简述
方式0 8位同步移位寄存器
方式1
10位UART
方式2
11位UART
方式3
11位UART
波特率
Fosc/12 可变
Fosc/32或Fosc/64 可变
方式1和方式3的波特率是由定时器T1的溢出率控控制.
8.3.1 串行工作方式0
把串行口作为同步移位寄存器使用,以RXD(P3.0) 端作为数据移位的入口和出口,由TXD(P3.1)端提供 移位时钟脉冲.
第9位数据.一般约定:TB8=0为数据帧,TB8=1为地址帧. 在双机通信(方式1)时,TB8一般作为奇偶检验位使用.该位 用软件来置位或清零(CLR和SETB). 5.RB8—接收数据位8
在方式2和方式3时(多机通信),RB8存放接收到的第9 位数据.
6.TI---发送中断标志 当方式0时,发送完第8位数据后,该位由硬件置位.
第八章 单片机串行数据通信
8.1 串行通信基础知识 8.1.1 串行通信基本原理
并行数据传送的特点是:各数据同时传送, 传送速度快,效率高.但并行数据传送有多少位就 需多少根数据线,因此传送成本高.并行数据传送 的距离通常小于30米,在计算机内部的数据传送 都是并行的.
串行数据传送的特点是:数据传送按位顺序进行, 最少只需一根传输线即可完成,成本低但速度慢.计算 机与外界的数据传送大多数是串行的,其传送的距离 可以从几米到几千公里.
8.1.2 串行接口电路
串行数据通信主要有两个技术问题.一是数据传 送,另一个是数据转换.
数据转换(串并行转换)是通过串行接口电路 (通用异步接收发送器(UART))来实现的.一个串行接 口电路应包括发送器电路、接收器电路和控制器电 路等内容.
UART的功能:
1.数据的串行化/反串行化 串行化就是把并行数据格式变换为串行数据格
位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 位符号 SM0 SM1 SM2 REN TB8 RB8 TI RI
1. SM0,SM1----串行口工作方式选择
SM0SM1 工作方式
•
பைடு நூலகம்00
方式0
•
01
方式1
•
10
方式2
•
11
方式3
2. SM2----多机通信控制位(方式2和方式3)
3. 电源控制寄存器PCON
位序 B7 B6 B5 B4 B3 B2 B1 B0 位符号 SMOD / / / GF1 GF0 PD ID
SMOD是串行口波特率的倍增位,当SMOD=1时, 串行口波特率加倍.系统复位时,SMOD=0.
3.中断允许寄存器IE
位 0AFH 地 址
位 EA 符 号
0AEH /
0ADH /
0ACH 0ABH 0AAH 0A9H 0A8H ES ET1 EX1 ET0 EX0
其中: ES为串行中断允许位: ES=0 禁止串行中断 ES=1 允许串行中断
8.3 MCS-51单片机串行通信工作方式 MCS-51单片机的串行口共有4种工作方式
SM0SM1 00 01 10 11
式,即按帧格式要求把格式信息(起始位,奇偶位和停 止位)插入,和数据位一起构成串行数据的位串,然后 进行串行数据的传送(由发送器完成).
反串行化就是把串行数据格式变换为并行数据 格式,即把帧中的格式信息滤除而保留数据位(由接 收器完成).
2.错误检验 错误检验的目的在于检验数据通信过程是否正
确.
8.2 MCS-51 单片机的串行口及控制寄存器