STC51从入门到精通(汇编)~~~ 第七讲:80C51的定时器/计数器

您所在的位置:网站首页 汇编语言从入门到精通的过程 STC51从入门到精通(汇编)~~~ 第七讲:80C51的定时器/计数器

STC51从入门到精通(汇编)~~~ 第七讲:80C51的定时器/计数器

2024-06-03 09:21:51| 来源: 网络整理| 查看: 265

目录

7.1 定时器/计数器

7.1.1 定时器/计数器的组成

7.1.2 定时器/计数器的工作原理

7.1.3 定时器/计数器的控制

7.2 定时器/计数器的工作方式

7.2.1 工作方式0

7.2.2 工作方式1

7.2.3 工作方式2

7.2.4 工作方式3

7.3 定时器/计数器初始化和应用举例

7.3.1 定时器/计数器初始化

7.3.2 定时器/计数器应用举例

7.1 定时器/计数器 7.1.1 定时器/计数器的组成

7.1.2 定时器/计数器的工作原理

1、定时方式 定时方式时,T记录80C51内部振荡器输出的脉冲(机器周期信号)个数。 每一个机器周期使T0或T1的计数器增加1,直至计满回零自动产生溢出中断请求。2、计数方式 计数方式时,T的功能是计来自T0(P3.4)T1(P3.5)的外部脉冲信号的个数。

7.1.3定时器/计数器的控制

       定时器/计数器是一种可编程的部件,在其工作之前必须将控制字写入工作方式和控制寄存器,用以确定工作方式,这个过程称为定时器/计数器的初始化。1、工作方式寄存器TMOD (89H)

(1) M1、M0:工作方式控制位

(2) C/(/T):计数器/定时器方式选择位

C/ (/T)=0,设置为定时方式。定时器计数80C51片内脉冲,亦即对机器周期(振荡周期的12倍)进行计数。C/ (/T)=1,设置为计数方式,计数器对来自T0(P3.4)或T1(P3.5)端的外部脉冲进行计数。  

(3) GATE:门控位

GATE=0时,只要用软件使TR0(或TR1)置1就可以启动定时器,而不管/INT0(/INT0控制T0的运行)或/INT1(/INT1控制T1的运行)的电平是高还是低(参见后面的定时器结构图)。GATE=1时,只有/INT0(或/INT1)引脚为高电平且由软件使TR0(或TR1)置1时,才能启动定时器工作。  

2、控制寄存器TCON(88H) TCON的高4位:定时器的运行控制位和溢出标志位;               低4位:外部中断触发方式控制位和锁存外部中断请求源;

(1) 定时器T0运行控制位TR0 TR0由软件置位和清零来启动或关闭T0。(2) 定时器T0溢出标志位TF0        当T0被允许计数以后,T0从初值开始加1计数,当T0溢出时,由硬件自动使中断触发器TF0置1,并向CPU申请中断。当CPU响应中断进入中断服务程序后,TF0又被硬件自动清0。TF0也可以用软件清0。(3) TR1:定时器T1运行控制位。其功能与TR0相同。 (4) TF1:定时器T1溢出标志位。其功能与TF0相同。 (5) IE1: 外部中断1请求标志位。 (6) IT1: 外部中断1触发方式控制位。 (7) IE0: 外部中断0请求标志位。 (8) IT0: 外部中断0触发方式控制位。

7.2 定时器/计数器的工作方式 7.2.1 工作方式0

方式0为13位的计数器,由TL0的低5位和TH0的8位组成,TL0的高3位未用,TL0低5位计数溢出时向TH0进位,TH0计数溢出时,向中断标志位TF0进位(硬件置位TF0),并申请中断。T0是否溢出可查询TF0是否被置位,以产生T0中断。方式0定时,定时时间为:to=(213- Xo) xTm=(213-X0) x(12/ fosc)式中X0为计数初值,Tm为机器周期,fosc为 晶振频率。方式0计数时,最大计数值为2^13=8192 (个外部脉冲)。. 7.2.2 工作方式1 方式1为16位的定时器/计数器t1=(2^16- X0) XTm=(2^16-X0)X (12/ fosc)计数工作方式:最大计数值为2^16=65536(个外部脉冲)   7.2.3 工作方式2 方式2为自动重装载的8位定时器/计数器,在方式2时,16位计数器被拆成2个,TL0用作8位计数器,TH0用作计数初值寄存器。t2=(2^8- X0) XTm=(2^8-X0)X (12/fosc)计数工作方式时,最大计数值为2^8=256 (个外部脉冲)  

