【精品】19第六章:MCS-51及定时器、计数器(3)精品ppt课件.ppt

上传人:1595****071 文档编号:86271513 上传时间:2023-04-14 格式:PPT 页数:23 大小:1.59MB
返回 下载 相关 举报
【精品】19第六章:MCS-51及定时器、计数器(3)精品ppt课件.ppt_第1页
第1页 / 共23页
【精品】19第六章:MCS-51及定时器、计数器(3)精品ppt课件.ppt_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《【精品】19第六章:MCS-51及定时器、计数器(3)精品ppt课件.ppt》由会员分享,可在线阅读,更多相关《【精品】19第六章:MCS-51及定时器、计数器(3)精品ppt课件.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、19第六章:MCS-51及定时器、计数器(3)上节回顾:上节回顾:一、定时器一、定时器/计数器初值的计算方法;计数器初值的计算方法;二、定时器二、定时器/计数器的编程和应用。计数器的编程和应用。方式方式0 0、1 1的应用(查询方式、中断方式)的应用(查询方式、中断方式)例例1:电路如图,用电路如图,用T0方式方式1产生产生1s中断,数码管显示内容由中断,数码管显示内容由09每每1s钟变化一次。(数码管为共阳极钟变化一次。(数码管为共阳极,晶振为晶振为6MHz)分析分析:首先产生首先产生100MS的定时的定时,再再循环循环10次次,即为即为1S。初值的计算:初值的计算:TC=M-C=65536

2、 50000=15536=0011 1100 1011 0000 B主程序:主程序:ORG 0000H AJMP MAIN ORG 000BH AJMP CTC0 ORG 0030HMAIN:MOV B,#10 CLR A MOV R0,#10 MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 SETB ET0 SETB EAHERE:SJMP HERE中断服务程序:中断服务程序:CTC0:MOV TH0,#3CH MOV TL0,#0B0H DJNZ B,LOOP MOV P0,A INC A MOV B,#10 DJNZ R0,LOOP C

3、LR TR0LOOP:RETI END 主程序:主程序:ORG 0000H AJMP MAIN ORG 000BH AJMP CTC0 ORG 0030HMAIN:MOV B,#100 CLR A MOV R0,#10 MOV TMOD,#00H MOV TH0,#63H MOV TL0,#18H SETB EA SETB ET0 SETB TR0HERE:SJMP HERE中断服务程序:中断服务程序:CTC0:MOV TH0,#63H MOV TL0,#18H DJNZ B,LOOP MOV P0,A INC A MOV B,#100 DJNZ R0,LOOP CLR TR0LOOP:RET

4、I END 例例2:设系统时钟频率为设系统时钟频率为6MHz,用,用T0作外部计数器作外部计数器,编程,编程实现每计到实现每计到1000个脉冲,使个脉冲,使T1开始开始2ms定时定时,定时时间到,定时时间到后,后,T0又开始计数,反复循环。又开始计数,反复循环。分析:该例需用到分析:该例需用到分析:该例需用到分析:该例需用到T0T0、T1T1两个定时两个定时两个定时两个定时/计数器交替工作,计数器交替工作,计数器交替工作,计数器交替工作,如果考虑用中断方式来完成,需要在如果考虑用中断方式来完成,需要在如果考虑用中断方式来完成,需要在如果考虑用中断方式来完成,需要在T0T0、T1T1各自的中各自

5、的中各自的中各自的中断服务程序中,关闭自身中断,同时打开对方中断,断服务程序中,关闭自身中断,同时打开对方中断,断服务程序中,关闭自身中断,同时打开对方中断,断服务程序中,关闭自身中断,同时打开对方中断,如此交替完成,程序设计相对较为复杂,故我们可以如此交替完成,程序设计相对较为复杂,故我们可以如此交替完成,程序设计相对较为复杂,故我们可以如此交替完成,程序设计相对较为复杂,故我们可以考虑用查询方式来完成。考虑用查询方式来完成。考虑用查询方式来完成。考虑用查询方式来完成。初值的计算(方式初值的计算(方式初值的计算(方式初值的计算(方式1 1):):):):65536-1000=64536=FC

6、18H65536-1000=64536=FC18H实际也可考虑用方式实际也可考虑用方式实际也可考虑用方式实际也可考虑用方式0 0完成!完成!完成!完成!例例2:设系统时钟频率为设系统时钟频率为6MHz,用,用T0作外部计数器作外部计数器,编程,编程实现每计到实现每计到1000个脉冲,使个脉冲,使T1开始开始2ms定时定时,定时时间到,定时时间到后,后,T0又开始计数,反复循环。又开始计数,反复循环。ORG 0030H MOV TMOD,#15HNEXT:MOV TH0,#0FCH MOV TL0,#18H SETB TR0 JNB TF0,$CLR TR0 CLR TF0 MOV TH1,#0

7、FCHMOV TL1,#18HSETB TR1JNB TF1,$CLR TR1CLR TF1LJMP NEXT源程序如下:源程序如下:645366.4.2 方式方式2的应用的应用 方式方式2是是1个可以自动重新装载初值的个可以自动重新装载初值的8位定时器位定时器/计数器。计数器。这种工作方式可以省去用户程序中重新装入初值的指令,并可这种工作方式可以省去用户程序中重新装入初值的指令,并可产生相当精确的定时时间。产生相当精确的定时时间。例例1:单片机系统外接晶振频率为单片机系统外接晶振频率为12MHz,试编写程序,使,试编写程序,使P1.0端口上输出频率为端口上输出频率为2000Hz的方波。的方波

8、。1、定时方式的选择:、定时方式的选择:2、定时常数的设定:、定时常数的设定:3、开、开T0中断;中断;4、启动、启动T0;5、动态暂停;、动态暂停;T=1/2000=500usT/2=250us选择定时方式选择定时方式2TC=28-250us/1us=6 ORG 0000H AJMP MAIN ORG 000BH AJMP T0INTT0INT ORG 0030HMAIN:MOV TMOD,#02HMAIN:MOV TMOD,#02H MOV TH0,#06H MOV TH0,#06H MOV TL0,#06H MOV TL0,#06H SETB ET0 SETB ET0 SETB EA S

9、ETB EA SETB TR0 SETB TR0 SJMP$SJMP$T0INT:CPL P1.0 RETI源程序如下:源程序如下:例例2:已知单片机系统时钟频率为已知单片机系统时钟频率为6MHz,请利用,请利用T0和和P1.2输输出矩形脉冲,波形如下:出矩形脉冲,波形如下:50us150us可以设置可以设置T0为方式为方式2定时功能,定时定时功能,定时50us,初值,初值x为:为:x x2562562525231231E7HE7H源程序如下:源程序如下:ORG 0030H MOV TMOD,#02H MOV TL0,#0E7H MOV TH0,#0E7H SETB TR0L1:SETB P1

10、.2 MOV R0,#4DEL:JBC TF0,REP AJMP DELREP:CLR P1.2 DJNZ R0,DEL AJMP L15.10 多外部中断源系统设计多外部中断源系统设计 5.10.1 定时器定时器/计数器作为外部中断源的使用方法计数器作为外部中断源的使用方法 MCS-51有两个定时器有两个定时器/计数器,当它们选择为计数计数器,当它们选择为计数器工作模式,器工作模式,T0引脚上发生负跳变时,引脚上发生负跳变时,T0计数器加计数器加1,利用这个特性,可以把利用这个特性,可以把T0引脚作为外部中断请求输入引脚作为外部中断请求输入引脚,而定时器引脚,而定时器/计数器溢出中断计数器溢

11、出中断TF0作为外部中断请作为外部中断请求标志。求标志。例例1:利用定时器利用定时器/计数器计数器T0,T1端作为外部中断源输入线端作为外部中断源输入线的程序设计。的程序设计。将定时器将定时器/计数器计数器T0设置为方式设置为方式2(自动恢复常数)(自动恢复常数)计数,计数初值为计数,计数初值为0FFH,计数输入端,计数输入端T0(P3.4)发生一)发生一次负跳变,计数器加次负跳变,计数器加1并产生溢出标志向并产生溢出标志向CPU申请中断。申请中断。假设中断处理程序使累加器假设中断处理程序使累加器A内容减内容减1,送,送P1口,然口,然后返回主程序。后返回主程序。源程序如下:源程序如下:ORG

