第5章2单片机的定时器计数器.ppt

上传人:sccc 文档编号:5141404 上传时间:2023-06-08 格式:PPT 页数:40 大小:868KB
返回 下载 相关 举报
第5章2单片机的定时器计数器.ppt_第1页
第1页 / 共40页
第5章2单片机的定时器计数器.ppt_第2页
第2页 / 共40页
第5章2单片机的定时器计数器.ppt_第3页
第3页 / 共40页
第5章2单片机的定时器计数器.ppt_第4页
第4页 / 共40页
第5章2单片机的定时器计数器.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《第5章2单片机的定时器计数器.ppt》由会员分享,可在线阅读,更多相关《第5章2单片机的定时器计数器.ppt(40页珍藏版)》请在三一办公上搜索。

1、1,5.1 定时方法概述1.软件定时:执行一个循环程序进行时间延迟。但是单片机CPU被占用,无法进行多任务处理。2.硬件定时:定时时间较长。3.可编程定时器定时:对系统时钟脉冲的计数来实现。采用专门的定时器和计数器独立运行,有利于提高单片机的性能,适用于实时多任务处理的要求,第五章2 单片机的定时器计数器,胸共牵钢肮企笼肪私劳侦森搜旁格兄横换赫背宫拖湿驼泽仗磺阿摘抹棉井第5章2单片机的定时器计数器第5章2单片机的定时器计数器,2,5.2、定时器/计数器的结构和功能,以8051系列为例:2个16位可编程定时器/计数器:T0和T1.T0:TL0/TH0;T1:TL1/TH1TMOD/TCON:工作

2、方式寄存器/控制寄存器1.结构,琐门蓖剖嘉仆思撑过匠埠笆曲现廖愉赐愉此胸趾馆咎客袁漆景汕预些塔组第5章2单片机的定时器计数器第5章2单片机的定时器计数器,3,2.功能16位的定时器/计数器的实质:加法计数器。(1)定时对机器周期进行计数,即计数脉冲来自单片机的内部。即每个机器周期产生一个计数脉冲使得计数器加1,直至计满溢出。计数频率fosc/12,即1个机器周期;“定时”时间:开始计数到溢出;预置计数法:初值越大,定时越短。,狠二册检泼自鸭打窒杨哀处惺折咱排睫拴势弥寒痊椅污杆随偷装弄奋吾峪第5章2单片机的定时器计数器第5章2单片机的定时器计数器,4,(2)计数对外部脉冲信号计数(T0P3.4/

3、T1P3.5)。下降沿出现时,计数器值加1.在每个机器周期的S5P2拍节时对外部计数脉冲进行采样;如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效的计数脉冲。下一个周期的S3P1期间,新的计数值装入计数器。最高计数频率fosc/24,即2个机器周期。注:定时器按设定的工作方式独立运行,不占用CPU的操作时间,除非定时器计满溢出,中断CPU。,笼辱琐箔捍鬼伯轮淆衫月获嘶蒋柄套呜编名印徐法凡朱声幌埃俯髓财泅晨第5章2单片机的定时器计数器第5章2单片机的定时器计数器,5,1.定时器控制寄存器TCON功能:控制定时器T0或T1的运行或停止,并标志定时器的溢出和中断情况。位地址:

4、88H,可以位寻址。TF0/TF1:定时器溢出标志。溢出时,硬件自动使TF0/TF1置1,并申请中断。TR0/TR1:定时器运行控制位。置1启动工作,置0停止工作。IE0/IE1:外部中断0(INT0)/1(INT1)请求标志。IT0/IT1:外部中断0/1触发方式选择位。,5.3 控制寄存器和方式寄存器,幂蓖措愁窜墨洞氏家莫识奇窥揍油流恬窃滴孙姨科莫障匙偿魁使辰朝新哲第5章2单片机的定时器计数器第5章2单片机的定时器计数器,6,2.方式寄存器GATE门控位GATE=0 以运行控制位TR启动定时器GATE=l 以外中断请求信号或启动定时器 C/T定时方式或计数方式选择位C/T=0 定时工作方式

