第4章MCS51单片机的定时器
第4章MCS-51单片机系统功能扩展

74LS373结构示意图
74LS373的引脚
引脚说明如下: D7~D0: 8位数据输入端。 Q7~Q0: 8位数据输出端。 G:数据输入锁存控制端:当G为“1” 时,锁存器 输出端与输入端数据相同;当G由“1” 变“0” 时,数据输入锁存器中。 OE#: 输出允许端。
P0口与地址锁存器74LS373的连接
4.1 系统扩展概述
4.1.1 最小应用系统
图4.1 MCS–51单片机最小化系统 (a) 8051/8751最小系统结构图;(b) 8031最小系统结构图
4.1.2 单片机系统扩展的内容与方法
1.单片机的三总线结构
图4.2 MCS–51单片机的三总线结构形式
(1)以P0口作为低8位地址/数据总线。 (2)以P2口的口线作高位地址线。 (3)控制信号线。 *使用ALE信号作为低8位地址的锁存控制信号。 *以PSEN#信号作为扩展程序存储器的读选通信号。 *以EA#信号作为内外程序存储器的选择控制信号。 *由RD#和WR#信号作为扩展数据存储器和I/O口的 读选通、写选通信号。 尽管MCS-51有4个并行I/O口,共32条口线,但由于系 统扩展需要,真正作为数据I/O使用的,就剩下P1 口和P3口的部分口线。
锁存器8282 功能及内部结构与74LS373完全一样,只是其引脚的排 列与74LS373不同 ,8282的引脚如下图。
4.2.2 74LS244和74LS245芯片
在单片机应用系统中, 扩展的三总线上挂接
很多负载, 如存储器、并行接口、A/D接口、显
示接口等, 但总线接口的负载能力有限, 因此常
3) 采用地址译码器的多片程序存储器的扩展
例3 要求用2764芯片扩展8031的片外程序存储器,分配的 地址范围为0000H~3FFFH。
MCS-51单片机的定时器计数器

1. 定时器T0/T1 中断申请过程
(1)在已经开放T0/T1中断允许且已被启动的前提下, T0/T1加1计满溢出时 TF0/TF1标志位自动置“1” ;
(2)CPU 检测到TCON中TF0/TF1变“1”后,将产生指 令:LCALL 000BH/LCALL 001BH 执行中断服务程序;
(3)TF0/TF1标志位由硬件自动清“0”,以备下次中断申
郑州大学
docin/sundae_meng
(3)工作方式寄存器TMOD
T1
T2
GATE C / T M1 M0 GATE C / T M1 M0
M1,M0:工作方式选择位 。
=00:13位定时器/计数器; =01:16位定时器/计数器(常用); =10:可自动重装的8位定时器/计数器(常用); =11:T0 分为2个8位定时器/计数器;仅适用于T0。 C/T :定时方式/计数方式选择位。 = 1:选择计数器工作方式,对T0/T1引脚输入的外部事件 的负脉冲计数; = 0 :选择定时器工作方式,对机器周期脉冲计数定时。 如下页图所示。
CPL P1.0 MOV TH0,#15H MOV TL0,#0A0H
START:MOV SP,#60H MOV P1,#0FFH
SETB TR0 POP PSW
MOV TMOD,#01H MOV TH0,#15H MOV TL0,#0A0H
POP ACC RETI END
SETB EA
Байду номын сангаас
SETB ET0
定时器/计数器0采用工作方式1,其初值为:
21650ms/1s=6553650000=15536=3CB0H
电路图如下:
郑州大学
docin/sundae_meng
MCS-51单片机的定时器-计数器

