8.3 8051单片机串行口工作方式
8051单片机的串行口-26页精选文档
RXD 8051
TXD
P1.0
A
B
74LS164
CLK STB
2. 数据接收 要实现数据接收,必须首先把SCON中的允许接收位REN设置为
1。当REN设置为1时,数据就在移位脉冲的控制下,从RXD端输入。 当接收到8位数据时,置位接收中断标志位RI,发生中断请求。 其接口逻辑如下图所示。由逻辑图可知,通过外接74LS165,串 行口能够实现数据的并行输入。
方式2的波特率时固定的,而且有两种。一种是晶振频率的 三十二分之一;另一种是晶振频率的六十四分之一。即fosc/32 和fosc/64。如用公式表示则为:
波特率2S= MODfosc 64
由此公式可知,当SMOD为0时,波特率为fosc/64,当SMOD 为1时,波特率为fosc/32
串行工作方式3 方式3同方式2几乎完全一样,只不 过方式3的波特率是可变的,有用户来确 定。其波特率的确定同方式1。
率为设定值。当系统复位时,SMOD=0。
8051单片机串行通信工作方式
串行口的工作方式由SM0和SM1确定,编码和功能如下表 所示
SM0 SM1
方式
功能说明
波特率
0
0
方式0 移位寄存器方式 fosc/12
0
1
1
0
1
1
方式1 方式2 方式3
8位UART 9位UART 9位UART
可变
fosc/64 或者 fosc/32
单片机的串行通信使用的是异步串行通信,所谓异步 就是指发送端和接收端使用的不是同一个时钟。异步串行 通信通常以字符(或者字节)为单位组成字符帧传送。
1、字符帧的帧格式
字符帧由四部分组成,分别是起始位、数据位、奇偶校验
串行口的四种工作方式标准版文档
RB8 停止位
RI(中断标志)
接收时,数据从右边移入输入移位寄存器。当位检测逻辑 采样到RXD上的负跳变,便开始接收1帧数据。在接收完第九 位数据后,满足下列条件,才能真正接收到1个字符。
当RI=0,且SM2=0(或接收到的第9位数据为1)时,接收到 的数据装入接收缓冲器SBUF和RB8(接收数据的第9位), 置RI=1,向CPU请求中断。如果条件不满足,则数据丢失, 且不置位RI,继续搜索RXD引脚的负跳变。
❖解:设数据的发送不采用串行口,即用一段程序模拟 串口方式0的操作,选择用P2.1传数据,P2.0传时钟。
DOUT CLK
BIT P2.1 BIT P2.0
DP12: MOV R2, #8 MOV A, @R0
DP13: RLC A MOV DOUT, C CLR CLK SETB CLK DJNZ R2, DP13 RET
先输出低位吗?
能改变吗?
开始 循环次数设置 取显示数据 数据码左移一位 送一位数据至P2.1 输出一个移位脉冲
够8次了? Y
RET
读图练习--实验六的原理图
D
PY
1 a
2
a
b
3
c
f
b
4
g
d
5
ee
c
6 f
d dp
7 g d p
8
2
0
D
PY
1 a
2
a
b
3
c
f
b
4
g
d
5
ee
c
6 f
d dp
7 g d p
方式2和方式3
方式2或方式3时为11位数据的异步通信口。TXD为数据发
串行接口工作方式0应用举例
串行接口工作方式0应用举例一、串行口工作方式0SM0=0、SM1=0串行口工作于方式0,即串行寄存器方式。
图1是串行接口方式0的结构示意图。
(1)数据从RXD引脚上发送或接收。
一帧信息由8位数据组成,低位在前。
(2)波特率固定,为fosc/12(即为机器周期T)。
(3)同步移位脉冲从TXD引脚上输出。
图1串行口工作方式0结构示意图发送CPU执行一条写SBUF的指令如,MOV SBUF,A 就启动了发送过程。
(1)指令执行期间送来的写信号打开三态门1,将经内部总线送来的8位并行数据写入发送数据缓冲器。
(2)写信号同时启动发送控制器。
(3)此后,CPU与串行口并行工作。
经过一个机器周期,发送控制端SEND有效(高电平),打开门5和门6,应许RXD引脚发送数据,TXD引脚输出同步移位脉冲。
(4)在由时钟信号Sb/触发产生的内部移位脉冲作用下,发送数据缓冲器中的数据逐位串行输出。
每个机器周期从RXD上发送一位数据。
故波/特率为fosc/12。
Sb同时形成同步移位脉冲,一个机器周期从TXD上输出一个同步移位脉冲。
(5)8位数据(一帧)发送完毕后,SEND恢复低电平状态,停止发送数据,且发送控制器硬件置发送中断标志位TI=1,向CPU申请中断。
注:如要再次发送数据,必须用软件将TI清零,并再次执行写SBUF的指令。
接收在RI=0的条件下,将REN(SCON.4)置1就启动一次接收过程。
RXD为串行数据接收端,TXD依然输出同步移位脉冲。
(1)REN置1启动了接收控制器(2)经过一个机器周期,接收控制端RECV有效(高电平),打开了门6,应许TXD输出同步移位脉冲。
该脉冲控制外接芯片逐位输入数据,波特率为fosc/12。
(3)在内部移位脉冲作用下,RXD上的串行输入数据逐位移入移位寄存器。
(4)当8位数据(一帧)全部移入移位寄存器后,接收控制器使RECV失效,停止输出移位脉冲,还发出“装载SBUF”信号,打开三态门2,将8位数据并行送入接收缓冲器SBUF保存。
单片机串行接口工作方式_杨宇翔
电子报/2018年/11月/18日/第009版职教与技能单片机串行接口工作方式四川科技职业学院鼎利学院杨宇翔敬顺德串行口的工作方式0为移位寄存器输入输出方式,方式0发送或接收完8位数据后由硬件置位发送中断标志TI或接收中断标志RI。
1.方式0发送串行数据从RXD引脚输出,TXD引脚输出移位脉冲。
CPU将数据写入发送寄存器(SBUF)时,立即启动发送,将8位数据以fosc/12的固定波特率从RXD输出,低位在前,高位在后,直至最高位(D7位)数字移出后,停止发送数据和移位时钟脉冲。
MOV SCON,#10H;串行口方式0MOV A,SBUF;接收数据JNB RI,$;等待数据接收完毕2.方式0接收方式0接收前,务必先置位REN=1,允许接收数据。
此时,RXD为串行数据输入端,TXD仍为同步脉冲移位输出端。
当RI=0和REN=1同时满足时,就会启动一次接收过程。
接收器以fosc/12的固定波特率接收TXD端输入的数据。
当接收到第8位数据时,将数据移入接收寄存器,并由硬件置位RI,向CPU申请中断。
MOV SCON,#00H;串行口方式0MOV SBUF,A;将数据送出JNB TI,$;等待数据发送完毕工作方式0一般用于对并行输入输出口的扩展,如图1所示。
二、方式1:8位UART方式当SM0=0、SM1=1时,串行口选择方式1,单片机工作于8位数据异步通讯方式(UART)。
在方式1时,传送一帧信息为10位,即1位起始位(0),8位数据位(低位在先)和1位停止位(1)。
方式1的数据格式如图2所示。
1.方式1发送当CPU执行MOV A,SBUF指令将数据写入发送缓冲SBUF,启动发送。
先把起始位输出到TXD,然后把移位寄存器的输出位送到TXD。
接着发出第一个移位脉冲(SHIFT),使数据右移一位,并从左端补入0。
此后数据将逐位由TXD端送出,而其左面不断补入0。
发送完一帧数据后,就由硬件置位TI。
2.方式1接收当REN=1且接收到起始位后,在移位脉冲的控制下,把接收到的数据移入接收缓冲寄存器(SBUF)中,停止位到来后,把停止位送入RB8中,并置位RI,通知CPU接收到一个字符。
80C51单片机的串行口
80C51单片机的串行口在单片机的世界里,80C51 单片机凭借其稳定性和广泛的应用一直占据着重要的地位。
而串行口作为 80C51 单片机的重要通信接口,发挥着至关重要的作用。
要理解 80C51 单片机的串行口,首先得知道串行通信的概念。
简单来说,串行通信就是数据一位一位地依次传输,相比并行通信,它只需要较少的数据线,这在很多场景下能大大减少硬件成本和布线难度。
80C51 单片机的串行口有 4 种工作方式,分别是方式 0、方式 1、方式 2 和方式 3。
方式 0 是同步移位寄存器输入/输出方式。
在这种方式下,数据以 8 位为一帧,低位在前,高位在后,没有起始位和停止位。
它通常用于扩展并行 I/O 口,例如外接串入并出的移位寄存器 74LS164 或并入串出的移位寄存器 74LS165。
方式 1 是 8 位异步通信方式,波特率可变。
这是最常用的串行通信方式之一。
一帧数据由 1 位起始位(低电平)、8 位数据位(低位在前)和 1 位停止位(高电平)组成。
发送和接收都是通过专门的寄存器来实现的。
方式 2 是 9 位异步通信方式,波特率固定。
一帧数据由 1 位起始位、8 位数据位、1 位可编程的第 9 位数据和 1 位停止位组成。
这种方式常用于多机通信,第 9 位数据可以作为地址/数据的标识位。
方式 3 与方式 2 类似,也是 9 位异步通信方式,但波特率可变。
串行口的波特率是一个非常关键的概念。
波特率决定了数据传输的速度。
在 80C51 单片机中,方式 0 和方式 2 的波特率是固定的,而方式 1 和方式 3 的波特率则是由定时器 T1 的溢出率来决定的。
通过设置定时器 T1 的工作方式和初值,可以得到不同的波特率,以适应不同的通信需求。
在实际应用中,要使用 80C51 单片机的串行口进行通信,还需要对相关的寄存器进行配置。
比如,串行控制寄存器 SCON 用于设置串行口的工作方式、接收/发送控制等;电源控制寄存器 PCON 中的 SMOD 位用于控制方式 1、2、3 的波特率加倍。
51单片机教程:单片机串行口介绍
51单片机教程:单片机串行口介绍
串行口是单片机与外界进行信息交换的工具。
8051 单片机的通信方式有两种:
并行通信:数据的各位同时发送或接收。
串行通信:数据一位一位次序发送或接收。
参看下图:
串行通信的方式:
异步通信:它用一个起始位表示字符的开始,用停止位表示字符的结束。
其每帧的格式如下:
在一帧格式中,先是一个起始位0,然后是8 个数据位,规定低位在前,高位在后,接下来是奇偶校验位(能省略),最后是停止位1。
用这种格式表示字符,则字符能一个接一个地传送。
在异步通信中,CPU 与外设之间必须有两项规定,即字符格式和波特率。
字符格式的规定是双方能够在对同一种0 和1 的串理解成同一种意义。
原则上字符格式能由通信的双方自由制定,但从通用、方便的角度出发,一般还是使用一些标准为好,如采用ASCII 标准。
波特率即数据传送的速率,其定义是每秒钟传送的二进制数的位数。
例如,数据传送的速率是120 字符/s,而每个字符如上述规定包含10 数位,则传送波特率为1200 波特。
同步通信:在同步通信中,每个字符要用起始位和停止位作为字符开始和结束的标志,占用了时间;所以在数据块传递时,为了提高速度,常去掉这些标志,采用同步传送。
由于数据块传递开始要用同步字符来指示,同时要求由时钟来实现发送端与接收端之间的同步,故硬件较复杂。
8051的串行口
8051
8051
并行通信
并行通信是指数据的各位同时进行 传送(发送或接收)的通信方式。 传送(发送或接收)的通信方式。 其优点是传送速度快; 其优点是传送速度快; 缺点是数据有多少位, 缺点是数据有多少位,就需要多少 数据有多少位 根传送线。 根传送线。 并行通信在位数多、 并行通信在位数多、传送距离又远 时就不太合适了。 时就不太合适了。 89C51单片机与打印机之间的数据 单片机与打印机之间的数据 传送就属于并行通信。 传送就属于并行通信。
89C51串行口是可编程接口,对它初始化编程只用 串行口是可编程接口, 串行口是可编程接口 控制字分别写入特殊功能寄存器SCON(98H)和 两个控制字分别写入特殊功能寄存器 ( ) 两个控制字分别写入特殊功能寄存器 电源控制寄存器PCON(87H)中即可。 电源控制寄存器 ( )中即可。
2、串行控制寄存器SCON(地址 地址98H) )
8051的串行口 8051的串行口
串行通信基础
在实际工作中,计算机的CPU与外部设备之间常常要进行 在实际工作中,计算机的CPU与外部设备之间常常要进行 CPU 信息交换, 信息交换,一台计算机与其他计算机之间也往往要交换信 所有这些信息交换均可称为通信。 息,所有这些信息交换均可称为通信。 通信方式有两种,即并行通信和串行通信。 通信方式有两种, 并行通信和串行通信。
8051
串行通信
串行通信指数据是一位一位按顺 序传送的通信方式。 序传送的通信方式。 它的突出优点是只需一对传输线 它的突出优点是只需一对传输线( 一对传输线 利用电话线就可作为传输线), 利用电话线就可作为传输线 ,这 样就大大降低了传送成本, 样就大大降低了传送成本,特别 适用于远距离通信; 适用于远距离通信; 其缺点是传送速度较低。 其缺点是传送速度较低。假设并 行传送N位数据所需时间位 , 行传送 位数据所需时间位T,那 位数据所需时间位 么串行传送的时间至少为NT,实 么串行传送的时间至少为 , 际上总是大于NT的 际上总是大于 的。
51单片机串行口的工作方式
hgfedcba
a
fg b
e
c
dh
共阳极
累加器 A hgfedcba
0C0H = “0”
0B0H = “3”
例:利用串行口工作方式0扩展出8位并行I/O 口,驱动共阳LED数码管显示0—9。
VCC TxD RxD
☞方式2的波特率 = fosc 2SMOD/64 即: fosc 1/32 或 fosc 1/64 两种
☞奇偶校验是检验串行通信双方传输的数据正确与 否的一个措施,并不能保证通信数据的传输一定正 确。
换言之:如果奇偶校验发生错误,表明数据传输 一定出错了;如果奇偶校验没有出错,绝不等于数 据传输完全正确。
☞ REN:串行口接收允许位。 REN=1 允许接收
☞ TB8,RB8,TI,RI等位由运行中间的情况 决定,可先写成 “0”
三、工作方式2: 9位UART(1+8+1+1位)两种波特率
☞由于波特率固定,常用于单片机间通讯。 数据由8+1位组成,通常附加的一位 (TB8/RB8)用于“奇偶校验”。
☞ 溢出率:T1溢出的频繁程度 即:T1溢出一次所需时间的倒数。
☞ 波特率 =
2SMOD fosc 32 12(2n - X)
其中:X 是定时器初值
☞ 初值 X = 2n -
2SMOD fosc 32 波特率 12
常用波特率和T1初值查表
☞表格有多种, 晶振也不止一种
串口波特率 (方式1,3)
74LS164
hgfedcba
A B
CLK
CLR
74LS164
8051单片机输入输出口工作原理
8051单片机I/O口的工作原理一、P0端口的结构及工作原理P0端口8位中的一位结构图见下图:由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。
下面,先分析组成P0口的各个部分:先看输入缓冲器:在P0口中,有两个三态的缓冲器,在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),上面一个是读锁存器的缓冲器,下面一个是读引脚的缓冲器,读取P0.X引脚上的数据,要使这个三态缓冲器有效,引脚上的数据才会传输到内部数据总线上。
D锁存器:在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。
D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。
多路开关:在51单片机中,不需要外扩展存储器时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。
这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。
当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据’总线使用的。
输出驱动部份:P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。
P0口作为I/O端口使用时,多路开关的控制信号为0(低电平),V1管截止,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。
作为地址/数据线使用时,多路开关的控制信号为1,V1管由地址/数据线决定,多路开关与地址/数据线连接。
输出过程:1、I/O输出工作过程:当写锁存器信号CP有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。
51单片机的串口工作方式
止位。 • 低位在前,高位在后。其格式为:
2. 串口工作方式0
方式0 输出
方式0 输入
2. 串口工作方式0
方式0
接收和发送电路
串入并出
并入串出
注
每当发送或接收完8位数据后,硬件会自动置TI或RI为1,CPU响应TI或
2SMOD·fosc 波特率= 32·12·(256-TH1)(与方式1相同)
方式3
3. 串口工作方式2和3
数据发送
TI=0,发送数据前,先由软件设置TB8,可使用如下指令完成: SETB TB8 ; 将TB8位置1 CLR TB8 ; 将TB8位置0
然后再向SBUF写入8位数据,并以此来启动串行发送。一帧数据发送完毕后,CPU自动将TI置1, 其过程与方式1相同。
51单片机的串 口工作方式
单片机原理及应用
教学目标
>> (1)了解单片机串口四种工作方式; >> (2)掌握串口四种工作方式的特点。
1. 51单片机串口工作方式
SCON (98H)
SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0 SM1 工作方式
功能说明
00
0
同步移位寄存器输入/输出,波特率固定为fosc/12
3. 串口工作方式1
方式1为波特率可变的8位异步通信接口。波特率由下式确定:
方式1波特率 =
定时器T1的溢出率
式中,SMOD为PCON寄存器的最高位的值(0或1)。
3. 串口工作方式2和3
11位数据 的异步通信
新版精编2020年《单片机与接口技术》模拟考核题库158题(含参考答案)
2020年《单片机与接口技术》试题库158题(含参考答案)一、单选题1.MCS-51单片机CPU开中断的指令是 A 。
A.SETB EAB.SETB ESC.CLR EAD.SETB EX02.能将A按位取反的指令是 A 。
A.CPL AB.CLR AC.RL AD.SWAP A3.MCS-51指令系统中,指令ADD A,R0 执行前(A)=86H,(R0)=7AH,(C)=0 执行后,其结果为 A 。
A.(A)=00H (C)=1B.(A)=00H (C)=0C.(A)=7AH (C)=1D.(A)=7AH (C)=04.寻址方式就是 C 的方式。
A.查找指令操作码B.查找指令C.查找指令操作数D.查找指令操作码和操作数5.下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是 B 。
A.JNB P1.0,LPB.JB P1.0,LPC.JC P1.0,LPD.JNZ P1.0,LP6.MCS-51寻址方式中,直接寻址的寻址空间是D。
A.工作寄存器R0~R7B.专用寄存器SFRC.程序存储器ROMD.数据存储器256字节范围7.MCS-51单片机的P1口的功能是 A 。
A.可作通用双向I/O口用C.可作地址/数据总线用8.8051单片机的VCC(40)引脚是 A 引脚。
A.主电源+5VB.接地C.备用电源D.访问片外存贮器9.单片机8051的XTAL1和XTAL2引脚是 D 引脚。
A.外接定时器B.外接串行口C.外接中断D.外接晶振10.8051单片机的V SS(20)引脚是 B 引脚。
A.主电源+5VB.接地C.备用电源D.访问片外存贮器11.共阳极LED数码管加反相器驱动时显示字符“6”的段码是 B 。
A.06HB.7DHC.82HD.FAH12.MCS-51指令系统中,指令ADDC A,@R0 执行前(A)=38H,(R0)=30H,(30H)=FOH,(C)=1 执行后,其结果为 B 。
第八课51单片机串行口工作原理
第八课:51单片机串行口工作原理MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信。
1.串行端口的基本特点8031单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。
其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;方式1多用于双机之间或与外设电路的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统。
串行端口有两个控制寄存器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。
串行端口有一个数据寄存器SBUF(在特殊功能寄存器中的字节地址为99H),该寄存器为发送和接收所共同。
发送时,只写不读;接收时,只读不写。
在一定条件下,向阳UF写入数据就启动了发送过程;读SBUf就启动了接收过程。
串行通信的波特率可以程控设定。
在不同工作方式中,由时钟振荡频率的分频值或由定时器Tl的定时溢出时间确定,使用十分方便灵活。
2.串行端口的工作方式①方式08位移位寄存器输入/输出方式。
多用于外接移位寄存器以扩展I/O端口。
波特率固定为fosc/12。
其中,fosc为时钟频率。
在方式0中,串行端口作为输出时,只要向串行缓冲器SBUF写入一字节数据后,串行端口就把此8位数据以等的波特率,从RXD引脚逐位输出(从低位到高位);此时,TXD输出频率为fosc/12的同步移位脉冲。
数据发送前,仅管不使用中断,中断标志TI还必须清零,8位数据发送完后,TI自动置1。
如要再发送,必须用软件将TI清零。
串行端口作为输入时,RXD为数据输入端,TXD仍为同步信号输出端,输出频率为fosc/12的同步移位脉冲,使外部数据逐位移入RxD。
当接收到8位数据(一帧)后,中断标志RI自动置。
如果再接收,必须用软件先将RI清零。
串行方式0发送和接收的时序过程见下图。
第8章 8051单片机的串行接口及串行总线
12 11.059 11.059 11.059 11.059 11.059 12 6
1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
2 2 2 2 2 2 2 2
FFH FDH FDH FAH F4H E8H 1DH 72H
26
串行口工作之前,应对其进行初始化,主要 是设置产生波特率的定时器1、串行口控制和 中断控制。具体步骤如下: 确定T1的工作方式(编程TMOD寄存器) ; 计算T1的初值,装载TH1、TL1; 启动T1(编程TCON中的TR1位); 确定串行口控制(编程SCON寄存器); 串行口在中断方式工作时,要进行中断设置 (编程IE、IP寄存器)。
2
SMOD
32
(定时器1溢出率 )
发送逻辑 SBUF 8位发送缓冲器 发送TXD/P3.1 接收RXD/P3.0
2
SMOD
接收 时钟 (定时器1溢出率 )
接收移位寄存器 SBUF 8位接收缓冲器 接收逻辑
32
RI=1,接收缓冲器满 SCON RI RI=0,接收缓冲器空 待机 0 1 2 3 4 5 6 7 起 始 位
1
1
0
1
2
3
(2)SM2是多机通信控制位
• 若 SM2=1 ,则模式 2 和模式 3 可用于多机通讯, 9 个数据位被收到,第9位数据被送入RB8,然后是 停止位。仅当 RB8=1 ,单片机在收到停止位后, 串行口中断被激活。 • 若SM2=0,则不论收到的第9位数据是“1”还是 “ 0”,都将前 8 位数据送入 SBUF ,并产生中断 请求。 • 在模式 1 时,如果 SM2=1 ,则只有收到有效的停 止位才会激活RI;在模式0,SM2必须为0。
实验六 8051单片机串行口实验
实验六8051单片机串行口实验一实验目的:理解8051单片机串行口工作原理和方式。
学习和掌握8051单片机实现通讯的环境和程序编写。
了解PC机通讯的基本要求。
二实验原理:在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式。
所以串行接口是微机应用系统常用的接口。
所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。
如图6-1所示。
这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。
图6-1在串行通讯时,RS-232C接口是目前最常用的一种串行通讯接口,RS-232C使用-3到-25V表示数字“1”,使用3V到25V表示数字“0”,RS-232C在空闲时处于逻辑“1”状态。
8051单片机上有UART用于串行通信,发送时由TXD端送出数据,接收时则由RXD端输入数据。
它是一个可编程的全双工串行口。
SCON是串行口控制和状态寄存器,其格式如下:表6-1其中,SM0,SM1为串行口工作方式控制位,具体的工作方式如下表(表6-2)所示:表6-2SM2为多机通信控制位,当SM2=1时,只有接受到RB8为1,RI才置位,当SM2=0时,接受到字符RI就置位。
REN为串行口接收允许位。
工作在方式2和3时,TB8为发送的第9位数据,也可以用作奇偶校验位,RB8为接受到的第9位数据,而方式1时,RB8为接受到的停止位。
TI,RI分别为发送接受中断标志位,均由硬件置位,软件清0。
PCON是电源控制寄存器,其格式如下:表6-3其中,SMOD为串行口波特率加倍位。
当SMOD=1时,方式1,3波特率=定时器1溢出率/16,方式2波特率为fosc/32;当SMOD=0时,方式1,3波特率=定时器1溢出率/32,方式2波特率为fosc/64。
8051单片机的工作方式
单片机的工作方式一,中央处理器CPU及时序(一)中央处理器CPUMCS-51内部有一个功能很强的8位中央处理器CPU,它决定了单片机的主要功能特性,完成对指令的解释和运算,为执行指令提供所必须的运算,逻辑和控制线路.它由运算器,控制器和专用寄存器组等构成.1.运算器运算器包括算术逻辑运算部件ALU,累加器ACC,寄存器B,暂存器TMP1和TMP2,程序状态字寄存器PSW,十进制调整电路和以及布尔处理器等.该模块的主要功能是实现算术运算,逻辑运算,数据传送和位变量处理等.具体包括加,减,乘,除算术运算;与,或,异或,循环,求补等逻辑运算;十进制调整,加1,减1运算;置1,清0,取反操作;数据传送操作等.同时还具有一般微机所不具有的位处理功能,这也是单片机能成为面向控制的微处理器的重要原因.2.控制器控制器控制着单片机系统完成各种操作.控制器一般包括时钟电路,复位电路,定时控制逻辑,指令寄存器IR,指令译码器ID,程序计数器PC和信息传送控制部件等.它以主振频率为基准,由定时控制逻辑发出CPU时序,将指令寄存器中存放的指令码取出送指令译码器进行译码,再由信息传送控制部件发出一系列的控制信号,控制单片机各部分运行,完成指令指定的功能.(二)时钟电路时钟电路用于产生单片机工作所需的时钟信号.单片机在时钟信号控制下,各部件之间协调一致地工作,时钟信号控制着计算机的工作节奏.如图2-5所示为MCS-51单片机的时钟电路.在图2-5a)中,引脚XTALl和XTAL2之间跨接晶体振荡器和微调电容,可以和芯片内部的振荡器构成一个稳定的自激振荡器,这就是单片机的时钟电路,这种方式称之为内部时钟源方式.电容器C和C的主要作用是帮助振荡器起振,且电容器大小对振荡频率有微调作用,典型值为C=C=30pF.振荡频率主要由石英晶振的频率确定,目前,51系列单片机的晶振频率范围是fosc为1.2MHz~60MHz,其典型值为6MHz,12MHz,11.0592MHz,20MHz,24MHz,33 MHz,40MHz等.8051的工作时钟也可以由外部时钟信号提供,如图2-5b)所示,外部的时钟信号由XTAL2引脚引入.由于XTAL2端逻辑电平不是TTL的,故需外接一上拉电阻,外接的时钟频率应低于12MHz.另外,80C51的外部时钟接法与8051不同,如图2-5c)所示,其外部时钟信号由XTALl脚引入,而XTAL2脚悬空.(三)CPU时序1.时序的概念所谓时序是指各种信号的时间序列,它表明了指令执行中各种信号之间的相互关系.单片机本身就是一个复杂的时序电路,CPU执行指令的一系列动作都是在时序电路控制下一拍一拍进行的.为达到同步协调工作的目的,各操作信号在时间上有严格的先后次序,这些次序就是CPU的时序.CPU的时序信号有两大类:一类用于单片机内部,控制片内各功能部件;另一类信号通过控制总线送到片外,这类控制信号的时序在系统扩展中比较重要,我们应当了解.2.时序的基本单位8051单片机以晶体振荡器的振荡周期(或外部引入的时钟信号的周期)为最小的时序单位.所以片内的各种微操作都是以晶振周期为时序基准.如图2-6所示为8051单片机的时钟信号图.由图中可以看出,8051单片机的基本定时单位共有四个,它们从小到大分别是:①晶振周期由振荡电路产生的振荡脉冲的周期,又称节拍(如P1,P2).②时钟周期它是晶振周期的两倍,也即一个时钟周期包含两个相互错开的节拍,也称S状态时间.③机器周期MCS-51单片机有固定的的机器周期,它是由晶振频率12分频后形成的,也就是说,一个机器周期是晶振周期的12倍宽.单片机的基本操作周期为机器周期.一个机器周期有6个状态,每个状态由两个脉冲(晶振周期)组成.即:1个机器周期=6个状态周期=12个晶振周期.若单片机采用12MHz的晶体振荡器,则一个机器周期为1μs,若采用6MHz的晶体振荡器,则一个机器周期为2μs.④指令周期指令周期是执行一条指令所需要的时间.不同的指令,其执行时间各不相同,如果用占用机器周期多少来衡量的话,MCS-51单片机的指令可分为单周期指令,双周期指令及四周期指令.3.CPU的典型时序单片机的指令的执行过程分为取指令,译码,执行三个过程.取指的过程实质上是访问程序存储器的过程,其时间长短取决于指令的字节数;译码与执行的时间长短取决于指令的类型.对于MCS-51单片机的指令系统,其指令长度为1~3个字节.其中单字节指令的运行时间有单机器周期,双机器周期和四机器周期;双字节指令有双字节单机器周期指令和双字节双机器周期指令;三字节指令则都为双机器周期指令.下面就简单介绍几个典型的时序. 对于单机器周期指令,是在S1P2时刻把指令读入指令寄存器,并开始执行指令,在S6P2结束时完成指令操作.中间在S4P2时刻读的下一条指令要丢弃,且程序计数器PC也不加1.对于双字节单机器周期指令,则在同一机器周期的S4P2时刻将第二个字节读入指令寄存器,并开始执行指令.无论是单字节还是双字节指令,均在S6P2时刻结果该指令的操作.如图2-7 a),图2-7 b)所示.对于单字节双周期指令,在2个机器周期内要发生4次读操作码的操作,由于是单字节指令,后3次读操作都无效,如图2-7 c)所示.但访问外部数据存储器指令MOVX的时序有所不同.它也是单字节双周期指令,在第一机器周期有2次读操作,后一次无效,从S5时刻开始送出外部数据存储器的地址,随后读或写数据,读写期间在ALE端不产生有效信号.在第二个机器周期,不发生读操作,如图2-7 d)所示.通常算术和逻辑操作在节拍P1期间进行,内部寄存器的传送在节拍P2期间进行.二,单片机的工作方式MCS-51系列单片机中,8051及80C51的工作方式有:复位方式,程序执行方式,掉电方式,低功耗方式以及EPROM编程和校验方式.单片机不同的工作方式,代表单片机处于不同的状态.单片机工作方式的多少,是衡量单片机性能的一项重要指标.(一)单片机的复位方式复位是单片机进入工作状态的初始化操作,是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作.另外,当程序运行错误或由于错误操作而使单片机进入死锁状态时,也可以通过复位进行重新启动.复位后,单片机内部寄存器的值被初始化,其值见表2-5.了解单片机内部寄存器初始化的状态,对于熟悉单片机的操作,简化应用程序的初始化过程是很有必要的.表2-5 单片机复位后内部各寄存器状态寄存器名内容寄存器名内容PC 0000H TH000H ACC00HTL000HB00HTH100H PSW00HTL100HSP07H SBUF不定DPTR 0000H TMOD 00HP0~P3 FFH SCON 00HIP×××00000BPCON(HMOS)0×××××××BIE0××00000BPCON(CHMOS)0×××0000BTCON00HMCS-51系列单片机的RST引脚是复位信号的引入端,复位信号为高电平有效,其所需时间在2个机器周期(24个振荡周期)以上.复位操作还会把ALE和变为无效状态,即ALE=0,=1.但复位操作不影响片内RAM单元的内容.单片机复位的方式有:上电自动复位和按键手动复位.按键手动复位又分为按键电平复位和按键脉冲复位两种,复位电路如图2-8所示.如图2-8 a)所示,上电自动复位是通过电容充电来实现的.通过选择适当的和的值,就能够使RST引脚上的高电平保持两个机器周期以上,以实现在上电的同时,完成单片机的复位. 图2-8 b)和图2-8 c)是通过RST经电阻与电源相连接或利用RC微分电路产生的正脉冲来实现按键复位的.这两个电路同时也具备上电自动复位的功能.(二)程序执行方式程序执行方式是单片机的基本工作方式,由于单片机复位后PC=0000H,所以程序总是从地址0000H开始执行.程序执行方式又可分为连续执行和单步执行两种.1.连续执行方式连续执行方式是从指定地址开始连续执行程序存储器ROM中存放的程序,每读一次程序,PC自动加1.2.单步运行方式程序的单步运行方式是在单步运行键的控制下实现的,每按一次单步运行键,程序顺序执行一条指令.单步运行方式通常只在用户调试程序时使用,用于观察每条指令的执行情况.(三)节电工作方式MCS-51单片机中有HMOS和CHMOS两种工艺芯片,它们的节电运行方式不同,HMOS 单片机的节电工作方式只有掉电工作方式,CHMOS单片机的节电工作方式有掉电工作方式和空闲工作方式两种.单片机的节电工作方式,是由其内部的电源控制寄存器PCON 中的相关位来控制的.PCON寄存器的控制格式如下:位序D7D6D5D4D3D2D1D0位符号SMOD———GF1GF0PDIDLPCON的各位定义如下:SMOD:串行口波特率倍率控制位(详见第六章串行口波特率一节).GFl,GF0:通用标志位.PD:掉电方式控制位.PD=1进入掉电工作方式.IDL:空闲方式控制位.IDL=l,进入空闲工作方式.如同时将PD和IDL置1,则进入掉电工作方式.PCON寄存器的复位值为0XXX0000,PCON.4~PCON.6为保留位,用户不能对它们进行写操作.1.空闲工作方式当程序将PCON的IDL位置1后,系统就进入了空闲工作方式.空闲工作方式是在程序运行过程中,用户在CPU无事可做或不希望它执行程序时,进入的一种降低功耗的待机工作方式.在此工作方式下,单片机的工作电流可降到正常工作方式时电流的15%左右.在空闲工作方式时,振荡器继续工作,中断系统,串行口以及定时器模块由时钟驱动工作,但时钟不提供给CPU.也就是说,CPU处于待机状态,工作暂停.与CPU有关的SP,PC,PSW,ACC的状态以及全部工作寄存器的内容均保持不变,I/O引脚状态也保持不变.ALE和保持逻辑高电平.退出空闲方式的方法有两种,一种是中断退出,一种是按键复位退出.任何的中断请求被响应都可以由硬件将PCON.0(IDL)清0,从而中止空闲工作方式.当执行完中断服务程序返回时,系统将从设置空闲工作方式指令的下一条指令开始继续执行程序.另外,PCON寄存器中的GF0和GF1通用标志可用来指示中断是在正常情况下或是在空闲方式下发生.例如,在执行设置空闲方式的指令前,先置标志位GF0(或GF1);当空闲工作方式被中断中止时,在中断服务程序中可检测标志位GF0(或GF1),以判断出系统是在什么情况下发生的中断,如GF0(或GF1)为1,则是在空闲方式下进入的中断.另一种退出空闲方式的方法是按键复位,由于在空闲工作方式下振荡器仍然工作,因此复位仅需2个机器周期便可完成.而RST端的复位信号直接将PCON.0(IDL)清0,从而退出空闲状态,CPU则从进入空闲方式的下一条指令开始重新执行程序.在内部系统复位开始,还可以有2~3个指令周期,在这一段时间里,系统硬件禁止访问内部RAM区,但允许访问I/O端口.一般地,为了防止对端口的操作出现错误,在设置空闲工作方式指令的下一条指令中,不应该是对端口写或对外部RAM写指令.2.掉电工作方式当CPU执行一条置PCON.1位(PD)为1的指令后,系统即进入掉电工作方式.掉电的具体含义是指由于电源的故障使电源电压丢失或工作电压低于正常要求的范围值.掉电将使单片机系统不能运行,若不采取保护措施,会丢失RAM和寄存器中的数据,为此单片机设置有掉电保护措施,进行掉电保护处理.具体做法是:检测电路一旦发现掉电,立即先把程序运行过程中有用信息转存到RAM,然后启用备用电源维持RAM供电.在掉电工作方式下,单片机内部振荡器停止工作.由于没有振荡时钟,因此,所有的功能部件都停止工作.但内部RAM区和特殊功能寄存器的内容被保留,端口的输出状态值都保存在对应的SFR中,ALE和都为低电平.这种工作方式下的电流可降到15 A以下,最小可降到0.6 A.退出掉电方式的惟一一个方法是由硬件复位,复位时将所有的特殊功能寄存器的内容初始化,但不改变内部RAM区的数据.在掉电工作方式下,Vcc可以降到2V,但在进入掉电方式之前,Vcc不能降低.而在准备退出掉电方式之前,Vcc必须恢复正常的工作电压值,并维持一段时间(约10ms),使振荡器重新启动并稳定后方可退出掉电方式.(四)EPROM编程和校验方式对于片内程序存储器为EPROM型的单片机,如8751型单片机,需要一种对EPROM可以操作的工作方式,即用户可对片内的EPROM进行编程和校验.关于对片内EPROM编程和校验的具体方式,大家可参看有关资料.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
发送端:TXD(P3.1) 接收端:RXD(P3.0) 。
空 闲
T1提供移位脉冲,其波特率=2SMOD×fosc/[32×12×(256-x)]
起 始 位 D0 1帧共11位 数据位9位 D8 停 止 位 空 闲
二、串行口工作方式 方式1-发送
(3)所有从机接收到地址帧后,与自身地址相比较。 (4)地址相符的从机SM2=0,可以接收到主机随后发来的信息。 (5)通信结束后,被寻址从机置SM2=1,恢复多机通信系统原有 的状态。等待进行下次通信。
作 业
课后习题 132 页 :3 、 4 、 5
···
当REN为1时,接收器以波特率的16倍速率采样RXD引脚电平, 检测到RXD引脚输入电平发生负跳变时,就启动接收器接收。
接收的值时3此采样中至少两次相同的值,避免传送错误。
若接收的第一位不是0,则起始位无效,复位接收电路。 若接收的第一位是0,则起始位有效,接收器开始接收本帧其余 数据。 在方式1接收中,若下列两个条件成立则RI=1,8位数据进入SBUF,停 止位进入RB8。这两个条件是
若接收的第一位不是0,则起始位无效,复位接收电路。 若接收的第一位是0,则起始位有效,接收器开始接收本帧其余 数据。 在方式1接收中,若下列两个条件成立则RI=1,9位数据进入SBUF,停 止位进入RB8。这两个条件是
பைடு நூலகம்
1、RI=0 2、SM2=0,或接收到第9位为1
二、串行口工作方式 方式3
11位异步通信方式(1个起始位0、9个数据位、1个停止位)。 其中发送的第9位由SCON的TB8提供,接收的第9位存在SCON的RB8 发送端:TXD(P3.1) 接收端:RXD(P3.0)
写入SBUF TXD TI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7 TB8
停止位
二、串行口工作方式 方式2-接收
当REN为1时,接收器以波特率的16倍速率采样RXD引脚电平, 检测到RXD引脚输入电平发生负跳变时,就启动接收器接收。
接收的值是3次采样中至少两次相同的值,避免传送错误。
串行口工作方式
2
二、串行口工作方式 方式0
串行口为同步移位寄存器的输入输出方式。 主要用于扩展并行输入或输出口。 数据由RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1) 引脚输出。发送和接收均为8位数据,低位在先,高位在后。 波特率固定为fosc/12。
二、串行口工作方式 方式1
CPU执行一条写入SBUF的指令就启动串行口的发送。
首先发送起始位0,此后每经过一个时钟周期产生一个移位脉冲, 并且由TXD引脚输出一个数据位。 当10位数据全部发送后,使TI置1.
写入SBUF TXD TI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7
停止位
二、串行口工作方式 方式1-接收
单片机原理及应用
8051 单片机串行口工作方式
···
复 习 回 顾
SCON 寄存器各标志位功能? 发送缓冲器 SBUF功能、特点?
接收缓冲器SBUF功能 特点?
、
SCON寄存器为串行口控制寄存器。
SCOD
位地址
S
9FH 9EH
SM0 SM1
C
9DH
SM2
9CH
REN
O
9BH
TB8
9AH
RB8
N
99H
波特率=2SMOD×fosc/[32×12×(256-x)]
一、串行口波特率设计 计算
方式1和方式3:波特率是可变的,以T1作波特率发生器,其值由T1 的计数溢出率来决定,其公式为:
波特率=2SMOD/64×(T1溢出率)
当T1作波特率发生器使用时,选用模式2(即8位自动加载方式)。假定 计数初值为X,则计数溢出周期为: 12×(256-x)/fosc
空 闲 起 始 位 D0 1帧共11位 数据位9位 RB8 停 止 位 空 闲
二、串行口工作方式 方式2-发送
CPU执行一条写入SBUF的指令就启动串行口的发送。 把TB8的内容送入发送寄存器第9位。
首先发送起始位0,此后每经过一个时钟周期产生一个移位脉冲, 并且由TXD引脚输出一个数据位。 当11位数据全部发送后,使TI置1.
波特率=fosc/12
方式2:波特率固定不变,仅与系统的振荡频率fosc有关。
波特率=2SMOD×fosc/64
一、串行口波特率设计 波特率设计
方式1和方式3:波特率是可变的,以T1作波特率发生器,其值由T1 的计数溢出率来决定,其公式为:
波特率=2SMOD/64×(T1溢出率)
当T1作波特率发生器使用时,选用模式2(即8位自动加载方式)。假定 计数初值为X,则计数溢出周期为: 12×(256-x)/fosc 则方式1和方式3波特率计算公式为:
TI
98H
RI
(98H) 标志位
串行口 波特率设计
1
一、串行口波特率设计 波特率(概念)
每秒传送的二进制位数称为波特率:
1波特=1bit/s
例如:电传打字机的传送速率每秒10个字符,若每个字符为11bit, 则波特率为
11×10bit/s=110bit/s
一、串行口波特率设计 波特率设计
方式0:波特率固定不变,仅与系统的振荡频率fosc有关。
T1提供移位脉冲,其波特率=2SMOD×fosc/[32×12×(256-x)]
接收、发送与方式2相同。
串行口应用举例
3
三、串行口应用举例 双机通信-通信协议
1、通信双方波特率均为9600bps,均为串行口方式1。甲机发送,乙机接收。 2、甲机开始发送时,先发一个呼叫信号“0FH”,乙机接收后,若同意接收数 据就发一个应答信号“01H”。 3、当甲机接到“01H”后,开始发送数据。假设发送的数据块首地址是片内 RAM40H单元,数据块长度64H。数据块发送结束后,发送累加校验和。 累加校验和是指数据块中每个字节的算术累加和。 4、乙机接收数据并存放在数据缓冲区。假设数据缓冲区的首地址是片内 RAM40H单元。乙机在接收过程中对接收的数据块也作算术累加和,并 与甲机发送的累加和作比较,若相等则表示接收正确,给甲机发“00H”; 若不等则表示接收不正确,给甲机发“FFH”,请求重发。 5、甲机收到“00H”后,结束发送,否则将数据重发一次。
1、RI=0 2、SM2=0,或接收到的停止位为1
二、串行口工作方式 方式2
11位异步通信方式(1个起始位0、9个数据位、1个停止位)。 其中发送的第9位由SCON的TB8提供,接收的第9位存在SCON的RB8 发送端:TXD(P3.1) 接收端:RXD(P3.0)
T1提供移位脉冲,其波特率=fosc/32或fosc/64。 。
二、串行口工作方式 多机通信
在单片机应用系统中,经常需要多个单片机之间协调工作, 8051单片机的串行口的方式2、方式3有一个专门的领域即多机通信, 利用这一功能,8051单片机可以构成主从式分布系统,如图所示:
二、串行口工作方式 多机通信
(1)所有从机SM2均置1,准备接收地址帧。
(2)主机先发送一个地址帧(TB8=1),指出接收从机地址。