




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、定时/计数器,定时方法概述 定时计数器结构和工作原理 定时计数器的控制寄存器 定时器的四种工作方式 定时器的应用,一、定时方法概述,软件定时:软件定时靠执行一个循环程序以进行时间延迟。特点是时间精确,且不需要外加硬件电路。但软件定时要占用CPU开销,因此软件定时的时间不宜太长。 采用时基电路定时:特点是(定时功能全部由硬件电路完成)不占CPU时间,但需通过改变电路的元件参数来调节定时时间,在使用上不够灵活方便。 采用可编程芯片定时:这种定时方法是通过对系统时钟脉冲的计数来实现的。计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来既灵活有方便。,结论:MCS-51单片机把定时电路集成在
2、芯片中,称之为定时器/计数器。 8051型单片机有两个定时/计数器,分别称为定时器/计数器0和定时器/计数器1。,二、定时计数器结构和工作原理,定时器方式寄存器 主要用于设定定时器的工作方式,定时器控制寄存器 主要用于控制定时器的启动与停止,并保存T0、T1的溢出和中断标志,定时器0,定时器1,定时/计数器的结构框图,16位的定时器/计数器实质上是一个加l计数器,可实现定时和计数两种功能,其功能由软件控制和切换。定时器属硬件定时和计数,是单片机中效率高而且工作灵活的部件。,定时器/计数器的定时功能。 计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出。 定
3、时器的定时时间与系统的时钟频率有关。因一个机器周期等于12个时钟周期,所以计数频率应为系统时钟频率的十二分之一。如果晶振频率为12MHz,则机器周期为1s。通过改变定时器的定时初值,并适当选择定时器的长度(8位、13位或16位),可以调整定时时间。,定时器/计数器的计数功能。 通过外部计数输入引脚T0(P3.4)和T1(P3.5)对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的S5P2期间采样引脚输入电平,若一个机器周期S5P2期间采样值为1,下一个机器周期S5P2期间采样值为0,则计数器加1,再下一个机器周期S3P1期间,新的计数值装入计数器。 因检测一个由1至0的跳变需要
4、两个机器周期,故外部信号的最高计数频率为时钟频率的二十四分之一。如果晶振频率为12MHz,则最高计数频率为0.5MHz。虽然对外部输入信号的占空比无特殊要求,但为了确保给定电平在变化前至少被采样一次,外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以上。,1、工作方式寄存器TMOD,M0,M1,C/T0,GATE0,M0,M1,C/ T1,GATE1,TMOD,字节 地址 89H,D7 D6 D5 D4 D3 D2 D1 D0,方式选择,00:方式0,01:方式1,10:方式2,11:方式3,定时/计数选择,0:定时器,1:计数器,门控位,三、定时计数器的控制寄存器,GATE:门控制位,
5、用于控制定时器的启动是否受外部中断源信号的影响。 GATE=0时,与外部中断无关, 由TCON寄存器中的TRx位控制启动。 GATE=1时,由控制位TRx和引脚 共同控制启动,只有在没有外部中断请求信号的情况下(即外部中断引脚 =1时),才允许定时器启动。,2、定时控制寄存器(TCON),当定时器1计满溢出时,由硬件自动使TF0置1,并申请中断。对该标志位有两种处理方法,一种是以中断方式工作,即TF0置1并申请中断,响应中断后,执行中断服务程序,并由硬件自动使TF0清0;另一种以查询方式工作,即通过查询该位是否为1来判断是否溢出,TF0置1后必须用软件使TF0清0。,GATE=0时,用软件使T
6、R0置1即启动定时器1,若用软件使TR0清0则停止定时器1。 GATE=1时,用软件使TR1置1的同时外部中断INT0的引脚输入高电平才能启动定时器0。,3、中断允许控制寄存器,EX0,ET0,EX1,ET1,ES,ET2,EA,IE,字节 地址 A8H,D7 D6 D5 D4 D3 D2 D1 D0,定时/计数器1中断允许控制位,定时/计数器0中断允许控制位,0:允许中断,1:禁止中断响应,中断允许总控制位,4、中断优先级寄存器IP(字节地址B8H),四、定时计数器的四种工作方式,定时器T0、T1的工作方式,1、工作方式0(13位计数器),TR1=1,启动计数,GATE0=0时:,GATE0
7、=1时:,启动计数,启停控制,定时计数选择,13位计数器,计数工作方式: 最大的计数值为8192(213) 预置的初值:X= 213-N,定时工作方式:定时时间的计算公式为: T=(213计数初值)晶振周期12,?如晶振频率为6MHZ/12MHZ,求最小定时时间和最小定时时间,机器周期,预置的初值:,【例】 单片机晶振频率为12MHz,若产生1ms定时,采用方式0,试计算初值X。,X=1110000000011000B=E018H 所以(TH)=E0H,(TL)=18H。,解:预置的初值:,2、工作方式1(16位计数器),16位计数器,计数工作方式: 最大的计数值为65536(216) 预置的
8、初值:X= 216-N,定时工作方式:定时时间的计算公式为: T=(216计数初值)晶振周期12,?如晶振频率为6MHZ/12MHZ,求最小定时时间和最小定时时间,预置的初值:X= 216-T/(晶振周期12),【例】 单片机晶振频率为12MHz,若产生1ms定时,采用方式1,试计算初值X。,所以(TH)=FCH,(TL)=18H。,解:预置的初值:,【例】已知晶振频率fosc=12MHz,使用定时器0以工作方式1,在P1.0输出周期为2ms的连续正方波脉冲。试编写相关程序。,解:计算初值:TH0=FC H,TL0=18 H。 ORG 0000H LJMP MAIN ;跳转到主程序 ORG 0
9、00BH ;T0的中断入口地址 LJMP DVT0 ;转向中断服务程序 ORG 0100H MAIN:MOV SP,#60H ;设堆栈指针 MOV TMOD,#01H ;置T0工作于方式1 /初始化TMOD MOV TH0,#0FCH ;装入计数初值 /装入初值 MOV TL0,#018H SETB ET0 ;T0开中断 /中断设置 SETB EA ;CPU开中断 SETB TR0 ;启动T0 /启动定时器 SJMP $ ;等待中断 DVT0:CPL P1.0 ;P1.0取反输出 MOV TH0,#0FCH ;重新装入计数值 MOV TL0,#018H RETI ;中断返回 END,查询方式:
10、,ORG 0000H LJMP MAIN ;跳转到主程序 ORG 0100H MAIN:MOV TMOD,#01H ;置T0工作于方式1 /初始化TMOD LOOP: MOV TH0,#0FCH ;装入计数初值 /装入初值 MOV TL0,#018H SETB TR0 ;启动T0 /启动定时器 JNB TF0,$ ;查询TF0标志,如为1,说明T0溢出, ;则往下执行 CLR TF0 ;清除TF0中断标志位 CLR TR0 ;T0溢出,关闭定时器 CPL P1.0 ;P1.0状态取反 SJMP LOOP END,3、工作方式2(自动装载初值的8位计数器),注:适用于需要重复定时或计数的场合。
11、定时精度比较高,但定时时间较短。,用作定时或计数时的加1计数器,用作赋值(保存初值)。,例、已知晶振频率fosc=6MHz,要求使用定时器0以工作方式2产生100s定时,在P1.0输出周期为200s的连续正方波脉冲。试编写相关程序。,解:计算初值:,MOV TMOD,#02H ;设置定时器0为工作方式2 MOV TH0,#0CEH ;设置计数初值 MOV,TL0,#0CEH SETB TR0;启动定时 LOOP:JBC TF0,LOOP1;查询计数溢出 AJMP LOOP LOOP1:CPL P1.0;输出方波,初值自动装入 AJMP LOOP,例6-3 当T0(P3.4)引脚上发生负跳变时,
12、从P1.0引脚上输出一个周期为1ms的方波,如图所示。(系统时钟为6MHz),(1)工作方式选择 T0为方式1计数,初值 0FFFFH,即外部计数输入端T0(P3.4)发生一次负跳变时,T0加1且溢出,溢出标志TF0置“1”,发中断请求。在进入T0中断程序后,启动T1。 T1定义为方式2定时。在T0脚发生一次负跳变后,启动T1每500s产生一次中断,在中断服务程序中对P1.0求反,使P1.0产生周期1ms的方波。,(2)计算T1初值 设T1的初值为X: 则 (28-X)210-6=510-4 X=28-250=6=06H (3)程序设计 ORG 0000H RESET: LJMP MAIN ;
13、复位入口转主程序 ORG 000BH LJMP IT0P ;转T0中断服务程序 ORG 001BH LJMP IT1P ;转T1中断服务程序 ORG 0100H MAIN: MOV SP,#60H ACALL PT0M2 LOOP: MOV C,F0 JNC LOOP ;T0没有产生中断,等待T0中断 SETB ET1 ;允许T1中断 SETB TR1 ;启动T1 SJMP $,PT0M2:MOV TMOD,#25H ;初始化,T1为方式2定时,T0为方式1计数 MOV TL0,#0FFH ;T0置初值 MOV TH0,#0FFH SETB ET0 ;允许T0中断 MOV TL1,#06H ;
14、T1置初值 MOV TH1,#06H CLR F0 SETB EA ;开中断 SETB TR0 ;启动T0 RET IT0P: CLR TR0 ;T0中断服务程序,停止T0计数 SETB F0 ;建立T0产生中断的标志 RETI IT1P: CPL P1.0 ;T1中断服务,P1.0位取反 RETI END,例:将定时器T0扩展为外部中断源。,解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TF0的初值均设置为FFH,允许T0中断,CPU开放中断,源程序如下: MOVTMOD,#06H MOV TH0,#0FFH MOVTL0,#0FFH SETBTR0 SETBET0 SETBEA
15、 T0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断 T0脚相当于边沿触发的外部中断源输入线。,作为外部中断源,4、工作方式3,为什么定时/计数器T1无工作方式3?,两个独立的计数器,注:当T1用作串行口的波特率发生器时,T0才工作在方式3。,例:假设某MCS-51应用系统的两个外中断源已被占用,设置T1工作在方式2,作波特率发生器用。现要求增加一个外部中断源,并控制P1.0引脚输出一个5kHz的方波。设系统时钟为12MHz。,(1)选择工作方式 TL0为方式3计数,把T0引脚(P3.4)作附加的外中断输入端,TL0初值设为0FFH,当检测到T0引脚电平出现负跳变时,TL0溢出,申请中
16、断,这相当于跳沿触发的外部中断源。 TH0为8位方式3定时,控制P1.0输出5kHz的方波信号。,(2)初值计算 TL0的初值设为0FFH。 5kHz的方波的周期为200s,TH0的定时时间为100s。TH0初值X计算如下: (28-X)210-6=110-4 X=28-100=156=9CH (3)程序设计,ORG 0000H LJMP MAIN ORG 000BH ;T0中断入口 LJMP TL0INT;跳T0中断服务程序 ORG 001BH ;在T0方式3时,TH0占用T1的中断 LJMP TH0INT;跳TH0中断服务程序 ORG 0100H MAIN: MOV TMOD,#27H ;
17、TL0方式3计数,T1方式2定时 MOV TL0,#0FFH ;置TL0初值 MOV TH0,#9CH ;置TH0初值 MOV TL1,#dataL ;data为波特率常数 MOV TH1,#dataH,MOV TCON,#15H;启动T0 (SETB TR0) MOV IE,#9FH ;开所有中断 SJMP $ TL0INT:MOV TL0,#0FFH ;置TL0初值 SETB TR1 ;启动TH0定时 RETI TH0INT: MOV TH0,#9CH ;TH0中断服务程序。TH0重新装入初值 CPL P1.0 RETI,初始化程序应完成如下工作: 对TMOD赋值,以确定T0和T1的工作方
18、式。 计算初值,并将其写入TH0、TL0或TH1、TL1。 中断方式时,则对IE赋值,开放中断。 使TR0或TR1置位,启动定时/计数器定时或计数。,小结:,五、定时器的应用,1、门控制位GATE的应用测量脉冲宽度,GATE=0时,与外部中断无关, 由TCON寄存器中的TRx位控制启动。 GATE=1时,由控制位TRx和引脚 共同控制启动,只有在没有外部中断请求信号的情况下(即外部中断引脚 =1时),才允许定时器启动。,ORG 0000H RESET: AJMP MAIN ;复位入口转主程序 ORG 0100H MAIN: MOV SP,#60H MOV TMOD,#90H ;T1为方式1定时
19、控制字 MOV TL1,#00H MOV TH1,#00H LOOP0: JB P3.3,LOOP0;INT1高,则循环 SETB TR1 ;如INT1为低,启动T1,但T1不工作 LOOP1: JNB P3.3,LOOP1;INT1低,则循环,等待T1启动 LOOP2: JB P3.3,LOOP2 ;INT1高, 则循环 CLR TR1 ;停止T1计数 MOV A,TL1 ;T1计数值送A 将A中的T1计数值送显示缓冲区转换成显示的代码 LOOP3: LCALL DIR ;调用显示子程序DIR显示T1计数值 AJMP LOOP3 ;,2、实时时钟的设计,本章小结,8051单片机共有两个可编程的定时器/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能交通系统中的行人行为预测模型考核试卷
- 企业安全生产培训教材的数字化转型升级考核试卷
- 2025年中国pps滤袋数据监测研究报告
- 2025年中国M氢基甲酯数据监测报告
- 2025年中国BR型板式换热器数据监测研究报告
- 2025年中国2U形电子节能灯数据监测研究报告
- 2025至2030年中国震击标准震筛机市场分析及竞争策略研究报告
- 2025至2030年中国铝合金野营床市场分析及竞争策略研究报告
- 2025至2030年中国远程通讯器市场分析及竞争策略研究报告
- 2025至2030年中国茶叶天然保鲜剂市场分析及竞争策略研究报告
- 农产品产业园项目可行性研究报告专用模板
- 2025至2030中国医药软包装行业市场发展分析及竞争格局与投资发展报告
- 2025年中国氯化聚醚项目投资计划书
- DB37-T5311-2025建筑工程消防设计文件编制标准
- 成都市高新区2023年七年级《历史》下册期末试卷与参考答案
- 中国上市银行2024年回顾及未来展望-安永-202505
- TSG Z7002-2022特种设备检测机构核准规则
- 2025年数字经济下的创业政策调整策略试题及答案
- 政治 (道德与法治)八年级下册自由平等的追求教案
- 山东省济南市高新区学卷B2024-2025学年数学五下期末教学质量检测试题含答案
- 订单外发合同协议
评论
0/150
提交评论