MCS-51的定时器/计数器共有四种工作方式。工作在方式0、方 式1和方式2时,定时器/计数器0和定时器/计数器1的工作原理完全 一样,现以定时器/计数器0为例介绍前三种工作方式。
1. 方式0(M1M0=00) (1)电路逻辑结构
方式0是13位计数结构的工作方式,其计数器由TH0全部8位 和TL0的低5位构成。TL0高三位弃之不用。图6.4 是定时器/计数 器0工作在方式0的逻辑结构。
分析:题目的要求可用下图来表示。
。
P1.0
8051 250 s 250 s
由上图可以看出只要使 的电位每隔250 取一次反即可。所 以定时时间应取250 。
1)计算计数初值 设计数初值为x,由定时计算公式知:
2)专用寄存器的初始化
D7
D6 D5 D4
D3
D2 D1
D0
GATE
GATE
所以,TMOD应设置为:10H 开放定时器/计数器1中断,所以IE应设置为:88H
当GATE=1时,只有TR0和 同时为高电平,定时器/计数 器 才工作,否则,定时器/计数器不工作。
(2)定时和计数的应用 计数范围:1~213 计数计算公式:计数值=213-计数初值 定时范围:1机器周期~213机器周期 定时计算公式:定时时间=(213-定时初值)×机器周期 如果晶振频率为6MHz ,则最大定时时间为: 213×1/6MHz×12=214( )
单片机原理及应用
MCS-5单片机内部共有两个16位可编程的定时器/计数器,即 定时器T0和定时器T1它们既有定时功能又有计数功能。
1.1 结构
定时器/计数器的基本结构如图6.3所示。基本部件是两个8位计 数器(其中TH1和TL1是T1的计数器,TH0和TL0是T0的计数器)。
MCS-51单片机内部定时器计数器

二、 方式1
方式 1(16位计数器)
•MCS-51单片机内部定时器计数器
方式1和方式0的工作原理基本相同,唯一 不同是T0和T1工作在方式1时是16位的计数/定 时器。
方式1时的计数长度M是2的16次方。16位 的初值直接拆成高低字节,分别送入TH和TL 即可。
•MCS-51单片机内部定时器计数器
M1 M0:四种工作方式的选择位 工作方式选择表
M1 M0 方式
说明
0 0 0 13 位定时器(TH的 8 位和TL的低 5 位)
0 1 1 16 位定时器/计数器
1 0 2 自动重装入初值的 8 位计数器 T0 分成两个独立的 8 位计数器,
1 1 3 T1 在方式 3 时停止工作
定时 1 ms的初值:
因为 机器周期=12÷6 MHz= 2 μs
所以 1 ms内T0 需要计数N次:
•MCS-51单片机内部定时器计数器
N= 1 ms÷2 μs = 500
由此可知: 使用方式 0 的 13 位计数器即可, T0 的初值X为 X=M-N=8 192-500=7 692=1E0CH 但是, 因为 13 位计数器中, 低 8 位 TL0 只使用了 5 位, 其 余码均计入高 8 位TH0 的初值, 则 T0
0。TF产生的中断申请是否被接受, 还需要由中断计数器T1、 T0 的运行控制位,
通过软件置 1 后, 定时器 /计数器才开始工作, 在系统复位时
被清 0。
•MCS-51单片机内部定时器计数器
定时器的工作方式
一、 方式 0
方式 0(13位计数器)
•MCS-51单片机内部定时器计数器
•MCS-51单片机内部定时器计数器
单片机课件5MCS-51单片机定时器计数器

定时器的示例代码
基于MCS-51单片机和定时器 计数器,实现控制蜂鸣器的 状态或LED的闪烁频率。
实践演示
控制蜂鸣器的状态
借助定时器计数器,设置蜂鸣器的开关状态以及背 景灯。
控制LED的闪烁频率
基于定时器计数器,利用MCS-51单片机来控制LED 灯的闪烁速率。
总结
1
重要性和应用
定时器计数器是单片机非常重要的组件之一,其应用非常广泛。
5MCS-51单片机定时器计 数器
本课件将介绍单片机中定时器计数器的作用、类型、寄存器、应用以及示例 代码,展现出单片机学习与应用的魅力。
什么是定时器计数器
1 时间的记录器
定时器计数器是一种可编 程的时间计算器,可用于 各种计时和计数任务。
2 核心组件
作为单片机的核心之一, 定时器计数器可以用来控 制其它模块的工作。
3 可编程
可以通过设置定时器的各 个寄存器来控制计时或计 数的周期、频率和模式。
MCS-51单片机的定时器计数器
定时器模块的功能
以MCS-51单片机为例,定时器计数器可以控制脉 冲的发生和周期、计数等。
定时器的类型
MCS-51单片机的定时器分为两种类型:定时器0和 定时器1,每种定时器都具有其特定的应用场景。
2
对单片机的学习和应用的帮助
通过学习单片机和定时器计数器,可以帮助我们更好地理解单片机的工作原理和应用场景。
3
接下来的拓展用,如机器人、智能家居等领域。
定时器的寄存器
MCS-51单片机的定时器计数器有多个寄存器,包 括计数器寄存器、模式寄存器和数据寄存器。
定时器的应用
定时器的使用方法
通过编程初始化各个寄存器, 设置定时器的模式、计数周 期和计数方式等,以达到所 需的计时或计数效果。
51单片机定时计数器的工作原理