12、 0000H AJMP MAIN ORG 000BH AJMP L0L0MAIN:MOV SP,#53H MOV TMOD,#06H ;T0设置为方式设置为方式2 MOV TL0,#0FFH#0FFH ;送计数初值;送计数初值 MOV TH0,#0FFH#0FFH SETB TR0 ;启动;启动T0计数计数 SETB ET0 ;允许;允许T0中断中断 SETB EA ;CPU开中断开中断 SJMP$L0:DEC A MOV P1,A RETI6.4.3 方式方式3的应用的应用 方式方式3对对T0和和T1大不相同。大不相同。T0工作在方式工作在方式3时,时,T1只能工只能工作在方式作在方式0、1

13、、2。T0工作在方式工作在方式3时,时,TL0和和TH0被分成被分成2个个独立的独立的8位定时器位定时器/计数器;而计数器;而TH0只能作为只能作为8位的定时器。位的定时器。例例例例1 1:在在51单片机系统中,已知时钟频率为单片机系统中,已知时钟频率为6MHz,请编程使,请编程使P1.0和和P1.1分别输出周期为分别输出周期为1ms和和400us的方波。的方波。分析:以分析:以T0定时,工作方式设为定时,工作方式设为3,TL0和和TH0作为两个作为两个8位位定时器,产生定时器,产生500us和和200us的定时中断,即可使的定时中断,即可使P1.0和和P1.1口分别输出周期为口分别输出周期为