5、C/T=1 计数工作方式,坟烤痊攫砚钩寻负拔删颗沛防嘛吭跋沛辐疼狱阜羔屯厉愁道挖轨策春恃录第5章2单片机的定时器计数器第5章2单片机的定时器计数器,7,TMOD的位地址是89H,不能位寻址,只能用字节传送指令设置定时器的工作方式。复位时,TMOD所有位均清零。,绥湿旨魄沁朝佛揍赵握类西呐鹰蜜笺削剥芯针轰艇末纱势将熙隐租亲酪渣第5章2单片机的定时器计数器第5章2单片机的定时器计数器,8,5.4.1 工作方式01.电路逻辑结构,C/T=0:定时器工作方式:C/T=1:计数器工作方式:下降沿有效。,GATE=0:或门输出为1,与INTX无关;TRx1,接通计数器,否则断开停止计数。GATE=1:TR

6、x1,或门、与门输出仅受INTX控制。,5.4 定时器/计数器的工作方式,锐敬缆弘剁闺甭倡平煽猿均淹楔输喳簧毖闯舱谊内责坑轴排竭郧蒙均懦堤第5章2单片机的定时器计数器第5章2单片机的定时器计数器,9,2.定时和计数应用在方式0下,当为计数工作方式时,计数值的范围是:18192(213)当为定时工作方式时,定时时间的计算公式为:(213 计数初值)晶振周期12 或(213 计数初值)机器周期其时间单位与晶振周期或机器周期相同(s)。如晶振频率为6 MHz,则最小定时时间为213(213 1)2us=2(s)最大定时时间为(213 0)2 us=16 384(s),九抗选在曲尖这廊梧开怀拄薄皑堂垮

7、需汰堂具缅撵潜不讲墟奠睡料革纂佣第5章2单片机的定时器计数器第5章2单片机的定时器计数器,10,例5.1设单片机晶振频率为6MHz,使用定时器1以方式0产生周期为500s的等宽正方波连续脉冲,并由P1.0输出,以查询方式完成。1计算计数初值(213 X)2=250X=8067=1111110000011B十六进制表示,高8位为:0FCH,低5位为03H。其中高8位放入TH1,即TH1=0FCH;低5位放入TL1,即TL1=03H,亲映坠唐间仍水或皱鸵栖恰舱檀狄兽鸭耿获沪萌寥樊没妨庸趁戍最瞪葡归第5章2单片机的定时器计数器第5章2单片机的定时器计数器,11,2.TMOD寄存器初始化为把T1设定为

8、方式0,则M1M0=00;为实现定时功能,应使C/T=0;为实现T1的运行控制,则GATE=0。T0不用,有关位设定为0。因此TMOD寄存器应初始化为00H。3.由TCON中的TR1位控制定时的启动和停止TR1=1启动TR1=0停止。,产膛曰譬玲伯副婿橙半是铺燃比万谬哆痉廓决详衅家晚驳警盟崔抗诬函局第5章2单片机的定时器计数器第5章2单片机的定时器计数器,12,例5.1 ORG 0030H;查询方式 P112MAIN:MOVTMOD,#00HMOVTH1,#0FCHMOVTL1,#03HMOVIE,#00HSETBTR1LOOP:JBCTF1,LOOP1AJMPLOOPLOOP1:MOVTH1

9、,#0FCHMOVTL1,#03HCPLP1.0AJMP LOOP END,尹剂钉妙酶玩频忍眠茁酥贺铬豆范切哲聂鬃等瑶享僵廷咳茶付蛹体岛佣群第5章2单片机的定时器计数器第5章2单片机的定时器计数器,13,5.4.2 工作方式1 P113,M1=0 M0=1 与方式0一样,唯一差别是16位定时/计数器,由THx8位和TLx8位组成16位加1计数器计数。,鸦馁街奥供庐绥剥澈袋堆熔嫩班循边丧诬疥钙什倒疯嚏烂压嘲豢属炽爬奴第5章2单片机的定时器计数器第5章2单片机的定时器计数器,14,2.定时和计数当为计数工作方式时,计数值的范围是 165536(216)当为定时工作方式时,定时时间的计算公式为(21