51单片机定时计数器的工作原理
51单片机是一种常用的微控制器,它具有多个定时计数器,其中包括定时器0和定时器1。
这些定时计数器是通过内部时
钟源提供的脉冲进行计数的。
定时器0和定时器1是独立的计数器,它们可以用于不同
的应用。
这里我们将主要关注定时器0的工作原理。
定时器0
由一个八位计数器和一个控制寄存器组成。
当定时器0启动时,它会根据时钟源提供的脉冲进行计数,每个脉冲会使计数器的值增加1。
定时器0的计数范围为0-255,即八位二进制数。
通过控制寄存器,我们可以设置定时器0的工作模式、计
数器的初始值以及时钟源的频率。
定时器0可以以不同的方式工作,包括定时模式和计数模式。
在定时模式下,我们可以设置一个初始值,并在每次计数
器增加到该值时产生一个中断。
这样就可以实现精确的定时功能。
定时器0的中断服务程序可以完成各种操作,例如控制其他外设、延时等。
在计数模式下,定时器0将简单地计数外部触发信号的脉
冲次数。
这可以用于测量外部事件的时间间隔或频率。
需要注意的是,定时器0的工作需要通过编程来完成。
我
们可以使用汇编语言或C语言来配置定时器0的寄存器,并
设计相应的中断服务程序。
51单片机定时器的工作原理是通过定时器0和定时器1实
现计数功能。
定时器0可以在定时模式或计数模式下工作,通过设置计数值和时钟源频率,实现精确的定时功能或测量外部
事件的时间间隔或频率。
编程则是必不可少的,通过配置寄存器和编写中断服务程序来实现定时器的工作。
第04章 单片机中断系统 习题解答

第4章单片机中断系统习题解答一、填空题1.MCS-51单片机有 5 个中断源。
上电复位时,同级中断的自然优先级从高至低依次为外中断0、定时器/计数器0、外中断1、定时器/计数器1、串行口,若IP=00010100B,优先级别最高者为外中断1、最低者为定时器/计数器1。
2.外部中断请求有低电平触发和下降沿触发两种触发方式。
3.MCS-51单片机5个中断源的中断入口地址为:0003H、000BH、0013H、001BH、0023H。
4.当定时器/计数器1申请中断时,TF1为 1 ,当中断响应后,TF1为 0 。
当串口完成一帧字符接收时,RI为 1 ,当中断响应后,RI为 1 ,需要软件清零。
5.中断源扩展有三种方式,分别是定时器/计数器扩展、查询方式扩展、中断控制芯片扩展。
二简答题1.MCS-51单片机有几个中断源?各中断标志是如何产生的?如何撤销的?各中断源的中断矢量分别是什么?答:MCS-51单片机有5个中断源。
外中断0/1电平触发方式,在对应引脚上检测到低电平将中断标志位IE0/1置1向CPU申请中断,边沿触发方式,在对应引脚上检测到负跳变将中断标志位IE0/1置1向CPU申请中断;定时器/计数器0/1在计数溢出时将TF0/1置1向CPU申请中断;串行口发送1帧结束将TI置1或接收1帧数据将RI置1向CPU申请中断。
对于T0/T1和边沿触发的INT0/INT1中断标志在进入中断服务程序后自动撤销;对于电平触发的INT0/INT1需在中断申请引脚处加硬件撤销电路;对于串行口中断标志TI/RI需在进入中断服务程序后用软件CLR RI或CLR TI,撤销。
它们的中断矢量分别是:0003H、000BH、0013H、001BH、0023H。
2.简述MCS-51中断过程答:中断过程分中断申请、中断响应、中断处理、中断返回4个阶段。
中断请求:各中断源根据自身特点施加合适的信号,将对应的中断标志位置1向CPU申请中断。
第4章 MCS-51单片机汇编语言程序设计

