单片机定时器工作方式二实现精确定时

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MOV R0,#100 MOV R1,#200 MOV TMOD,#20H MOV TCON,#00H MOV TL1,#06H MOV TH1,#06H SETB ET1 SETB EA CLR P1.0 MOV R2, 0FH
;中断一 ;中断二
DELAY: MOV R3,0FFH DJNZ R3,$ DJNZ R2,DELAY SETB P1.0 SETB TR1
只适用于T0,T1不可工作于方式三。 方式3状态下,T1相当于TR1=0,停止计数 TH0被固定为一个8位计数器,相当于有三个定时 器/计数器 T0工作于方式三时,T1可工作于方式一、方式二、 方式三。
利用方式二进行精确定时
●时钟频率为6MHZ,产生1ms的方波
1、计数初值计算
机器周期=12/晶振频率= 1/26 (160)2s
计 数 溢
计数运行控制位 1:启动定时器/


中断请求触
出 标 志
计数器工作 0:停止定时器/ 计数器工作
允 许 位
发方式控制 位

定时器/计数器的四种工作方式
方式1:M1 、M0=01,13位计数器
决定工作方式 0:定时器模式,时钟周期/12为计数信号 1:计数器模式,P3.4、P3.5外部输入脉 冲为技术脉冲,引脚信号跳变,计数器加 一
设计数初值为X,则:(2 8 X ) 2 1 6 0 5 0 1 0 6 0
解得:X=6=06H 2、程序设计
ORG 000H LJMP MAIN ORG 001BH LJMP IT1P ORG 0100H MAIN: MOV SP , #60H MOV TMOD, #20H MOV TCON,#00H MOV TL1,#06H MOV TH1,#06H SETB TR1 SETB ET1 SETB EA HERE: LJMP HERE IT1P: MOV TL1,#06H
MOV TH1,#06H CPL P1.0 RETI
END
;主程序入口,设堆栈指针
;T1置初值 ;启动T1 ;允许T1中断 ;CPU开中断 ;中断服务程序
;中断返回
仿真结果
周期为1ms
利用方式二进行精确定时10s
ORG 0000H LJMP MAIN ORG 001BH LJMP IT1P ORG 1000H MAIN: MOV SP,#60H
门控位
0:TRX=1启动 定时器/计数器 运行;
1:TRX=1,终 断引脚高电平 启动定时器/计 数器运行
工作方式选择位M1、M0 00:工作方式0 01:工作方式1 10:工作方式2 11:工作方式3
计时器模式和 定时器模式选 择位
0:定时模式
1:计数模式
定时器/计数器控制寄存器TCON
控制定时器/计数器的启动和停止计数,包含其状态
每次定时/计数之后计数寄存器的内容为0,在下一次定 时/计数后都要进行初值重载。
●在方式0和方式1中,初值重载是由软件实现的。如果 需要多次进行定时/计数,则需占用较多CPU时间。影 响技术精度且程序设计麻烦
●在方式2下可由硬件实现初值重载,简化初值计算, 可用于精确计时。
方式3:M1 、M0=11,8位计数器
单片机第二次讨论课
——用单片机定时器工作方式二实现精确定时
通信工程ห้องสมุดไป่ตู้班二组
MCS-51系列单片机定时器/计数器
功能:实现定时、计数,并对定时、计数的结果进行控
制。 1、计数工作模式:对外来脉冲进行计数 2、定时工作模式:对来自单片机内部的脉冲进行计数, 根据计数值计算定时时间
结构:MCS-51内部有两个16位可编程的定时器/计数器T0
HERE: SJMP HERE IT1P: DJNZ R0, LOOP
MOV R0,#100 DJNZ R1, LOOP CPL P1.0
LOOP: RETI END
;中断嵌套
The end,thank you!
工作方式2逻辑结构图
TLX作为常数缓冲器,当 TLX计数溢出时,在置“1” 溢出标志TFX的同时,还 自动的将THX中的初值送 至TLX,使TLX从初值开始 重新计数。
方式二工作过程
方式2下的计数溢出值为256。 则:
●计数次数=256-计数初值 ●定时时间=(256-计数初值) ×机器周期
工作方式2与工作方式0、1的比较
工作方式0逻辑结构图
●定时器/计数器T0和T1在方式0下的工作情况完全相同。 此时的计数寄存器为13位,构成如下:
●方式0下的计数溢出值为8192(2的13次方)。 ●计数次数=8192-计数初值 ●定时时间=(8192-计数初值)×机器周期 ●机器周期=12/时钟周期
方式1:M1 、M0=01,16位计数器
和T1。T0(T1)由两个8位寄存器TH0(TH1)和TL0(TL1) 拼装而成。其中TH0(TH1)为高8位,TL1(TH1)为低8 位。
MCS-51定时器、计数器结构图
TH1、TL1 、TH0、TL0为四个八位特殊功能寄存器。 单片机复位时,寄存器的所有位都被清0。
工作方式寄存器TMOD
选择计数器/定时器的工作模式和工作方式。
工作方式1逻辑结构图
●定时器/计数器T0和T1在方式0下的工作情况完全相 同。此时的计数寄存器为16位,构成如下:
●方式1下的计数溢出值为65536(2的16次方) ●计数次数=65536-计数初值 ●定时时间=(65536-计数初值)×机器周期 ●机器周期=12/时钟周期
方式2:M1 、M0=10,8位计数器
相关文档
最新文档