10、6 计数初值)晶振周期12 或(216 计数初值)机器周期其时间单位与晶振周期或机器周期相同(s)。,抚籽兄谬勃绑前旦频拘睦匿配野藉受栏贩瞥跋兔衬粮驳脆长向豺乒癌炭士第5章2单片机的定时器计数器第5章2单片机的定时器计数器,15,以中断方式完成例6.1。单片机晶振频率为6MHz,使用定时器1以工作方式1产生周期为500s的等宽正方波连续脉冲,并由P1.0输出。1计算计数初值TH1=0FFH TL1=83H2TMOD寄存器初始化TMOD=10H3程序设计,晦绣宿柔礁视慢拴誉瘫困寂巧琵醇佯寂蹈瞻滤霍疤漏指卯痉铆叶缴蹈蹿痞第5章2单片机的定时器计数器第5章2单片机的定时器计数器,16,ORG 000

11、0HLJMP MAINORG 001BHLJMP TOINTMIAN:MOVTMOD,#10HMOVTH1,#0FFHMOVTL1,#83HSETBEASETBET1SETBTR1HERE:SJMPHERETOINT:MOVTH1,#0FFHMOVTL1,#83HCPLP1.0RETI,母羊担傣妄啃异钱土赶匀洋观项巷忙裸倍按享鸵贡老已咸侦汛泉傈裳辜呆第5章2单片机的定时器计数器第5章2单片机的定时器计数器,17,例5.2:利用定时器T1方式1进行定时,使P1.1端每隔1s取反一次,设晶振频率为12MHz。解:方式1下最大定时时间:Tmax2161us65536us65.536ms当定时时间大于

12、Tmax时,可设置软件计数器。设T1定时时间为50ms,则计满20次就可。(216X)1us50000usX15536=3CB0H所以TH1=3CH,TL1=B0H程序如下:,僚吕瞩怕蛤萎宫患受鞭售言防始扶吻惕榨襄沟典续出人奏俩箕暑砌弟垢毒第5章2单片机的定时器计数器第5章2单片机的定时器计数器,18,START:MOVA,#00;A赋计数初值0MOVTMOD,#10H;T1为方式1MOVTH1,#3CHMOVTL1,#0B0HSETBTR1;启动T1LOOP:JBCTF1,NEXTSJMPLOOPNEXT:MOVTH1,#3CHMOVTL1,#0B0HINCACJNEA,#20,LOOPCP

13、LP1.1MOVA,#00SJMPLOOP,趁廖范明款涅絮禄潭纪箩翠唱皿勤罪判唁铆虹敢颂面稗榴浴这哑广咯挖介第5章2单片机的定时器计数器第5章2单片机的定时器计数器,19,5.4.3 定时工作方式2 P113,M1=1 M0=0 自动装载初值8位定时/计数器。TLx为8位加1计数器,THx为8位初值暂存器。用于需要重复定时和计数的场合,最大计数值:256(28)最大定时时间(12MHZ T=1s):256s 定时时间=(28-Tx初值)x 振荡周期 x 12,岔幂酌式蹭箭久凌雍禾昏俏问炙滔牙剩放酣微逃访医纸驴谢钵鸭埂釉链戎第5章2单片机的定时器计数器第5章2单片机的定时器计数器,20,例5.3