7.2.4 工作方式3

T0分为两个独立的8位计数器TL0和TH0。TL0可以作为8位定时器或外部事件计数器,TH0被 固定为一个8位定时器方式。

7.3 定时器/计数器初始化和应用举例 7.3.1 定时器/计数器初始化

1、初始化的步骤(1) 确定工作方式,即根据题目要求先给TMOD送一个方式控制字; (2) 计算计数初值/定时初值,并写入TH0、TL0或TH1、TL1中; (3) 根据需要给中断允许寄存器IE选送中断控制字和中断优先级寄存器IP选送中断优先级字,以开放相应中断和设定中断优先级。(4) 给TCON送命令控制字,以启动或禁止定时器/计数器的运行。2、计数器初值的计算x0 = M-C M-计数器模式:

方式0时2^13方式1时2^16方式2、方式3时2^8

3、定时器初值的计算 定时时间T的计算公式:T=XxTm =(M-x0)xTm 定时初值:x0=M-T/Tm

7.3.2 定时器/计数器应用举例

1、方式0的应用 例:利用T0方式0产生1 ms的定时,在P1.2 引脚上输出周期为2ms的方波。设单片机晶振频率fosc=12MHz。 解:

(1) 确定工作方式:(TMOD)=00H (2) 计算1 ms定时时T0的初值       机器周期:T= 1 / foscX12 = 1us,       计数个数:X =1ms/lus = 1000       设T0的计数初值为,则       X0= (213-X)           = 8192-1000           = 7192 D       解得: T0初值=7192=1C18H=0001 1100 0001 1000                 11100000 B=E0H赋给TH0,低5位00011000=18H赋给TL0。

ORG 0000H AJMP MAIN ; 转主程序MAIN ORG 000BH AJMP IT0P ; 转T0中断服务程序IT0P ORG 1000H MAIN: MOV SP, #60H ; 设堆栈指针 MOV TH0 , #0E0H ; 给定时器T0送初值 MOV TL0 , #18H ; 送定时初值 MOV TMOD, #00H ; 设置T0为方式0, 定时 SETB EA ; CPU开中断 SETB ET0 ; T0允许中断 SETB TR0 ; 启动T0定时 HERE: SJMP HERE ; 等待中断

2、方式1的应用 方式1中,寄存器是以全部16位参与操作。

3、方式2的应用当T0(P3.4)引脚每输入一个负脉冲时,使P1.0输出一一个500us的同步脉冲。设晶振频率为6MHz,请编程实现该功能。

(1) 确定工作方式 计数时:(TMOD) = 0000 0110B = 06H 定时时:(TMOD) = 0000 0010B = 02H(2) 计算初值 机器周期T= 12 / fosc = 12/6MHZ = :2μs 计数时:计数个数X= 1 计数初值:X0= (256-X)= (256-1) =255=0FFH,                   (TH0)=(TL0)=0FFH 定时时:计数个数X=T/ Tm= 500μs / 2μs =250 定时初值=256- X=256 - 250= 6, (TH0) = (TL0)= 06H

START: MOV TMOD, #06H ; T0方式2, 外部计数方式 MOV TH0, #0FFH ; T0计数初值 MOV TL0, #0FFH SETB TR0 ; 启动T0计数 LOOPl: JBC TF0, PTF01; 查询T0溢出标志, TF0= 1时转移, 且TF0= 0(查P3.4负跳变) SJMP LOOPl PTF01: CLR TR0 ; 停止计数 MOV TMOD, #02H ; T0方式2, 定时 MOV TH0, #06H ; T0定时500μs初值 MOV TL0, #06H CLR P1.0 ; P1.0清0 SETB TR0 ; 启动定时500μs LOOP2: JBC TF0, PTF02 ; 定时到TF0=l 转移, 且TF0= 0(第一个500μs到否?) SJMP LOOP2 PTF02: SETB P1.0 ; P1.0置1(到了第一个500μs) CLR TR0 ; 停止计数 SJMP START

4、方式3的应用  

5、GATE位的应用 例:利用GATE门控位测量从/I/N/T/1引脚输入的正脉冲宽度。

6、扩大计数个数和定时时间

例:利用MCS-51单片机的定时器/计数器,产生电.子时钟的1s基时,并且由P1.7输出2s的方波。fosc=12MHz。  



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