14、1ms和和400us的方波。的方波。初值的计算:初值的计算:初值的计算:初值的计算:500us500us定时时间:定时时间:定时时间:定时时间:T T2562562502506 6200us200us定时时间:定时时间:定时时间:定时时间:T T2562561001001561569CH9CH程序如下:程序如下:ORG 0000H AJMP START ORG 000BH AJMP K0K0 ORG 001BH AJMP K1K1 ORG 0030HSTART:MOV SP,#60H MOV TMOD,#03H MOV TL0,#06H MOV TH0,#9CH SETB TR0 SETB T

15、R1 SETB ET0 SETB ET1 SETB EA SJMP$K0:MOV TL0,#06H CPL P1.0 RETIK1:MOV TH0,#9CH CPL P1.1 RETI 习题:习题:习题:习题:电路如图,将电路如图,将89S52单片机的单片机的T1端口用作外部中断输入端端口用作外部中断输入端口,设计程序,实现当外部信号下降沿到来时产生中断。口,设计程序,实现当外部信号下降沿到来时产生中断。ORG 0000H AJMP MAIN ORG 001BH AJMP T1INT ORG 0030HMAIN:MOV TMOD,#60H MOV TH1,#0FFH MOV TL1,#0FFH

16、 SETB TR1 SETB ET1 SETB EA SJMP$T1INT:RETI计数模式、计数模式、工作方式工作方式24DH41H49H4EH12H34H30H00H00H70H1000H1001H1009H4-4:作业订正作业订正作业订正作业订正4-8:1000H MOV R3,#151002H DL1:MOV R4,#2551004H DL2:MOV P1,R31006H DJNZ R4,DL21008H DJNZ R3,DL1100AH RET (2+2)*255+1+2*15+1+2=15.348msDL2:1004H-1006H-2+100H=0FCHDL1:1002H-1008H-2+100H=0F8H4-11:试编写程序,查找在内部试编写程序,查找在内部RAMRAM的的20H20H40H40H单元中单元中出现出现“00H”“00H”这一数据的次数。并将查找到的结果存入这一数据的次数。并将查找到的结果存入41H41H单元。单元。ORG 0000H AJMP MAIN ORG 0030H MAIN:MOV 41H,#00H MOV R2,#21H MOV R0,#20HLOOP:CJNE R0,#00H,NEXT INC 41HNEXT:INC R0 DJNZ R2,LOOP SJMP$END 源程序如下:源程序如下:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