第六章MCS-51单片机的串行口PPT课件
合集下载
MCS-51串行口的工作方式
方ห้องสมุดไป่ตู้0——同步移位寄存器
时序
1.2 方式1——8位UART
数据在TxD发送,接收使用RxD 帧格式固定,每一帧数据共有10位,包括1个起始位、8个数据
位(最低有效位在前)、1个停止位 接收到的停止位保存到SCON的RB8中 波特率可变取决于T1或T2的溢出率、和PCON中的SMOD位 波特率因子为16
单片机原理与应用
MCS-51串行口的工作方式
方式0——同步移位寄存器 方式1——8位UART 方式2和3——9位UART
1.1 方式0——同步移位寄存器
串行数据通过RxD引脚输入或输出 TxD输出移位时钟 发送和接收不可同时进行 发送或接收的均为8位数据,最低有效位在前 波特率固定为单片机振荡频率的1/12
方式1——8位UART
时序
1.3 方式2和3——9位UART
数据在TxD发送,接收使用RxD 帧格式固定,每一帧数据共有11位,包括1个起始位、8个数据
位(最低有效位在前)、1个可编程的第9位数据、1个停止位。第 9位数据在发送时通过TB8赋值为0或1 接收时将第9位数据存入RB8中 波特率
方式2:只能为振荡器频率的1/32或1/64 方式3:与方式1时相同
方式2和3——9位UART
时序
单片机原理与应用
单片机原理及其接口技术--第6章 MCS-51单片机定时器计数器
单片机原理及其接口技术
T/C方式2的逻辑结构图
1
TH1/TH0
T8
T7
T6
T5
T4
T3
T2
T1
寄存器 计数器
束
TL1/TL0
T8
T7
T6
T5
T4
T3
T2
T1
主目录
上一页
下一页
结
单片机原理及其接口技术
4、方式3 M1M0=11 T0和T1有不同的工作方式
C/T0:
TH0和TL0被拆成2个独立的8位计数器。
28),向CPU申请中断,标志位TF1自动置位,若中
断是开放的,则CPU响应定时器中断。当CPU响应
中断转向中断服务程序时,由硬件自动将该位清0。
&
加1计数器 & 1
主目录
上一页
下一页
结
束
EA
ET1
单片机原理及其接口技术
2个模拟的位开关,前者决定了T/C的工作状态:当1单片机有2个特殊功能寄存器TCON和TMOD: TCON:用于控制定时器的启动与停止,中断标志。 TMOD:用于设置T/C的工作方式。
主目录
上一页
下一页
结
束
单片机原理及其接口技术
1.定时器控制寄存器TCON
88H TCON
位地址
D7
D6
D5
D4
D3
D2
D1
D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 8F 8E 8D 8C 8B 8A 89 88
过实时计算求得对应的转速。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 对于定时/计数器来说,不管是独立的定时器芯片还是单
单片机原理及应用教程(C语言版)-第6章 MCS-51单片机的定时器计数器
6.1.1 单片机定时器/计数器的结构
MCS-51单片机定时器/计数器的原理结构图
T0(P3.4) 定时器0 定时器1 T1(P3.5) 定时器2 T2EX(P1.1)
T2(P1.0)
TH0
溢 出 控 制
TL0
模 式 溢 出
TH1
控 制
TL1
模 式 溢 出
TH2
TL2
重装 捕获
RCAP 2H
RCAP 2L
6.2.2 T0、T1的工作模式
信号源 C/T设为1,为计数器,用P3.4引脚脉冲 C/T设为0,为定时器,用内部脉冲 运行控制 GATE=1,由外部信号控制运行 此时应该设置TR0=1 P3.2引脚为高电平,T0运行 GATE=0, 由内部控制运行 TR0设置为1,T0运行
6.2.2 T0、T1的工作模式
6.2.3 T0、T1的使用方法
例6-1 对89C52单片机编程,使用定时器/计 数器T0以模式1定时,以中断方式实现从P1.0引 脚产生周期为1000µ s的方波。设单片机的振荡频 率为12MHz。 分析与计算 (1)方波产生原理 将T0设为定时器,计算出合适的初值,定 时到了之后对P1.0引脚取反即可。 (2)选择工作模式 计算计数值N
6.2.1 T0、T1的特殊功能寄存器
TR1、TR0:T1、T0启停控制位。 置1,启动定时器; 清0,关闭定时器。
注意: GATE=1 ,TRx与P3.2(P3.3)的配合控制。
IE1、IE0:外部中断1、0请求标志位 IT1、IT0:外部中断1、0触发方式选择位
6.2.2 T0、T1的工作模式
6.2.1 T0、T1的特殊功能寄存器
GATE=0,禁止外部信号控制定时器/计数器。 C/T——定时或计数方式选择位 C/T=0,为定时器;C/T=1,为计数器 计数采样:CPU在每机器周期的S5P2期间,对 计数脉冲输入引脚进行采样。
第6章 MCS-51单片机系统扩展技术
6.3 数据存储器扩展
6.3.1 静态RAM扩展电路
6.3.2 动态RAM扩展电路
返回本章首页
6.3.1 静态RAM扩展电路
常用的静态RAM芯片有6116,6264,62256等,其 管脚配置如图6-13所示。
1.6264静态RAM扩展 额定功耗200mW,典型存取时间200ns,28脚双列直插 式封装。表6-1给出了6264的操作方式,图6-14为6264静 态RAM扩展电路。
图 6 9
A EEPROM
28 17
扩 展 电 路
写入数据
不是指令
查询 中断 延时
2.2864A EEPROM 扩展
2864A有四种工作方式: (1)维持方式 (2)写入方式 (3)读出方式 (4)数据查询方式
图 6 12
28 64
返回本节
A EEPROM
扩 展 电 路
串行E2PROM简介 串行E2PROM占用引线少、接线简单,适用于作为数据存储 器且保存信息量不大的场合。 以AT93C46/56/57/66为例,它是三线串行接口E2PROM, 能提供128×8、256×8、512×8或64×16、128×16、256×16 位,具有高可靠性、能重复擦写100,000次、保存数据100年 不丢失的特点,采用8脚封装。
第6章 MCS-51单片机系统扩展技术
6.1 MCS-51单片机系统扩展的基本概念
6.2 程序存储器扩展技术
6.3 数据存储器扩展 6.4 输入/输出口扩展技术
T0 T1
时钟电路
ROM
RAM
定时计数器
CPU
并行接口 串行接口 中断系统
P0 P1 P2 P3
TXD RXD
INT0 INT1
《MCS51系列单片机》PPT课件
P0口经地址锁存器——A0~RAD7 ; P2.0~P2.O4—E—AW8R~A12 。
控制线:ALE接373的LE, 接RAM的 、 接RAM的 片选 , P2.5—— 。CE
,W用E线选法实现
6
[例题] 在上页图的数据存储器扩展电路中,将片内RAM 以50H单 元开始的16个数据,传送片外数据存储器0000H开始的单元中。
; 片内待输出的数据送累加器A
MOVX @DPTR, A
; 数据输出至数据存储器6264
INC R0
INC DPTR
; 修改数据指针
DJNZ R7, AGAIN
; 判断数据是否传送完成
SJMP $
END
7
MCS-51单片机扩展外部存储器
1# 2764, ຫໍສະໝຸດ # 2764,4.2.3 MCS-51对外部存储器的扩展
; 查询等待打印机
MOV DPTR, #7FFCH ; 指向A
MOV A, @R1
; 取RAM
MOVX @ DPTR, A
; 数据输出到8255A
INC R1
; RAM地址加1
MOV DPTR, #7FFFH ; R0指向控制口
MOV A, #01H
; PC0
MOVX @ DPTR, A
; PC0=0, 产生STB的下降沿
3
3.典型扩展电路 MCS-51外扩存储器时应考虑: (1)锁存器的选择与连接; (2)片选信号产生的方法,编址电路设计; (3)存储器的选择与连接。 访问程序存储器的控制信号: ALE ——地址锁存信号 PSEN ——片外程序存储器读信号 EA ——片内/外程序存储器访问选择信号, EA=0:访问片外;EA=1:访问片内。
MCS-51单片机串行通信
9.1 串行通信概述
• ④停止位 表示发送一个数据的结束,用高电平表示,占1 位、1.5 位或2 位。 • 线路空闲时,线路处于逻辑“1”等待状态,即空闲位为1。 空闲位是异步通信特征之一。异步通信中数据传送格式如 图9.1 所示。 • 图9.1 异步通信数据帧格式
图9.1 异步通信数据帧格式
9.1 串行通信概述
9.1 串行通信概述
• 3.波特率 • 波特率是数据传递的速率,指每秒传送二进制数据的位数, 单位为位/秒(bit/s)。 • 例9.1 假设微型打印机最快的传送速率为30 字符/秒,每 个字符为10 位,计算波特率。 • 解: • 波特率=10 b/字符×30字符/s=300 b/s • 每一位代码的传送时间Td 为波特率的倒数: • Td=1/300=3.3 ms • 异步通信的波特率一般在50~19 200 b/s 之间,常用于 计算机到终端机和打印机之间的通信、直通电报以及无线 电通信的数据发送等。
异步10位收发 异步11位收发 异步11位收发
9.2 串行口结构与工作原理
• SM2:多机通信控制位。 • a.用于方式2和方式3。若SM2=1,则允许多机通信。 多机通信协议规定,若第9位数据(RB8)为1,则表明本帧 数据为地址帧。否则,若第9位数据(RB8)为0,则表明本 帧数据为数据帧。 • 当一个8051(主机)与多个8051(从机)进行通信时,令所有 从机的SM2都置1。主机要与某个从机通信,首先发送一 个与该从机相一致的地址帧(每个从机的地址必须惟一), 且第9位为1,所有从机接收到数据后,将第9位送入RB8 中。 • 若RB8=1,说明是地址帧,将数据装入SBUF,且置RI =1,即中断所有从机,若从机判断出该地址帧数据与本 机号(地址)一致,则置SM2=0,准备接收主机发来的数 据。其他从机仍然保持SM2=1。
《单片机中断系统》PPT课件
在中断系统中,高优先级的中断请求能中断正在进行 的较低级的中断源处理。 中断系统
能实现中断功能并能对中断进行管理的硬件和软件称 为中断系统。
本章将讨论MCS51系列单片机的中断系统。
a
3
中断请求是在执行程序的过程中的随机发生的,中断系
统要解决的问题是:
1)CPU在不断的执行指令中,是如何检测到随机发生
中断服务程序 入口 0003H
0013H
000BH
001BH
002BH
0023H
6
(1)中断的允许和禁止——中断控制寄存器IE IE寄存器的各位对应相应的中断源,如果允许该中断
源中断则该位置1,禁止中断则该位0 。
EA
- ET2
ES
ET1
EX1 ET0 EX0
中断总 不 控允/禁 用
T2 允/禁
串行口 允/禁
的中断请求?
2)如何使中断的双方(CPU方和中断源方)均能人为
控制,允许中断或禁止中断。
3)由于中断产生的随机性,不可能在程序中安排调子
程序指令或转移指令,那么如何实现正确的转移,以便为
该中断源服务呢?
4)中断源有多个,而CPU只有一个,当有多个中断源
同时有中断请求时,用户怎么控制 CPU 按照自己的需要安
ET1
1 ES
1 ET2 EA
源允许 总允a许
IP PX0 1
0
PT0 1 0
PX1 1 0
PT1 1 0
PS 1 0
PT2 1 0
优先级
高
自
级
然
中
优
断
先
请
级
求
矢量地址
PC
硬件查询
能实现中断功能并能对中断进行管理的硬件和软件称 为中断系统。
本章将讨论MCS51系列单片机的中断系统。
a
3
中断请求是在执行程序的过程中的随机发生的,中断系
统要解决的问题是:
1)CPU在不断的执行指令中,是如何检测到随机发生
中断服务程序 入口 0003H
0013H
000BH
001BH
002BH
0023H
6
(1)中断的允许和禁止——中断控制寄存器IE IE寄存器的各位对应相应的中断源,如果允许该中断
源中断则该位置1,禁止中断则该位0 。
EA
- ET2
ES
ET1
EX1 ET0 EX0
中断总 不 控允/禁 用
T2 允/禁
串行口 允/禁
的中断请求?
2)如何使中断的双方(CPU方和中断源方)均能人为
控制,允许中断或禁止中断。
3)由于中断产生的随机性,不可能在程序中安排调子
程序指令或转移指令,那么如何实现正确的转移,以便为
该中断源服务呢?
4)中断源有多个,而CPU只有一个,当有多个中断源
同时有中断请求时,用户怎么控制 CPU 按照自己的需要安
ET1
1 ES
1 ET2 EA
源允许 总允a许
IP PX0 1
0
PT0 1 0
PX1 1 0
PT1 1 0
PS 1 0
PT2 1 0
优先级
高
自
级
然
中
优
断
先
请
级
求
矢量地址
PC
硬件查询
51单片机教程ppt
MCS-51单片机的中断系统结构
主程序
中断响应
中断请求
执行主 程序
断点
继续执行 主程序
执行 中断 处理 程序
中断返回
二、中断请求标志
1、TCON的中断标志
IT0(TCON.0),外部中断0触发方式控制位。 当IT0=0时,为电平触发方式。 当IT0=1时,为边沿触发方式(下降沿有效)。 IE0(TCON.1),外部中断0中断请求标志位。 IT1(TCON.2),外部中断1触发方式控制位。 IE1(TCON.3),外部中断1中断请求标志位。 TF0(TCON.5),定时/计数器T0溢出中断请求标志位。 TF1(TCON.7),定时/计数器T1溢出中断请求标志位。
ALE/PROG
PSEN P2.7
P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
2.2 MCS-51单片机的最小系统
C1
CYS
C2
MCS-51 XTAL1
XTAL2
2.3 MCS-51单片机的引脚
MCS-51引脚描述
➢主电源引脚VCC和VSS ➢外接晶振引脚XTAL1
和XTAL2 ➢控制或电源复用引脚
T0/P3.4 14
T1/P3.5 15
WR/P3.6
16
RD/P3.7 17
XTAL2 18
XTAL1 19
VSS 20
40
39
38
37
36
35
8031 8051
34 33
8751 32
31
30
29
28
27
26
25
24
23
22
21
VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/Vpp
MCS-51单片机的串行口及控制寄存器
位序
B7
B6
B5
B4
B3
B2
B1
B0
位符
smod
/
/
/
GF1
Hale Waihona Puke GF0PDIDL
号
PD和IDL:是CHMOS单片机用于进入低功耗方式的控制位,在第 2章中已介绍过这两位的应用。
GF1和GF0:用户使用的一般标志位。
smod:串行口波特率倍增位,当smod=1时,串行口波特率增加 1倍。系统复位时,smod=0。
位地 址
位符 号
0AFH 0AEH 0ADH 0ACH 0ABH 0AAH 0A9H 0A8 H
EA
/
/
ES
ET1
EX1
ET1 EX0
其中与串行口有关的是ES位。当ES=0时,禁止串行口的中断; 当ES=1时,表示允许串行口中断。EX0、ET0、EX1、ET1分别表示 对外中断0、定时器/计数器0、外中断1、定时器/计数器1个中断 源的中断允许控制,EA是中断总允许控制位,详见本书第5章介绍。
PCON寄存器的B6、B5、B4位未定义。
3. 中断允许寄存器IE
中断允许寄存器IE,是MCS-51单片机中实现是否开放某 中断源中断的控制寄存器,在第5章中已做过介绍。IE寄存 器 是 可 寻 址 的 寄 存 器 , 其 字 节 地 址 为 0 A8H, 位 地 址 由 0A8H~0AFH,IE寄存器各位定义如下:
0BBH PT1
0BAH PX1
0B9H PT0
0B8H
PX0
其中与串行口有关的是PS位,当PS=0时,表示串行口中断处于 低优先级别;当PS=1时,表示串行口中断处于高优先级别。PX0、 PT0、PX1、PT1分别控制外中断0、定时器/计数器0、外中断1、定 时器/计数器1中断源的中断优先级别,详见本书第5章介绍。
第6章MCS-51单片机的内部资源
6.2.3 中断的控制
MCS-51单片机中断系统中有两个特殊功能寄存器:中断 屏蔽寄存器IE和中断优先级寄存器IP。用户通过对这两 个特殊功能寄存器的编程设置,可以灵活地控制每个中 断源的中断允许或禁止以及中断优先级。 1. 中允控制
所谓中允控制是中断源的中断请求能否被CPU检测到, 即确定中断请求是否允许送达CPU。MCS-51单片机中没 有专门的开中断和关中断指令,对各个中断源的允许和 屏蔽是由内部的中断允许寄存器IE的各位来控制的。中 断允许寄存器IE的字节地址为A8H,可以进行位寻址。 IE的位定义格式如图6-4所示。
对于电平触发方式,只要P3.2(或P3.3)引脚为低电平, IE0(或IE1)就置1,请求中断,CPU响应后不能够由硬 件自动将IE0(或IE1)清零。如果在中断服务程序返回 时,P3.2(或P3.3)引脚还为低电平,则又会中断,这样 就会出现一次请求,中断多次的情况。为避免这种情况, 只有在中断服务程序返回前撤消P3.2(或P3.3)的中断请 求信号,即使P3.2(或P3.3)为高电平。通常通过下图63所示外电路来实现。
3.中断允许与中断屏蔽
当中断源提出中断请求,CPU检测到后是否立即进行中 断处理呢?结果不一定。CPU要响应中断,还受到中断 系统多个方面的控制,其中最主要的是中断允许和中断 屏蔽的控制。如果某个中断源被系统设置为屏蔽状态, 则无论中断请求是否提出,都不会响应;当中断源设置 为允许状态,又提出了中断请求,则CPU才会响应。另 外,当高优先级中断正在响应时,也会屏蔽同级中断和 低优先级中断。
串行口中断TI、RI
(3)软硬件结合清“0” 低电平触发的外部中断标志位IE0、IE1
6.2.4 中断响应
1. 中断响应条件 中断响应是有条件的,并不是查询到的所有中断请求都 能被立即响应。MCS-51单片机的CPU在每个机器周期会 顺序检查每一个中断源,在机器周期的S6阶段采样并按 优先级顺序处理所有被激活了的中断请求,如果没有被 下述条件所阻止,将在下一个机器周期的状态P1(S1) 响应激活了的最高级中断请求。 (1) 无同级或高级中断正在处理。 (2) 现行指令执行到最后一个机器周期且已结束。 (3) 若现行指令为RETI或访问IE、IP的指令时,执行完该 指令且紧随其后的另一条指令也已执行完毕。 如果存在上述条件之一,CPU将丢弃中断查询结果,不 能对中断请求进行响应。
第六章mcs-51单片机IO端口(1)
第六章mcs-51单片机IO端口(1)
准双向口:从图中结构看,引脚上的外部信号既加在三态缓 冲器的输入端上,又加在输出级FET2的漏极上,若此FET2 是导通的(相当于曾输出锁存过数据0),则引脚上的电位始 终被钳位在0电平上(除非外部信号源有极大的负载能力), 输入数据不可能正确地读入。因此P0口是一个准双向口,即 在输入数据时,应先把口置1,也就是锁存器的~Q为0,这样 使输出级的2个FET都截止,引脚处于悬浮状态,可作高阻抗 输入。这就是所谓的准双向口。
下图为P0口的某位P0.n(n=0~7)结电路和一个输出控 制电路组成。输出驱动电路由一对FET(场效应管)组成,其 工作状态受输出控制电路的控制,后者包括:1个与门、1个反 相器和1个模拟转换开关(MUX)。
读锁存器
内部总线 写锁存器
地址/数据 VCC 控制
第六章 MCS-51的I/0
第六章mcs-51单片机IO端口(1)
单片机I/O口的使用
对单片机的控制,其实就是对I/O口的控制,无论单片机 对外界进行何种控制,或接受外部的控制,都是通过I/O 口进行的。51单片机总共有P0、P1、P2、P3四个8位双 向输入输出端口,每个端口都有锁存器、输出驱动器和输 入缓冲器。4个I/O端口都能作输入输出口用,其中P0和 P2通常用于对外部存储器的访问。
读锁存器
地址/数据 VCC 控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
第六章mcs-51单片机IO端口(1)
2、P0作为地址/数据总线
当P0口作为地址/数据总线使用时,可以分为两种情况。一种情况 是从P0输出地址或数据,这时CPU发出的控制信号应为高电平1, 转换开关把反相器输出端与下拉FET接通,同时与门开锁。输出的 地址或数据信号即通过与门去驱动上拉FET,又通过反相器去驱动 下拉FET。另一种情况是从P0输入数据,这时信号仍应从输入缓冲 器进入内部总线。
准双向口:从图中结构看,引脚上的外部信号既加在三态缓 冲器的输入端上,又加在输出级FET2的漏极上,若此FET2 是导通的(相当于曾输出锁存过数据0),则引脚上的电位始 终被钳位在0电平上(除非外部信号源有极大的负载能力), 输入数据不可能正确地读入。因此P0口是一个准双向口,即 在输入数据时,应先把口置1,也就是锁存器的~Q为0,这样 使输出级的2个FET都截止,引脚处于悬浮状态,可作高阻抗 输入。这就是所谓的准双向口。
下图为P0口的某位P0.n(n=0~7)结电路和一个输出控 制电路组成。输出驱动电路由一对FET(场效应管)组成,其 工作状态受输出控制电路的控制,后者包括:1个与门、1个反 相器和1个模拟转换开关(MUX)。
读锁存器
内部总线 写锁存器
地址/数据 VCC 控制
第六章 MCS-51的I/0
第六章mcs-51单片机IO端口(1)
单片机I/O口的使用
对单片机的控制,其实就是对I/O口的控制,无论单片机 对外界进行何种控制,或接受外部的控制,都是通过I/O 口进行的。51单片机总共有P0、P1、P2、P3四个8位双 向输入输出端口,每个端口都有锁存器、输出驱动器和输 入缓冲器。4个I/O端口都能作输入输出口用,其中P0和 P2通常用于对外部存储器的访问。
读锁存器
地址/数据 VCC 控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
第六章mcs-51单片机IO端口(1)
2、P0作为地址/数据总线
当P0口作为地址/数据总线使用时,可以分为两种情况。一种情况 是从P0输出地址或数据,这时CPU发出的控制信号应为高电平1, 转换开关把反相器输出端与下拉FET接通,同时与门开锁。输出的 地址或数据信号即通过与门去驱动上拉FET,又通过反相器去驱动 下拉FET。另一种情况是从P0输入数据,这时信号仍应从输入缓冲 器进入内部总线。
单片机原理课件ppt
2
7
3 P C-TXD
8
4 串口通讯电缆线PC端子 9
5
Vcc 1 6 GND 15 T1o u t 1 4 R1 in 1 3 R1 ou t 1 2 T1in 1 1 T2in 1 0 R2 ou t 9
DB9
独石电容 1 04
P 3.1 5 1-TXD P 3.0 5 1-RXD
VCC
VCC
P 0.0
7 P1. 6 (MOSO) (AD5 ) P0. 5 3 4
8 P1. 7 (SCK) (AD6 ) P0. 6 3 3
9 RST
(AD7 ) P0. 7 3 2
1 0 P3. 0 (RXD) EA/VPP 3 1
1 1 P3. 1 (TXD) ALE/PROG 3 0
1 2 P3. 2 (INT0 )
第三章
第三章 指令系统与程序设计
第四章
第四章 MCS—51定时计数器及其应用
第五章
第五章 串行接口
VCC
1 04
独石电容
1 04
独石电容
1 04
独石电容
1 04
独石电容
TT L转RS232接口
RS23 2 1 C1+
Vcc 1 6
2 V+
GND 15
3 C1-
T1o u t 1 4
4 C2+
R1 in 1 3
P 0.1
P 0.2
P 0.3
P 0.4
P 0.5
P 0.6
P 0.7
EA ALE
VCC
P SEN
TLC2 5 4 3
VCC EOC C LOCK DATAI DATAO
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
小结:1、定时/计数的四种方式是怎样的? 2、如何计算计数初值?如何编程送入计数初值? 3、GATE的用法是怎样的?
第六章 MCS-51单片机串行接口
一、串行通信概述
1、什么叫串行通信?
在生活中同学们排横队行走—— 并行;排纵队行走— — 串行。计算机中在传输信息、数据时也有并行(按 字节传送)、串行(按位传送)的问题。
TI / RI :中断请求标志位(前面已讲过)
2、串行口的工作方式 (1)方式0:同步移位寄存器方式
TEST2:JB P3.2,TEST2 ;检测是否到2点 CLR TR0 ;到2点,停止T0计时,T1开始计时。 MOV 20H,TH0 ;保存T0计时结果 MOV 21H,TL0
TEST3:JB P3.3,TEST3 ;检测是否到3点 CLR TR1 ;到3点,停止T1计数 MOV 22H,TH1 ;保存T1计数结果 MOV 23H,TL1 LCALL DISP SJMP $
P1.0
00111
P1.11 00P.20010P1.3
11
外设1
单片机
RXD TXD
1010 1000
外设2
2、同步通信、异步通信
同步——发送设备时钟与接收设备时钟严格一致, 以数据块为单位传送。
发送设备
接收设备
校验字符2 校验字符1 数 据 n … … 数 据 2 数 据 1 同步字符2 同步字符1 …
MOV TL0,A MOV TH0,A
MOV TL1,A
MOV TH1,A
TEST0: JB P3.2,TEST0 ;检测是否到a点 SETB TR0 ;到a点,TR0 = 1,做好取计时值准备。
TEST1: JNB P3.2,TEST1 ;检测是否到1点 SETB TR1 ;到1点T0计时;TR1 = 1,做好T1计时准备。
举例、设有一帧信息,1个起始位、8个数据位、1个停止位,传输 速率为每秒240个字符。求波特率。
解:(1+8+1)×240 = 2400 b/s = 2400波特。
5、串行通信接口
发送:
CPU
D7 D6 D5 D4 D3 D2 D1 D0 发送寄存器SBUF
1 D7 D6 D5 D4 D3 D2 D1 D0 0
T1
2ms
T = 12×1/fosc = 2us
选取T0定时;T1计数。
设T0采用中断方式产生周期为2ms方波,T1对该方波计数,当输 出至第1000个脉冲时,使TF1置1。 在主程序中用查询方法,检 测到TF1变1时,关掉T0,停止输出方波。
T0、T1参数的确定:
T0模式0、定时:脉宽为脉冲周期的一半
异步—— 发送时钟与接收时钟不一定相等,以字符为 单位传送。
空闲位 停止位 奇偶校验位 5~8位数据 起始位 空闲位
3、串行通信的方向
单工
A
B
发
发
例如:广播电台
A 发 半双工 收
收音机
B 收
发
例如:
对讲机
A
B
全双工 发
收
收
发
例如:
电话机
4、波特率
即串行通信速率。 b/s 、 bps
在异步通信中,单位时间内所传送的有效二进制位数——波特率。
GATE = 1时,TRi = 1,且 INTi =1,才启动定时 / 计数。
ORG 0000H
LJMP MAIN
ORG 2000H
MAIN:MOV TMOD,#99H ;T0、T1均工作在定时,
;模式1,GATE=1
MOV A,#00H
;T0、T1赋计数初值00H,
; 定时最长时间为0000 ~ 65536
发送时钟:
接收:
接收数据寄 存器SBUF
CPU
D7 D6 D5 D4 D3 D2 D1 D0
1 D7 D6 D5 D4 D3 D2 D1 D0 0
接收时钟
二、MCS-51机串行接口
单片机内有通用异步接收/发送器 UART。
全双工,4种工作方式,波特率可编程设置,可中断。 1、串口的组成
从编程角度讲来看主要由以下寄存器组成。 SBUF—— 串行发送 / 接收数据缓冲器
MAIN: MOV TMOD,#50H;T0定时,模式0;T1计数,模式1 MOV TL0,#0CH MOV TH0,#0F0H MOV TL1,#18H MOV TH1,#0FCH
SETB TR1 SETB TR0 SETB ET0 SETB EA WAIT: JNB TF1,WAIT;查询1000个脉冲计够没有到? CLR EA CLR ET0 ANL TCON,#0FH ; 停T0、T1 SJMP $ TOS: MOV TL0,#0CH MOV TH0,#0F0H CPL P10 RETI END
例3、脉冲参数测量——GATE功能的使用。
脉冲高电平(计数)长度值存于21H、20H中,
脉冲低电平长度存于23H、22H中。
电路连接如下图所示。
被测信号
a
1
2
3
T0计数 T1计数
8031
P3.2 INT 0
1
P3.1
INT 1
解: 复习GATE的用法: GATE = 0时,TRi = 1,即可启动Ti定时 / 计数
定时 / 计数器的应用
复习:
TMOD GATE C/ T M1
M0 GATE C / T M1 M0
TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
例2、设fosc = 6MHz,利用单片机内定时/P1.0口线输出1000个脉 冲,脉冲周期为2ms,试编程。
8031 P1.0
是两个物理单元,共用一个地址(99H) PCON—— 电源管理寄存器
SMOD
SMOD位用于决定波特率的倍数。 0
20 = 1倍
1
21 = 2倍
SCON—— 串行口控制寄存器
SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0、SM1:工作方式选择位(四种工作方式) SM2:多机通信控制位(常与RB8配合,决定是否激活RI) REN:允许接收控制位 TB8:发送的第九位数 RB8:接收的第九位数
所以,X = 213-1ms / 2us = 0001 1110 0000 1100B
TH0 = 0F0H ;
TL0 = 0CH
T1模式1、计数:N = 1000
则 X = 65536-1000 = 64536 = 0FC18H
(若选模式0也可以,此时X = 7192=1C18H)
程序: ORG 0000H LJMP MAIN ORG 000BH LJMP TOS ORG 1000H