程序清单:
送转移地址序号
A,R3 ;取序号 A ;序号乘2 DPTR, #JTAB ;32个子程序 首地址送DPTR JMP @A+DPTR ;根据序号转移 JTAB: AJMP ROUT00 ;32个子程序首地址 AJMP ROUT01 … MP: MOV RL MOV AJMP ROUT31
第 四 章 MCS-51 单 片 机 汇 编 语 言 程 序 设 计
【例4-1】
双字节二进制数求补。
程序说明:对R3(高8位)、R2(低8位)中的二进制定 点数取反加1即可得到其补码。
开始
程序清单:
BINPL:MOV A,R2 CPL A ADD A,#01H MOV R2,A MOV A,R3 CPL A ADDC A,#00H MOV R3,A RET ;低位字节取反 ;加1 ;低位字节补码送R2 ;高位字节取反 ;加进位 ;高位字节补码送R3
散转生成正确偏移号
置换指令地址表首址
转入R3指示的程序
AJMP
……
AJMP
第 四 章 MCS-51 单 片 机 汇 编 语 言 程 序 设 计
3.循环程序
包括:循环初始化、循环处理、循环控制
开始 置初值 循环体 循环结束? Y 循环修改 N 循环体 循环结束? N Y 结束 循环修改 结束 开始 置初值
;调用查表子程序 ; 暂存R1中 ;调查表子程序 ;平方和存A中 ;等待
取第一个数→A 调查表子程序 结果存入R1 取下一个数→A 调查表子程序 两数平方相加 存结果
子程序清单:
SQR: INC A ;加RET占的一个字节 MOVC A,@A+PC ;查平方表 RET TAB: DB 0,1,4,9,16 DB 25,36,49,64,81 END
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
式0实质上是一个13位定时/计数器运作方式。以定时器1为 例给出了方式0的逻辑结构图如图所示。
计数时,TL1溢出后向TH1进位,TH1溢出后将TF1 置位, 如果中断允许,CPU响应中断并转入中断服务程序,由内部 硬件清TF1。TF1也可以由程序查询和清零。
定时器/计数器T0、T1的内部结构框图
说明: (1)单片机定时器/计数器的核心是一个可预置的加1计数 器.其基本功能是计数加1。 若是对单片微机的T0或T1 引脚上输入的一个1到0的跳 变进行计数增 l,即是计数功能。 若是对单片微机内部的机器周期进行计数,从而得到定 时,这就是定 时功能。 (2)计数器的初值可通过内部总线设定。 (3)计数器的启动可由软件和硬件控制, 方式可通过软件选 择。 (4)计数器的长度(位数)可用软件设定。 (5) 定时器/计数器是16位,最大计数值为65535,超过最 大值后定时器/计数器会溢出。 (6) 8051的定时器/计数器除了可用作定时器或计数器之 外,还可用作串行接口的波特率发生器。
TR0(TCON.4)——T0的运行控制位。 • IE1(TCON.3)——外部中断1下降沿触发标志位。 • IE0(TCON.I)——外部中断0下降沿触发标志位。 • IT1(TCON.0)——外部中断1触发类型选择位。 • IT0(TCON.0)——外部中断0触发类型选择位。
4.2 定时器/计数器的工作方式
第4章 MCS-51单片 机的定时器/计数器
4.1 定时器/计数器的结构 4.2 定时器/计数器的工作方式 4.3 定时器/计数器应用举例 4.4 定时器/计数器的扩展
4.1 定时器/计数器的结构
定时和计数功能在单片机应用中十分普遍.为了 方便应用,单片机内部配置了2个16位的可编程的定时/ 计数器T0和T1.其内部结构及其工作原理如下:
以上的控制信号 由2个8位寄存器来完成。
4.1.1 工作方式控制寄存器TMOD
工作方式控制寄存器TMOD用于控制定时器/计数 器的工作方式以及四种工作模式。TMOD的字节地址 是89H。
TMOD的低4位用来定义T0,高4位用来定义T1。 各位的意义如下:
D7
D6 D5 D4 D3 D2 D1 D0
GATE C/T M1 M0 GATE C/T M1 M0
T1
T0
C/T——功能选择位。
C/T=0时,选择定时功能。
计数输入信号是内部时钟脉冲,每个机器周期使寄存器的 值增1。因此定时器的定时时间,与系统的振荡频率fosc、计数器 的长度和初始值等有关。
C/T=1时,选择计数功。
这时,通过引脚T0(P3.4)和T1(P3.5)对外部信号进行计 数。在每个机器周期内检测一次引脚,若一次为高电平,下一次 为低电平,计数器就加1。因此,频率不能高于fosc/24。
其中各位的意义如下:
• TF1(TCON.7)——定时器/计数器T1的溢出标志。 T1溢出时,该位由内部硬件置位。若中断开放,即响应
中断,进入中断服务程序后,由硬件自动清0;若中断禁止, 可用于判跳,用软件清0。 • TR1(TCON.6)——T1的运行控制位。
用软件控制,置 l时,启动 T1;清0时,停止 T1。 • TF0(TCON.5)——T0的溢出标志。
GATE——门控位。
GATE=1时,由外部中断引脚、和TR0、TR1共同来启动定 时器。当引脚INT0为高电平时,TR0置位启动定时器T0;当引 脚INT1为高电平时,TR1置位,启动定时器T1。
GATE=0时,仅由TR0和TR1置位来启动定时器T0和T1。
M1、M0——工作方式选择位。
由于有M1和M0两位,可以有四种工作方式:
振荡器
1/12
T1脚(P3.5) TR1
C/T 0 C/T 1
TL1 (8位)
控制端
B
GATE
A
+
TH1 (8位)
TF1 中断 重新装入
INT1脚
方式2的意义及实现方法: 采用工作方式0或1都要在溢出后做一个重置预置数的工作,
做工作当然就得要时间,一般来说这点时间不算什么,可是有 一些场合我们还是要计较的,所以就有了第三种工作方式;自动 再装入预置数的工作方式。
M1 M0 工作方式
说明
00
0
13位计数器
01
1
16位计数器
10
2
自动重装8位计数器
11
3
T0;分成2个8位计数器
T1;停止定时或计数
4.1.2 定时器/计数器控制寄存器TCON
控制寄存器TCON是一个逐位定义的8位寄存器,字节地址 为88H,位寻址的地址为88H~8FH。其格式如下:
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位功能 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
既然要自动新装入预置数,那么预置数就需要一个地方存放, 方式2中的计数器的高8位THi就是用于此功能,存放预置数,此 时高8位不能参与作计数器使用了,定时/计数的功能只是由低8 位TLi来实现,计数范围也就比16位小多了。从上图看,每当计 数溢出,就会打开T0或T1的高、低8位之间的开关,计预置数 进入低8位,且这项工作由硬件自动完成的,不需要由人工干预。
振荡器
1/12
T1脚(P3.5) TR1
C/T 0 C/T 1
TL1 TH1 (8位) (8位)
控制端
B
TF1 中断
GATE
INT1脚
A
+
4.2.3 方式2 当TMOD中的M1=1、M0=0时,选定方式2工作. 定时器/计数器0、1在方式2下是8位自动重装入定时器/计
数器。其等效电路逻辑结构如图所示(以T1为例)。在这种 方式下,这个16位计数器被拆成两个,其中TL1用作8位计数 器,TH1用于保存计数器的初值。
振荡器
1/12
T1脚(P3.5) TR1
C/T 0 C/T 1
TL1 TH1 (5位 (8位)
控制端
B
TF1 中断
GATE
INT1脚
A
+
4.2.2 方式1
当TMOD中的M1=0、M0=l时,选定方式1工作。 定时器/计数器工作于方式1时,其等效电路逻辑结构如图所 示(以T1为例)。方式1和方式0基本上相同,只是在方式1下 是16位的定时器/计数器。 计数时,TL1溢出后向TH1进位,TH1溢出后将TF1置位,如 果中断允许,CPU响应中断并转入中断服务程序,由内部硬件 清TF1。TF1也可以由程序查询和清零。