




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、定时器计数器定时器计数器功能定时器22.计数功能:对外界发生的事件计数,当达到程序规定的计数值时,计数功能:对外界发生的事件计数,当达到程序规定的计数值时,输出一脉冲信号,申请中断。输出一脉冲信号,申请中断。例如一啤酒生产线,如下图所示例如一啤酒生产线,如下图所示 计 数计 数24瓶瓶光电信号光电信号24瓶装完申请中断瓶装完申请中断转入中断服务程序装箱转入中断服务程序装箱输送带输送带3二二.8031单片机的定时器计数器控制单片机的定时器计数器控制 8031片内有两个片内有两个16位定时器计数器,称为位定时器计数器,称为T0,T1,与其有关的特,与其有关的特殊功能寄存器殊功能寄存器SFR有:有:
2、 1.方式控制字方式控制字 TMOD T1 T0 GATE C/T M1 M0 GATE C/T M1 M0 字节地址字节地址89H GATE:门控位门控位 C/T: 1 计数计数 M1 M0:00 方式方式0 0 定时定时 01 方式方式1 10 方式方式2 11 方式方式342.定时器控制寄存器定时器控制寄存器 TCON 字节地址字节地址88H 可位寻址可位寻址 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 对对T1控制控制 与中断有关下章介绍与中断有关下章介绍 TR0置置1则启动中断响应后自动清则启动中断响应后自动清0 T0溢出中断标志溢出中断标志 例例 MOV TMO
3、D #06H 0 0 0 0 0 1 1 0 门控位为门控位为0 T1方式方式0 T0方式方式2 定时功能定时功能 计数功能计数功能只要用只要用 SETB TR0 ,SETB TR1 即可启动即可启动T0 T1 开始工作。开始工作。 53.控制定时器计数器长度的寄存器控制定时器计数器长度的寄存器 TL0 TH0 TL1 TH1 用于存放计数初值,它是加用于存放计数初值,它是加1计数器,溢出中断。它们的字节地址计数器,溢出中断。它们的字节地址是是:TH1(8位位) TL1(8位位) TH0(8位位) TL0(8位位) 8DH 8BH 8CH 8AH 控制定时器计数器时,计数长度可分别选择控制定时
4、器计数器时,计数长度可分别选择8位,位,16位,位,13位,位,与工作方式有关。与工作方式有关。 注意它是加注意它是加1计数器,例如选择计数器,例如选择8位计数器,最大可存位计数器,最大可存255,如果,如果置入初值置入初值250,则计数,则计数6次即溢出中断。次即溢出中断。 6三三8031单片机定时器计数器的四种工作方式:以单片机定时器计数器的四种工作方式:以T0为例为例1方式方式0 13位计数器位计数器 TH0高高8位位 TL0低低5位位 TL0高高3位无用位无用 讨论定时方式讨论定时方式选择选择T0方式方式0定时,定时,TMOD的低的低4位为:位为: 0 0 0 0 7例如:要求从例如:
5、要求从P1.0脚发出周期为脚发出周期为2ms的方波只要选的方波只要选T0定时间隔定时间隔1ms求反求反P1.0即可满足。即可满足。定时工作方式中令计数器加定时工作方式中令计数器加1的周期是每个的周期是每个机器周期加机器周期加1,即每隔即每隔12/f 加加1 10高电平高电平1ms低电平低电平1ms8设定时器时间常数为设定时器时间常数为X则有则有 (213 - X)(12/f)=1ms 设设f=6MHZ (213-X)(12/6106)=110-3 X=8192 - 500=76927692=1E0CH 00011110 00001100B 11110000 00001100 TH0=F0H T
6、L0=0CH 即共加即共加500次,每次耗费次,每次耗费2s,共耗费时间,共耗费时间1ms 9讨论计数方式:讨论计数方式:例如前述的啤酒生产线,计数例如前述的啤酒生产线,计数24瓶中断转入装箱程序。瓶中断转入装箱程序。选选T1方式方式0计数,计数,TMOD的高的高4位为位为: 0 1 0 0初始常数初始常数X的计算的计算: 213 - X =24 X=8192 - 24=81688168=1FE8H 00011111 11101000B 11111111 00001000 TH1=FFH TL1=08H加加24次即溢出中断。程序如下次即溢出中断。程序如下:10 ORG 0000H AJMP M
7、AIN ORG 000BH AJMP IT0P ORG 001BH AJMP IT1P MAIN: MOV SP, #60H MOV TMOD, #40H ;T0方式方式0定时定时,T1方式方式0计数计数 MOV TH0, #0F0H MOV TL0, #0CH ;T0定时定时1ms时间常数时间常数 MOV TH1, #0FFH MOV TL1, #08H ;T1计数计数24次初始常数次初始常数11 SETB TR0 ;启动;启动T0开始定时开始定时 SETB TR1 ;启动;启动T1开始开始 计数计数 SETB EA ;允许;允许CPU中断中断 SETB ET0 ;允许;允许T0中断中断 S
8、ETB ET1 ;允许;允许T1中断中断HERE:AJMP HERE ;等待;等待 IT0P: MOV TH0, #0F0H ;重装时间常数;重装时间常数 MOV TL0, #0CH CPL P1.0 ;P1.0求反求反,输出方波输出方波 RETI IT1P: 略略122.方式方式1 16位计数器位计数器 方式方式1与方式与方式0唯一的区别是计数器是唯一的区别是计数器是16位位,即即TL 8位位,TH 8位位,因此因此,计算时间常数的公式中计算时间常数的公式中 213 应改为应改为216,上述程序如改用方式上述程序如改用方式1,则常数则常数计算为计算为:定时定时 (21 6-X)(12/f)=
9、110- 3 解之解之X =FE0CH 即即TH0=FEH ,TL0=0CH计数计数 216-X =24 解之解之 X=FFE8H 即即TH1=FFH,TL0=E8H程序中的程序中的TMOD赋值相应改为方式赋值相应改为方式1 133.方式方式2 8位计数器位计数器 ,能自动重装时间常数能自动重装时间常数,定时准确定时准确 TL0作为作为8位计数器,当位计数器,当TL0计数溢出中断时,在置计数溢出中断时,在置1溢出中断标溢出中断标志志TF0的同时,自动将的同时,自动将TH0中所装的原初始常数送中所装的原初始常数送TL0,使,使TL0从从原初始常数开始重新计数。原初始常数开始重新计数。 初始化时在
10、初始化时在TL0、TH0中装入同样的初始常数,中装入同样的初始常数,TH0即记忆了该即记忆了该初始常数,因此在中断服务程序中不必重装时间常数,省去了重装初始常数,因此在中断服务程序中不必重装时间常数,省去了重装时间常数的时间,因此定时准确。时间常数的时间,因此定时准确。 时间常数计算公式为:定时时间常数计算公式为:定时 (28 X)12/f =定时间隔定时间隔计数计数 28 X = 计数次数计数次数 144.方式方式3 三个三个8位定时器计数器位定时器计数器 方式方式3只适用于只适用于T0 TL0 作为作为8位定时器计数器,使用位定时器计数器,使用T0的的C/T 、GATE 、TR0 、TF0
11、 ,可定时亦可计数,外部计数脉冲从可定时亦可计数,外部计数脉冲从T0引脚输入,引脚输入,TR0置置1启动。启动。 TH0 可单独用作可单独用作8位定时器,不能用作外部计数。置位定时器,不能用作外部计数。置1 TR1即可即可启动,溢出中断时将启动,溢出中断时将TF1置置1,即它占用了,即它占用了T1的启动位和中断源。的启动位和中断源。 TH1 TL1 当定时器当定时器T0定义为工作方式定义为工作方式3时,定时器时,定时器T1常用作串常用作串行口的波特率发生器,行口的波特率发生器,T1仍可选择方式仍可选择方式0、1、2,用,用TL1、TH1分分别作为别作为13、16、8位计数器,可以改变不同的波特
12、率范围。此时的位计数器,可以改变不同的波特率范围。此时的T1不能使用中断源。不能使用中断源。 15 例例 写出符合下述要求的写出符合下述要求的8031定时器计数器初始化程序段定时器计数器初始化程序段1. 用用T0计数外界事件计数外界事件192次申请中断次申请中断2. 用用T1定时定时50ms申请中断,设晶振频率申请中断,设晶振频率f = 6MHZ分析:分析:TMOD = 14H 0 0 0 1 0 1 0 0 设定设定T0方式方式0计数,计数,T1方式方式1定时定时 T0计数初始常数计数初始常数 213 X = 192 X= 8192 192 = 8000 8000 = 1F40H = 000
13、1111101000000B TH0 = FAH TL0 = 00H T1定时初始常数定时初始常数 (216 X) (12/f) = 50 10 3 X = 65536 - 25 10 3 = 40536 = 9E58H TH1 = 9EH TL1 = 58H16程序段如下:程序段如下:MOV SP, #60H ;建立堆栈建立堆栈 MOV TMOD, #14H ;T0方式方式0计数,计数,T1方式方式1定时定时 MOV TL0, #00H ;T0计数计数192次初始常数次初始常数 MOV TH0, #0FAH MOMOV TL1, #58H ;T1定时定时50ms时间常数时间常数 MOV TH
14、1, #9EH SETB TR0 ;启动启动T0开始计数开始计数 SETB TR1 ;启动启动T1开始定时开始定时 SETB EA ;以下以下3条指令与中断有关下章介绍条指令与中断有关下章介绍 SETB ET0 SETB ET1 17四四.关于定时器的小结与补充:关于定时器的小结与补充: 1.关于定时计数两种功能关于定时计数两种功能: 8031单片机具有单片机具有T1、T0两个定时器计数器,并分别具有定时两个定时器计数器,并分别具有定时和计数两种功能。和计数两种功能。 C/T = 0选择定时功能,此时令计数器加选择定时功能,此时令计数器加1的脉冲信号是由机内的脉冲信号是由机内提供的等间隔的信号
15、,每隔一个机器周期加提供的等间隔的信号,每隔一个机器周期加1,即每隔,即每隔12/f 秒加秒加1。 C/T = 1选择计数功能,此时令计数器加选择计数功能,此时令计数器加1的脉冲信号由外部输的脉冲信号由外部输入,即从入,即从8031的的T0和和T1(8031的的14脚和脚和15脚)输入,当被计数的外脚)输入,当被计数的外部事件发生一次,则产生一个脉冲信号从部事件发生一次,则产生一个脉冲信号从T0或或T1引脚输入,令计引脚输入,令计数器加数器加1,该脉冲信号的速率决定与外部事件的发生速率,不一定,该脉冲信号的速率决定与外部事件的发生速率,不一定等间隔。等间隔。 定时和计数的主要区别是令计数器加定
16、时和计数的主要区别是令计数器加1的脉冲信号来源不同。的脉冲信号来源不同。18振荡器振荡器TH TLTF1中断中断GATEINT1TR1控制控制12 T1端端与门与门或门或门19 2.初始常数初始常数X的计算公式的计算公式: 定时:定时: (2n X) (12/ f )= 定时间隔定时间隔 计数:计数: 2n X = 计数次数计数次数 式中的式中的 n,当分别选择工作方式当分别选择工作方式0、1、2、3时,时,n =13、16、8、8 203.定时间隔和计数的范围:以定时间隔和计数的范围:以6MHZ晶振为例晶振为例 方式方式0 13位计数器位计数器 最大定时间隔为最大定时间隔为 :当:当X=00
17、00H时时 213210-6 = 16.384ms 最小定时间隔为最小定时间隔为 :当:当13位计数器全位计数器全1,即,即X = FF1FH或或 FFFFH时时 2s 计数范围计数范围 : 18192 方式方式1 16位计数器位计数器 最大定时间隔为最大定时间隔为: 当当X=0000H时时 216 210-6 =65536 210-6 =131.072 ms 最小定时间隔为最小定时间隔为: 当当X=FFFFH 时时 2s 计数范围计数范围 : 165536 方式方式2和方式和方式3 8位计数器位计数器 定时间隔为定时间隔为: 2s512s 计数范围计数范围 : 1256 214.扩大定时间隔
18、的方法扩大定时间隔的方法: 可采用多次中断的方法。可采用多次中断的方法。 例:要求用一台单片机控制例:要求用一台单片机控制10台加热炉,每隔台加热炉,每隔10秒钟进行一次温秒钟进行一次温 度测量。则需要定时度测量。则需要定时10秒。设秒。设 f = 6MHZ 分析:可选择定时分析:可选择定时100mS中断,当中断中断,当中断100次时,可达到次时,可达到10秒。秒。 计算定时计算定时100mS的时间常数的时间常数X, 选选T0方式方式1定时。定时。 (2n X) (12/ f )= 定时间隔定时间隔 (216 X) 2 10-6 = 100 10-3 X = 3CB0H 即即 TH0 = 3C
19、H TL0 = B0H 程序如下:程序如下: 220000 H AJMP STAR000BH LJMP IT0P STAR: MOV SP , #60H MOV TMOD , #01H ;T0方式方式1定时定时 MOV TH0 , #3CH MOV TL0 , #0B0H ;定时定时100mS时间常数时间常数 MOV R0 , #0 ;中断次数计数单元清零中断次数计数单元清零 SETB TR0 ;启动启动T0 SETB EA ;允许允许CPU中断中断 SETB ET0 ;允许;允许T0中断中断 . . . . . . ;以下以下CPU可执行主程序可执行主程序 . . . . . .23T0中断服务程序:中断服务程序: IT0P:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 5576-2025橡胶和胶乳命名法
- GB/T 11354-2025钢件渗氮层深度测定和金相组织检验
- 大学生心理健康教育 课件 第七章 大学生健康恋爱及性心理的培养
- 应急安全体验馆培训课件
- 2024年浙江省东阳市中考物理高频难、易错点题(A卷)附答案详解
- 秋季腹部保暖与肠道功能关联研究
- 水利设施管养人员考前冲刺试卷附参考答案详解【夺分金卷】
- 2025自考专业(汉语言文学)复习提分资料带答案详解(典型题)
- 2024-2025学年计算机二级过关检测试卷附答案详解【B卷】
- 2025年教育行业并购动态:投资策略与整合路径研究报告
- 成都产业投资集团有限公司所属产业投资板块企业2025年招聘投资管理等岗位的考试参考试题及答案解析
- 乡镇综合行政执法队队长试用期满转正工作总结
- 2025天津医科大学眼科医院第三批招聘1人备考考试试题及答案解析
- 2025年法院书记员招聘考试笔试试题含答案
- 银行积分培训课件
- CPK、PPK和SPC(X-R控制图)模板
- 汉诺塔课件教学课件
- 校企合作实习生管理制度与考核办法
- 2025年二级建造师考试施工管理真题及答案
- 穿线施工方案(3篇)
- 光伏发电运行维护定期巡视检查项目和周期
评论
0/150
提交评论