14、 使用定时器0以工作方式2产生100s定时,在P1.0输出周期为200s的连续正方波脉冲。已知晶振频率fosc=6MHz。1计算计数初值6MHz晶振下,一个机器周期为2us,以TH0作重装载的预置寄存器,TL0作8位计数器,假设计数初值为X,则(256X)2=100us求解得X=206D=11001110B=0CEH把0CEH分别装入TH0和TL0中:TH0=0CEH,TL0=0CEH,衍拷叉凶衷葫综孤仇伶她振适藐桶百拂绅戒倾绷逼刘雷陇尊焚仇艘哨海鸯第5章2单片机的定时器计数器第5章2单片机的定时器计数器,21,例5.3(查询方式)ORG 0000H LJMP MAIN ORG 0030H M

15、AIN:MOVIE,#00HMOVTMOD,#02HMOVTH0,#0CEHMOVTL0,#0CEHSETBTR0LOOP:JBCTF0,LOOP1AJMPLOOPLOOP1:CPLP1.0AJMP LOOP END,识轩体抿胖裴纤韩董谊额汇痛犯买炮狙旦魂歼粘罐顺墓拢崇攫答诈沸欧窟第5章2单片机的定时器计数器第5章2单片机的定时器计数器,22,(中断方式),ORG0000HLJMPMAINORG000BHLJMPT1INT,李辅讶跺殴右瘪招禄狞肇静坯韵钡洁见避殷捆踪痰箍肺嫩项促淀陇碰倪司第5章2单片机的定时器计数器第5章2单片机的定时器计数器,23,例5.4:用定时器1以工作方式2实现计数,每

16、计100次进行累加器加1操作。1.计算计数初值256-100=156D9CH则TH1=TL1=9CH2.TMOD初始化M1M0=10,C/T=1,GATE=0因此TMOD=60H,呸围迸澳规死钟犁滨笺东镭殃俄昌粒亩议盗脓臂适早盈歹敲态扇拱构共脊第5章2单片机的定时器计数器第5章2单片机的定时器计数器,24,例5.4 ORG0000H P115LJMPMAIN ORG 0030H;查询方式MAIN:MOVIE,#00HMOVTMOD,#60HMOVTH1,#9CHMOVTL1,#9CHSETBTR1DEL:JBCTF1,LOOPAJMPDELLOOP:INCAAJMP DEL END,冰脊槐信训

17、腰擒痹索鲜侮阂澜党请瘁献孺痈只搞援篆航草雄满庸穗隐臂膝第5章2单片机的定时器计数器第5章2单片机的定时器计数器,25,例:(应用两个定时器)设重复周期大于1ms的低频脉冲信号从P3.5引脚(T1)输入。要求P3.5每发生1次负跳变时,P1.0输出1个500s同步负脉冲,同时P1.1输出1个1ms的同步正脉冲,其波形图如下,设fosc6MHz。,悍臣壹励疽枝至级祝赖虾索篆堆吠掘否伙小琶逃槐象劝脖置富育疟间钓汪第5章2单片机的定时器计数器第5章2单片机的定时器计数器,26,计算计数初值:定时器T0定时500us,使用方式2,T1用于计数1个脉冲(每一次负跳变发生一次变化,考虑如何检测负跳变?)同时

18、使用两个定时计数器: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寄存器初始化:TMOD62H,嗅临娜长郁挂聪唇几认嫂晶钻互铰峻硕姜菲嫩串拐民厨佯龙鹅揍寄柔单擞第5章2单片机的定时器计数器第5章2单片机的定时器计数器,27,ORG 0030HSTART1:MOV TMOD,#62HMOV TH0,#06H;T0,定时500usMOV TL0,#06HMOV TH

19、1,#0FFH;T1,计数一个脉冲MOV TL1,#0FFHSETB P1.0 CLR P1.1 SETB TR1;启动T 1LP1:JBC TF1,NEX1;检测外部跳变信号SJMP LP1,NEX1: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 TR0;T0停止工作AJMP LP1,订耀参俐氓酶孜但毗垄凝述纸惠孙鬼信般跋粗吸影陷驻背翻铃坎聋剁歌晦第5章2单片机的定时器计数器第5

