




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1单片机的定时器计数器单片机的定时器计数器25.2、 定时器定时器/计数器的结构和功能计数器的结构和功能以以8051系列为例:系列为例:2个个16位可编程定时器位可编程定时器/计数器:计数器:T0和和T1.T0:TL0/TH0;T1:TL1/TH1TMOD/TCON:工作方式寄存器工作方式寄存器/控制寄存器控制寄存器1.结构结构内部总线工作方式工作方式TH1TL1TH0TL0TCONTMODT1T0微处理器第1页/共40页32.功能功能16位的定时器位的定时器/计数器的实质:加法计数器。计数器的实质:加法计数器。(1)定时)定时对对机器周期机器周期进行计数,即计数脉冲来自单片机的进行计数
2、,即计数脉冲来自单片机的内部。即每个机器周期产生一个计数脉冲使得计数内部。即每个机器周期产生一个计数脉冲使得计数器加器加1,直至计满溢出,直至计满溢出 。计数频率计数频率fosc/12,即,即1个机器周期;个机器周期;“定时定时”时间:开始计数到溢出;时间:开始计数到溢出;预置计数法:初值越大,定时越短。预置计数法:初值越大,定时越短。第2页/共40页4(2)计数)计数对外部脉冲信号计数(对外部脉冲信号计数(T0P3.4/T1P3.5)。下降沿出现时,计数器值加下降沿出现时,计数器值加1.在每个机器周期的在每个机器周期的S5P2拍节时对外部计数脉冲进行采样拍节时对外部计数脉冲进行采样;如果前一
3、个机器周期采样为高电平,后一个机器周期采如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效的计数脉冲。样为低电平,即为一个有效的计数脉冲。下一个周期的下一个周期的S3P1期间,新的计数值装入计数器。期间,新的计数值装入计数器。最高计数频率最高计数频率fosc/24,即,即2个机器周期。个机器周期。注:注:定时器按设定的工作方式独立运行,不占用定时器按设定的工作方式独立运行,不占用CPU的操作的操作时间,除非定时器计满溢出,中断时间,除非定时器计满溢出,中断CPU。第3页/共40页51.定时器控制寄存器定时器控制寄存器TCON功能:控制定时器功能:控制定时器T0或或T1的运
4、行或停止,并标志定时器的溢出和中断的运行或停止,并标志定时器的溢出和中断情况。情况。位地址:位地址:88H,可以位寻址。,可以位寻址。TF0/TF1:定时器溢出标志。溢出时,硬件自动使定时器溢出标志。溢出时,硬件自动使TF0/TF1置置1,并申请中并申请中断。断。TR0/TR1:定时器运行控制位。置定时器运行控制位。置1启动工作,置启动工作,置0停止工作。停止工作。IE0/IE1:外部中断外部中断0(INT0)/1(INT1)请求标志。请求标志。IT0/IT1:外部中断外部中断0/1触发方式选择位。触发方式选择位。位地址位地址8FH8EH8DH8CH8BH8AH89H88HTCONTF1TR1
5、TF0TR0IE1IT1IE0IT05.3 控制寄存器和方式寄存器控制寄存器和方式寄存器第4页/共40页62.方式寄存器方式寄存器GATE门控位门控位 GATE =0 以运行控制位以运行控制位TR启动定时器启动定时器 GATE = l 以外中断请求信号或启动定时器以外中断请求信号或启动定时器 C/T定时方式或计数方式选择位定时方式或计数方式选择位 C/T = 0 定时工作方式定时工作方式 C/T = 1 计数工作方式计数工作方式 D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0定时器定时器T1定时器定时器T0第5页/共40页7M1 M0方式方式功能功能0 0013位
6、定时器位定时器/计数器,由计数器,由TL中低中低5位和位和TH中中8位组成。位组成。0 1116位定时器位定时器/计数器计数器1 028位自动重装定时器位自动重装定时器/计数器,计数器,TL为计数器,为计数器,TH为常数为常数寄存器寄存器1 13定时器定时器0分为分为2个个8位定时器位定时器/计数器,定时器计数器,定时器1无此方式无此方式TMOD的位地址是的位地址是89H,不能位寻址,只能用字节传送指,不能位寻址,只能用字节传送指令设置定时器的工作方式。令设置定时器的工作方式。复位时,复位时,TMOD所有位均清零。所有位均清零。第6页/共40页8C/T=0:定时器工作方式:定时器工作方式:C/
7、T=1:计数器工作方式:计数器工作方式:下降沿有效。下降沿有效。GATE=0:或门输出为或门输出为1,与与INTX无关;无关;TRx1,接通计数器,否则断开停止计数。接通计数器,否则断开停止计数。GATE=1:TRx1,或门、与门输出仅受或门、与门输出仅受INTX控制。控制。5.4 定时器定时器/计数器的工作方式计数器的工作方式第7页/共40页92.定时和计数应用定时和计数应用在方式在方式0下,当为计数工作方式时,计数值的范围是:下,当为计数工作方式时,计数值的范围是: 18192(213)当为定时工作方式时,定时时间的计算公式为当为定时工作方式时,定时时间的计算公式为: ( 213 计数初值
8、)计数初值) 晶振周期晶振周期12 或(或( 213 计数初值)计数初值) 机器周期机器周期其时间单位与晶振周期或机器周期相同(其时间单位与晶振周期或机器周期相同(s)。)。如晶振频率为如晶振频率为6 MHz,则最小定时时间为,则最小定时时间为213 (213 1) 2us = 2(s)最大定时时间为最大定时时间为( 213 0 )2 us= 16 384(s) 第8页/共40页10 例例5.1设单片机晶振频率为设单片机晶振频率为6MHz,使用定时,使用定时器器1以方式以方式0产生周期为产生周期为500s的等宽正方波的等宽正方波连续脉冲,并由连续脉冲,并由P1.0输出,以查询方式完成输出,以查
9、询方式完成。 1计算计数初值计算计数初值 (213 X )2 = 250X=8067=1111110000011B十六进制表示,高十六进制表示,高8位为:位为:0FCH,低,低5位为位为03H。其中高。其中高8位放入位放入TH1,即,即TH1 = 0FCH;低;低5位放入位放入TL1,即,即TL1= 03H 第9页/共40页112.TMOD寄存器初始化寄存器初始化为把为把T1设定为方式设定为方式0,则,则M1M0 = 00;为实现定时功能,应使为实现定时功能,应使C/T= 0;为实现为实现T1的运行控制,则的运行控制,则GATE = 0。T0不用,有关位设定为不用,有关位设定为0。因此因此TM
10、OD寄存器应初始化为寄存器应初始化为00H。3.由由TCON中的中的TR1位控制定时的启动和停止位控制定时的启动和停止TR1 = 1启动启动TR1= 0停止。停止。 第10页/共40页12例例5.1 ORG 0030H ;查询方式查询方式 P112MAIN:MOVTMOD,#00HMOVTH1,#0FCHMOVTL1,#03HMOVIE,#00HSETBTR1LOOP:JBCTF1,LOOP1AJMPLOOPLOOP1:MOVTH1,#0FCHMOVTL1,#03HCPLP1.0AJMP LOOP END第11页/共40页13第12页/共40页142.定时和计数定时和计数当为计数工作方式时,计
11、数值的范围是当为计数工作方式时,计数值的范围是 165536(216)当为定时工作方式时,定时时间的计算公式为当为定时工作方式时,定时时间的计算公式为 ( 216 计数初值)计数初值) 晶振周期晶振周期12 或(或( 216 计数初值)计数初值) 机器周期机器周期其时间单位与晶振周期或机器周期相同(其时间单位与晶振周期或机器周期相同(s)。)。 第13页/共40页15 以中断方式完成以中断方式完成例例6.1 。单片机晶振频率为。单片机晶振频率为6MHz,使用定时器,使用定时器1以工作方式以工作方式1产生周期产生周期为为500s的等宽正方波连续脉冲,并由的等宽正方波连续脉冲,并由P1.0输出。输
12、出。1计算计数初值计算计数初值 TH1 = 0FFH TL1 = 83H2TMOD寄存器初始化寄存器初始化 TMOD = 10H3程序设计程序设计第14页/共40页16ORG 0000HLJMP MAINORG 001BHLJMP TOINTMIAN: MOVTMOD, #10HMOVTH1,#0FFHMOVTL1,#83HSETBEASETBET1SETBTR1HERE: SJMPHERETOINT:MOVTH1,#0FFHMOVTL1,#83HCPLP1.0RETI第15页/共40页17例例5.2:利用定时器利用定时器T1方式方式1进行定时,使进行定时,使P1.1端每隔端每隔1s取反一次,
13、设取反一次,设晶振频率为晶振频率为12MHz。解:方式解:方式1下最大定时时间:下最大定时时间:Tmax2161us65536us65.536ms当定时时间大于当定时时间大于Tmax时,可设置软件计数器。时,可设置软件计数器。设设T1定时时间为定时时间为50ms,则计满,则计满20次就可。次就可。( 216X)1us50000usX15536=3CB0H所以所以TH1=3CH,TL1=B0H程序如下:程序如下:第16页/共40页18START:MOVA,#00;A赋计数初值赋计数初值0MOVTMOD,#10H;T1为方式为方式1MOVTH1,#3CHMOVTL1,#0B0HSETBTR1;启动
14、启动T1LOOP:JBCTF1,NEXTSJMPLOOPNEXT:MOVTH1,#3CHMOVTL1,#0B0HINCACJNEA,#20,LOOPCPLP1.1MOVA,#00SJMPLOOP第17页/共40页19第18页/共40页20例例5.3 使用定时器使用定时器0以工作方式以工作方式2产生产生100s定时,定时,在在P1.0输出周期为输出周期为200s的连续正方波脉冲。已知的连续正方波脉冲。已知晶振频率晶振频率fosc = 6MHz。1计算计数初值计算计数初值6MHz晶振下,一个机器周期为晶振下,一个机器周期为2us,以,以TH0作重装作重装载的预置寄存器,载的预置寄存器,TL0作作8
15、位计数器,假设计数初值位计数器,假设计数初值为为X,则,则 (256X )2= 100us求解得求解得X = 206D = 11001110B = 0CEH把把0CEH分别装入分别装入TH0和和TL0中:中:TH0 = 0CEH ,TL0 = 0CEH 第19页/共40页21例例5.3 (查询方式查询方式) ORG 0000H LJMP MAIN ORG 0030H MAIN:MOVIE,#00HMOVTMOD,#02HMOVTH0,#0CEHMOVTL0,#0CEHSETBTR0LOOP:JBCTF0,LOOP1AJMPLOOPLOOP1:CPLP1.0AJMP LOOP END第20页/共
16、40页22(中断方式)(中断方式) ;等待中断;等待中断$SJMPHERE:;定时开始;定时开始TR0SETBLOOP:;定时器;定时器0允许中断允许中断ET0SETB;开中断;开中断EASETB;设置计数初值;设置计数初值# 0CEHTL0 ,MOV;保存计数初值;保存计数初值# 0CEHTH0 ,MOV;设;设T0为工作方式为工作方式2# 02HTMOD ,MOVMAIN:ORG0000HLJMPMAINORG000BHLJMPT1INT;中断返回;中断返回RETI;输出方波;输出方波P1.0CPLT1INT:第21页/共40页23 例例5.4:用定时器用定时器1以工作方式以工作方式2实现
17、计数,每实现计数,每计计100次进行累加器加次进行累加器加1操作。操作。 1.计算计数初值计算计数初值256-100=156D9CH则则TH1=TL1=9CH 2.TMOD初始化初始化M1M0=10,C/T=1,GATE=0因此因此TMOD=60H第22页/共40页24例例5.4 ORG0000H P115LJMPMAIN ORG 0030H ;查询方查询方式式MAIN:MOVIE,#00HMOVTMOD,#60HMOVTH1,#9CHMOVTL1,#9CHSETBTR1DEL:JBCTF1,LOOPAJMPDELLOOP:INCAAJMP DEL END第23页/共40页25例例: (应用两
18、个定时器)(应用两个定时器)设重复周期大于设重复周期大于1ms的低频脉冲信号从的低频脉冲信号从P3.5引脚(引脚(T1)输入。要)输入。要求求P3.5每发生每发生1次负跳变时,次负跳变时,P1.0输出输出1个个500s同步负脉冲,同步负脉冲,同时同时P1.1输出输出1个个1ms的同步正脉冲,其波形图如下,设的同步正脉冲,其波形图如下,设fosc6MHz。P3.5P1.0P1.11ms500s1ms第24页/共40页26计算计数初值计算计数初值:定时器:定时器T0定时定时500us,使用方式,使用方式2,T1用于用于计数计数1个脉冲(每一次负跳变发生一次变化,个脉冲(每一次负跳变发生一次变化,考
19、虑如何检测考虑如何检测负跳变?负跳变?)同时使用两个定时计数器同时使用两个定时计数器:T0: (28-x)2us500us x=6D=06H TH006H,TL006HT1: X=28-1 X=255D=0FFH TH1=0FFH, TL1=0FFHT0用于定时用于定时CT0 ,方式,方式2 M1 M010 ,GATE=0 T1用于计数用于计数CT1 ,方式,方式2 M1 M010 ,GATE=0 TMOD寄存器初始化:寄存器初始化: TMOD62HP3.5P1.0P1.11ms500s1ms第25页/共40页27ORG 0030HSTART1: MOV TMOD,#62HMOV TH0,#0
20、6H ;T0,定时,定时500usMOV TL0,#06HMOV TH1,#0FFH; T1, 计数计数一个脉冲一个脉冲MOV TL1,#0FFHSETB P1.0 CLR P1.1 SETB TR1 ; 启动启动T 1LP1:JBC TF1,NEX1 ;检测外部检测外部跳变信号跳变信号SJMP LP1NEX1: CLR P1.0SETBP1.1 SETB TR0 ; 启动启动T 0LP2:JBC TF0,NEX2;定时;定时500usSJMP LP2NEX2:SETB P1.0LP3:JBC TF0,NEX3SJMP LP3NEX3:CLR P1.1 ;定定2次次500us共共1msCLR
21、TR0 ;T0停止工作停止工作AJMP LP1P3.5P1.0P1.11ms500s1ms第26页/共40页28第27页/共40页29振荡器振荡器1212TL1TL1(8/5(8/5位位) )T1T1(P3.5)P3.5)端端C/C/ T = 0T = 0C/C/ T = 1T = 1TH1TH1(8(8位位) )串行口串行口控制控制振荡器振荡器1212TL1TL1(8(8位位) )串行口串行口T1T1(P3.5)P3.5)端端C/C/ T = 0T = 0C/C/ T = 1T = 1TH1TH1(8(8位位) )重新装入重新装入(a)T1方式方式1或或0(b)T1方式方式2T0方式方式3时
22、时T1的工作方式的工作方式第28页/共40页305.5 外部中断源的扩展外部中断源的扩展5.5.1 通过通过OC门线或实现门线或实现8051INT0INT1P1.3P1.2P1.1P1.0XI0XI1XI2XI3XI4R5.1KVCC利用一个外部中断输入线利用一个外部中断输入线INT0(或或INT1),采用集电极开路的非,采用集电极开路的非门构成或非电路。门构成或非电路。查询查询P1.0P1.3的逻辑电平来判断哪个中断源引起中断。的逻辑电平来判断哪个中断源引起中断。第29页/共40页31中断中断INT1服务程序段如下:服务程序段如下:ORG00013H;中断矢量地址;中断矢量地址LJMPINT
23、RPT;转到入口地址转到入口地址INTRPT:PUSHPSW;保护现场保护现场。PUSHACCJBP1.0,SERV1JBP1.1,SERV2JBP1.2,SERV3JBP1.3,SERV4EXIT:POPACCPOPPSWRETISERV1:.AJMPEXIT第30页/共40页32 利用利用T0/T1的外部事件计数输入端作为边沿的外部事件计数输入端作为边沿触发器的外部中断输入端;触发器的外部中断输入端; 将将T0/T1设置成计数方式,计数器初值设为设置成计数方式,计数器初值设为满量程值,即全满量程值,即全1状态;状态; T0/T1端出现负跳变脉冲时,计数器加端出现负跳变脉冲时,计数器加1就溢
24、就溢出产生中断;出产生中断; TF0/TF1作为外部中断请求标志。作为外部中断请求标志。5.5.2 通过定时器通过定时器/计数器实现计数器实现第31页/共40页33 例:定时器例:定时器T1设置为方式设置为方式2外部计数方外部计数方式,允许式,允许T1中断,且中断,且CPU开放中断。开放中断。MOVTMOD,#60HMOVTL1,#0FFHMOVTH1,#0FFHSETBEASETBET1SETBTR15.5.2 通过定时器通过定时器/计数器实现计数器实现第32页/共40页345.6 定时器与中断综合应用定时器与中断综合应用例例:利用定时器利用定时器0控制产生周期为控制产生周期为2ms和和10
25、0ms的方波信号,分别的方波信号,分别由由P1.0和和P1.1引脚输出,引脚输出,采用中断方式采用中断方式。系统时钟为。系统时钟为12MHz。分析:方波为分析:方波为2ms,定时时间为,定时时间为1ms。 机器周期为机器周期为1s,采用方式,采用方式0,则计数初值为,则计数初值为 X=213-1000=7192=1110000011000B TH0=E0H,TL0=18H 方波为方波为100ms,定时时间为,定时时间为50ms,可采用,可采用50次次1ms定时定时第33页/共40页35ORG 0000HLJMP BEGINORG 000BHLJMP TOINTORG 2000HBEGIN:MOV TMOD,#00H MOV TL0,#18H MOV TH0,#0E0H MOV R2,#50 SETB EA SETB ET0 SETB PT0 SETB TR0HERE:SJMP HERETOINT:MOV TL0,#18H MOV TH0,#0E0H CPL P1.0 DJNZ R2,RETURN CPL P1.1 MOV R2,#50RETURN:RETI第34页/共40页36查询方式查询方式中断方式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 扶持新质生产力
- 软考09年-12年软考网络工程师历年真题及答案
- 从传统到智能医疗器械的创新设计历程与案例
- 2025年中国收银管理软件数据监测研究报告
- 2025年中国摩托车启动马达转子市场调查研究报告
- 2025年中国拓展肩型肩垫数据监测报告
- 了解并应用区块链技术推动企业创新发展
- 2025年中国抗高温型修补剂市场调查研究报告
- 2025年中国手绘饰品市场调查研究报告
- 2025年中国手持式金属探测器市场调查研究报告
- 2025年装维智企工程师(三级)复习模拟100题及答案
- 国家管网集团西南管道昆明输油气分公司突发环境事件综合应急预案
- 2024国家能源集团新疆哈密能源化工有限公司社会招聘110人笔试参考题库附带答案详解
- 糖尿病饮食与护理
- 中考数学函数一次函数复习课件
- 山东省济南市2023-2024学年高二下学期7月期末考试 数学 含解析
- 美学《形象设计》课件
- 江苏省建筑与装饰工程计价定额(2014)电子表格版
- MOOC 数字电路与系统-大连理工大学 中国大学慕课答案
- 免疫抑制剂临床应用
- 康复科常用药物用法
评论
0/150
提交评论