8051串行口及串行通信技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
74LS164
wk.baidu.com
h g f e d c b a
74LS164
51单片机
共阳LED 数码管
+5V
74LS164是串入并出芯片;74LS165是并入串出芯片
《单片微机原理及应用》教学课件
共阳LED数码管 公共端(字位) 接高电平, 笔划(字段) 置为低电平 就被点亮了 ☞比如要显示“0” 须令a b c d e f 为“0” 电平,g h为“1”电平。
《单片微机原理及应用》教学课件
·TI-发送中断标志。在方式0中,当发送完第8 位后由硬件将该位置位。而在其它工作方式中, 则在开始发送停止位时将TI位, 但必须由软件清0。 TI=1,表示发送SBUF空;TI=0,CPU正在发 送数据。 ·RI-接收中断标志。在方式0中,当接收完第8 位数据后由硬件将该位置位。而在其它工作方 式中,在接收到停止位时,由硬件将RI置位 (其它的规定见SM2控制位)。 该位须由软件清0。 RI=1,表示一帧数据接收结束,并已装入接 收SBUF;RI=0,接收SBUF空。
《单片微机原理及应用》教学课件
三、串行口工作方式
方式0为移位寄存器方式,也称为同步 方式。它通过RXD端(P3.0)串行发送或接 收数据,而用TXD端(P3.1)输出移位脉冲, 作为外接部件的同步信号。数据的传送以8 位为一帧。无论是发送或接收,都是最低有 效位LSB居先,传送的波特率固定为振荡频 率的12分之一。
《单片微机原理及应用》教学课件
工作方式0:8位移位寄存器I/O方式
☞发送:SBUF中的串行数据由RxD逐位移出; TxD输出移位时钟,频率=fosc1/12; 每送出8位数据 TI就自动置1; 需要用软件清零 TI。 ☞接收:串行数据由RxD逐位移入SBUF中; TxD输出移位时钟,频率=fosc1/12; 每接收 8位数据RI就自动置1; 需要用软件清零 RI。
《单片微机原理及应用》教学课件
工作方式0:8位移位寄存器I/O方式(续)
☞经常配合“串入并出”“并入串出”移位 寄存器一起使用扩展接口(第六章)。 ☞方式0工作时,多用查询方式编程: 发送:MOV SBUF,A 接收:JNB RI,$ JNB TI,$ CLR RI CLR TI MOV A, SBUF ☞复位时,SCON 已经被清零,缺省值: 方式0。 ☞接收前,务必先置位 REN=1 允许接收数据。
《单片微机原理及应用》教学课件
串行口内部有两个物理上独立的接收、发送缓 冲器SBUF,它们占用同一地址99H,可同时发送、接 收数据。 串行口内的接收器采用的是双缓冲结构,它能 够在接收支的第一个字节从接收寄存器读走之前就 开始接收第二个字节(当然,如果第二个字节接收 完毕,而第一个字节仍然没有被读走,第二个字节 将被丢掉)。
《单片微机原理及应用》教学课件
方式1为标准异步通信方式,它通过TXD端发送数 据,RXD端接收数据,通信格式为每帧10位,其中包 括有8个数据位(先低位后高位),一个起始位(0), 一个停止位(1)。波特率可调:在8051中,波特率 由T1溢出率决定;在8052中,波特率由T1或T2的溢出 率决定。 ①方式1的发送 方式1的发送是由CPU向SBUF写入一个数据开始的。 当发出“写SBUF”信号时,启动发送器开始发送。当 SEND有效时,发送开始,首先将起始位送出TXD端; 此后每经过一个TX时钟周期,产生一个移位脉冲,并 由TXD输出一个数据位;8位数据全部发送完后,置位 TI,并申请置TXD为1作为停止位,再经一个TX时钟周 期, SEND无效。
2、电源控制寄存器 PCON(97H) ——特殊功能寄存器PCON不能按位寻址
PCON
SMOD
—
—
—
GF1
GF0
PD
1DL
☞ SMOD:在串行口工作方式 1、2、3 中, 是波特率加倍位 =1 时,波特率加倍 =0 时,波特率不加倍。 (在PCON中只有这一个位与串口有关)
☞ GF1,GF0:用户可自行定义使用的通用标志位 PD(PCON.1):掉电方式位。当PD=1时,激活 8051掉电工作方式。 IDL(PCON.0):空闲方式位。当IDL=1时,激 活8051空闲工作方式。
一、51单片机的串行口结构
SBUF (发) A 累 加 器 波 特 率 发 生 器
T1
引脚 (门)移位寄存器 TxD 发送控制器 TI
CPU
内 部
1
接收控制器 RI
去申请中断
SBUF (收)
引脚 移位寄存器
RxD
《单片微机原理及应用》教学课件
串行口的结构 ☞两个同名的接收/发送缓冲寄存器SBUF 指令 MOV SBUF,A 启动一次数据发送,可向SBUF 再发送下一个数 指令 MOV A,SBUF 完成一次数据接收,SBUF可再 接收下一个数 ☞接收/发送数据,无论是否采用中断方式 工作,每接收/发送一个数据都必须用指 令对 RI/TI 清0,以备下一次收/发。 ☞串行口相关的SFR(SCON,PCON)
例1:利用串行口工作方式0扩展出8位并行I/O口, 驱动共阳LED数码管显示0—9。
+5V
VCC TxD RxD
A B
CLK
CLR
h g f e d c b a
74LS164
51单片机
共阳LED 数码管
《单片微机原理及应用》教学课件
根据上图编写的通过串行口和 74LS164 驱动共阳LED数码管 (查表)显示0-9数字的子程序:
《单片微机原理及应用》教学课件
串行口方式0的扩展应用——经常用到 串行口常用工作方式0扩展出并行I/O口, 工作方式1、2、3则常用于串行通信
VCC TxD RxD
+5V
A B A B A B CLK CLK CLK
CLR
CLR
CLR
h g f e d c b a
74LS164
h g f e d c b a
PCON
SMOD
—
—
—
GF1
GF0
PD
1DL
☞ PD:掉电控制位 =0:常规方式。 =1:掉电方式: 振荡器停振 片内RAM和SRF不变 P0—P3口维持原状 程序停止 只有复位能退出掉电
☞ IDL:待机控制位 =0:常规方式。 =1:待机方式: 振荡器继续振荡 中断,定时器,串口有效 片内RAM和SRF不变 CPU状态,P0—P3维持原状 程序停顿。 中断和复位能退出待机,继 续后面的程序。
h g f e d c b a
a
f
e
g d
共阳极
b
c h
累加器 A h g f e d c b a 1 1 0 0 0 0 0 0 0C0H = “0” 1 0 1 1 0 0 0 0
☞再比如要显示“3” 须令a b c d g 为“0” 电平,e f h为“1”电平。
0B0H = “3”
《单片微机原理及应用》教学课件
7.2
串行口及应用
8051单片机内部的串行口是一个全双工的串行 通信接口,即能同时进行串行发送和接收数据。它 可以作UART(通用异步接收和发送器)用,也可以 作同步移位寄存器用。
7.2.1
8051串行口
8051有一个可编程的全双工串行通信接口,可 用作UART,也可用作同步移位寄存器。
《单片微机原理及应用》教学课件
第七章
8051串行口及串行通信技术
《单片微机原理及应用》教学课件
串行通信的基本特征是数据逐位顺序进行传送 串行通信的格式及约定(如:同步方式、通讯速 率、数据块格式、信号电平……等)不同,形成 了多种串行通信的协议与接口标准。 常见的有: ☞通用异步收发器(UART)——本课程介绍的串口 ☞通用串行总线(USB) ☞I2C总线 ☞CAN总线 ☞SPI总线 ☞RS-485,RS-232C,RS422A标准……等等
二、串行口控制字及控制寄存器
通过特殊功能寄存器SCON和电源控制寄存器 PCON设置工作方式和波特率。
《单片微机原理及应用》教学课件
串行口控制寄存器SCON(98H)
SCON
SM0
SM1
SM2
REN
TB8
RB8
TI
R1
☞ SM0,SM1:串行口4种工作方式的选择位。
0 0
1 1
0 方式0:8位同步移位寄存器I/O,波特率固定为 fosc/12 1 方式1:10位UART(1+8+1位), 波特率可变,按公式计算 0 方式2:11位UART(1+8+1+1位), 波特率固定=fosc x1/32或1/64 1 方式3:11位UART(1+8+1+1位), 波特率可变,按公式计算
DSPLY:MOV DPTR, #TABLE MOVC A, @A+DPTR MOV SBUF, A JNB TI, $ CLR TI RET TABLE:DB 0C0H,0F9H,0A4H DB 0B0H,99H,92H DB 82H,0F8H,80H,90H
《单片微机原理及应用》教学课件
h g f e d c b a
☞ SM2:串行口多机通信控制位 (作为方式2、方式3的附加控制位)
《单片微机原理及应用》教学课件
·SM2-允许方式2和方式3的多机通信控制位, 如SM2=1,则接收到的第9位数据位(RB8)为0时不 激活RI。对于方式1,如SM2=1,则只有收到有效的停 止位时才会激活RI,对方式0,SM2应为0。 ·REN-串行接收允许位。由软件置位以允许接收,由 软件清0来禁止接收。 ·TB8-在方式2和方式3中要发送的第9数据位。由软件 置位或清0。 ·RB8-方式2和方式3中接收到的第9位数据。在方式1 中,如果SM2=0,RB8是接收到的停止位。 对于方式0,该位没有被使用。 TB8 和RB8可用作奇偶校验位,也可在多机通信中作 为发送地址或数据帧的标志位。
② 方式1的接收 方式1接收时,数据从引脚RXD输入。接收是在 SCON寄存器中的标志位REN控制的,当REN=1时,允 许接收器接收,接收的操作是从检测到RXD端上的输 入电平发生负跳变时开始的,而对RXD端的采样是以 16倍于波特率的速度进行,当检测到负跳信号时,立 即将内部的16分频计数器复位。16分频计数器的计数 脉冲是按接收的位时间来定义的,计数器的16个状态 将传送的每一个位时间分成16等分。并在每个位时间 的第7、第8、第9个状态时对RXD端进行采样,当采样 到的三个值中至少有二个相同时,这个值就被接收, 这样处理可以防止干扰。如果在第一个位时间接收到 的值不为0,则超始位无效,接收电路被复位,重新 开始搜索输入端上的负跳变。如果接收到的超始位有 效,则将其移入接收移位寄存器,并开始接收本帧的 其余部分信息。
a f g d
共阳极
b
e
c
h
累加器 A h g f e d c b a 1 1 0 0 0 0 0 0 0C0H = “0” 1 0 1 1 0 0 0 0
0B0H = “3”
工作方式1:11位UART(1+8+1位)波特率可变
☞常用于串行通讯。除发/收8位数据外,还 在D0位前有一个起始位“0”; 在D7位后有一个停止位“1”。 ☞方式1工作时: 发送端自动添加一个起始位和一个停止位; 接收端自动去掉一个起始位和一个停止位。 ☞波特率可变 ——用定时器T1作波特率发生器: 公式:波特率 =(2SMOD/32)T1的溢出率
《单片微机原理及应用》教学课件
7.1 串行通信基本知识
7.1.1 数据通信
◆ 通信:信息交换。计算机的CPU与外部设备之间进行信息 交 换,一台计算机与其它计算机之间进行信息交换。 ◆ 通信方式:并行通信和串行通信。根据信息传送的距离决 定通信方式。 一般地,如果距离小于30m,可采用并行通信方式;距离大于30m, 则采用串行通信方式。 ◆ 并行通信:指数据的各位同时进行传送(发送或接收)的 通信方式。 ◇ 优点:传送速度快; ◇ 缺点:传送距离短,连接线多,还要有应答信号线。 ◆ 串行通信:指数据是一位一位按顺序传送(发送或接收) 的通信方式。 ◇ 优点:传送距离长,连接线少,大大降低了传送成本; ◇ 缺点:传送速度慢。
7.1.2
串行通信的传输方式
7.1.3
7.1.4
异步通信和同步通信
串行通信的过程及通信协议
《单片微机原理及应用》教学课件
串行通信协议
通信协议:对数据传送方式的规定,包括数据格 式定义和数据位定义等。 1、起始位 起始位逻辑低电平(“0”信号),它的 作用就是设备同步。 2、数据位 数据位的个数可以是5,6,7或8位。在字 符数据传送过程中,数据位从最低位开始发送, 依次顺序在接收设备中被转换为并行数据。 3、奇偶校验位 奇校验、偶校验或不校验。也可用这 一位(1/0)来确定这一帧中的字符所代表信息的 性质(地址/数据等)。 4、停止位 一个字符数据的结束标志,可以是1位, 1.5位或2位的高电平。 5、波特率设置 每一位的信号持续时间,以每秒多 少个二进制位来衡量。 6、握手信号约定