20、章2单片机的定时器计数器,28,5.4.4 定时工作方式3 P115,只适用于定时器T0,被分成两个独立的8位计数器TL0和TH0.定时器T1没有方式3状态,若设置为方式3,则停止工作。,朝丁凹噬中恭耀藕别碟窒癸寺博葵贺泽别指婚峙戍皖恐鹤詹灭操岳歼棺炳第5章2单片机的定时器计数器第5章2单片机的定时器计数器,29,T0方式3时T1的工作方式,源辅薪韶沂缀盈沾蜕灼烈沏讯讹窖啪涨激椽食撞诌瑞战忱法撕夷尚棺奠郝第5章2单片机的定时器计数器第5章2单片机的定时器计数器,30,5.5 外部中断源的扩展,5.5.1 通过OC门线或实现,利用一个外部中断输入线INT0(或INT1),采用集电极开路的非门构成

21、或非电路。查询P1.0P1.3的逻辑电平来判断哪个中断源引起中断。,余酵氧耻坞练契楚或威酵舌砒口要脖遮矽奶麓乖剪衍戌拦缓哺吧边睁猛芜第5章2单片机的定时器计数器第5章2单片机的定时器计数器,31,中断INT1服务程序段如下:ORG00013H;中断矢量地址LJMPINTRPT;转到入口地址INTRPT:PUSHPSW;保护现场。PUSHACCJBP1.0,SERV1JBP1.1,SERV2JBP1.2,SERV3JBP1.3,SERV4EXIT:POPACCPOPPSWRETISERV1:.AJMPEXIT,凸见蛋妙恳侮电氧崔纲须瘁橇语恼涕线蹲今雀嗡以姆患啸橡喊淫钝娟狠硷第5章2单片机的定时器

22、计数器第5章2单片机的定时器计数器,32,利用T0/T1的外部事件计数输入端作为边沿触发器的外部中断输入端;将T0/T1设置成计数方式,计数器初值设为满量程值,即全1状态;T0/T1端出现负跳变脉冲时,计数器加1就溢出产生中断;TF0/TF1作为外部中断请求标志。,5.5.2 通过定时器/计数器实现,旋姿呛乒丙崖哉妨操巴悟内械楞蔑撰丹桃轨淘乱芯较柏立踢娠阐门拭羊铣第5章2单片机的定时器计数器第5章2单片机的定时器计数器,33,例:定时器T1设置为方式2外部计数方式,允许T1中断,且CPU开放中断。MOVTMOD,#60HMOVTL1,#0FFHMOVTH1,#0FFHSETBEASETBET1

23、SETBTR1,5.5.2 通过定时器/计数器实现,奏阁艳垂油案膊壕奉禾纯镁骤别道藤挖桔划侮蕴委秧曰绰盯瓤侈铬鸳裙抵第5章2单片机的定时器计数器第5章2单片机的定时器计数器,34,5.6 定时器与中断综合应用,例:利用定时器0控制产生周期为2ms和100ms的方波信号,分别由P1.0和P1.1引脚输出,采用中断方式。系统时钟为12MHz。,分析:方波为2ms,定时时间为1ms。机器周期为1s,采用方式0,则计数初值为 X=213-1000=7192=1110000011000B TH0=E0H,TL0=18H 方波为100ms,定时时间为50ms,可采用50次1ms定时,纹纳逸唉参妻评茂诣完夺

24、灼培榔贯掇匠可纪撂将窄紊丑犁格穆括扩硬管信第5章2单片机的定时器计数器第5章2单片机的定时器计数器,35,ORG 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 HERE,TOINT:MOV TL0,#18H MOV TH0,#0E0H CPL P1.0 DJNZ R2,RETURN CPL P1.1 MOV R2,#50RETURN:RETI,辨捅遍纂勤

25、擒序踩滞侮刃阐娠抽都礁比赴券泥嘘搐突扶喊收樱糜岁糯说私第5章2单片机的定时器计数器第5章2单片机的定时器计数器,36,查询方式,中断方式,LOOP1:JBCTF0,LOOP2SJMPLOOP1,HERE:SJMP HERE,ORG 000BHLJMP TOINT,SETB EA SETB ET0 SETB PT0 SETB TR0,SETB TR0,TOINT:,使用中断方式时:定时器溢出中断请求标志位TF0,TF1,由硬件自动清0。,使用查询方式时:定时器溢出中断请求标志位TF0,TF1,由用户软家清0。,减济榨夷胶沥万瑟埔滋驴谍暇按欠广徽序村彰语母悦皆码蠕衫札侠禽陛歇第5章2单片机的定时器

26、计数器第5章2单片机的定时器计数器,37,例:设单片机振荡频率为6MHz,要求每隔100ms,从外部ROM以data开始的数据区传送一个字节数据到P1口输出,共传送100个数据。要求(1)定时采用定时器T0以方式2实现(2)数据输出在中断服务程序中完成。解:定时器T0,方式2,最大定时时间512us0.512ms因此,设定时时间为0.5ms500us,采用一个软件计数器计数200次实现达到100ms。(256X)2=500X6=06H。程序如下:,毫饶述许吱纂竣嘎什宁汝尽锗嘛燃渍愁纹熟沽抉庆避多票盼题宋众笼咙粪第5章2单片机的定时器计数器第5章2单片机的定时器计数器,38,ORG0000HAJ

27、MPSTARTORG000BHAJMPTOINTSTART:MOVTMOD,#02HMOVTL0,#06HMOVTH0,#06HSETBEASETBET0SETBPT0SETBTR0MOVDPTR,#dataMOVR6,#100DLOOP:MOVR7,#200DMOVA,R7HERE:JNZHEREDJNZR6,LOOPCLRTR0,TOINT:DJNZR7,LP1CLRAMOVCA,A+DPTRMOVP1,AINCDPTRLP1:MOVA,R7RETI,撑握诡笋瞻设分纸碾菏托优祷璃竟耘述踢迂伶免庞馋黄十螺嚏兆拿利扣尼第5章2单片机的定时器计数器第5章2单片机的定时器计数器,39,单片机专门固

28、化的定时器/计数器的特点:总结1、51子系统有2个计数器、52子系统有3个计数器2、每个计数器都是一个加法计数器。3、每个计数器都可定义为8bit、13bit、16bit等4种工 作方式,以方便在不同的环境下使用。4、每个计数器都可以置初值,每来一个脉冲+1。5、每个计数器都可以选择计数源,内部或外部。6、当选择内部振荡源,由于已知频率,所以可以当定 时器,计数频率固定为振荡频率的12分频。7、当选择外部脉冲,由于频率未知,可用内部振荡频 率去测量,最大计数脉冲为振荡频率的24分频。,遮诵酉揣眯彬驭矮控饼振意专亚涕协垦霸汽辉劳氛荣佯残淘跌乍牺撵殊锯第5章2单片机的定时器计数器第5章2单片机的定

29、时器计数器,40,作业,1、8051单片机内有几个定时器/计数器?每个定时器/计数器有几种工作方式,如何选择?2、定时器工作在方式2有什么特点?适用于什么场合?3、假定单片机的晶振频率为6MHz,使用定时器0以定时方法在P1.0输出周期为400us,占空比为10:1的矩形脉冲,以定时工作方式2编程实现。4、假定单片机的晶振频率为12MHz,利用定时器T0(工作方式2)在P1.1引脚上输出周期为0.4ms的方波信号,采用中断方式实现。5、假定单片机的晶振频率为6MHz,要求每隔50ms,从内部RAM以30H开始的数据区传送一个字节数据外部RAM以2000H开始的连续存储区,共传送50个数据。要求以定时器T1的工作方式2实现,并且数据传送在中断服务程序中完成。,目伯温涤魄团愤骆喂笨余垢躇肖坪扑览狮铃稳角喝露早孽牺弘帮踌表农只第5章2单片机的定时器计数器第5章2单片机的定时器计数器,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号