《单片机学习第五章定时器与计数器第二讲.ppt》由会员分享,可在线阅读,更多相关《单片机学习第五章定时器与计数器第二讲.ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机学习第五章定时器与计数器第二讲 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望例例5-3 若晶振频率为若晶振频率为6MHZ,试计算单片机定时器试计算单片机定时器最小定时时间和最大定时时间。最小定时时间和最大定时时间。n 解解 先确定机器周期先确定机器周期n Tc=12/晶振频率晶振频率=12/6*106=0.002msn 计算最小定时时间:定时器的四种工作方式的最小定时时计算最小定时时间:定时器的四种工作方式的最小定时时间都是一致的,即间都是一致的,即n T
2、min=1Tc=0.002msn 计算最大定时时间:计算最大定时时间:16位的定时器定时时间最长,即位的定时器定时时间最长,即n Tmax=216 0.002ms131msn应该注意的是:定时器的最大定时时间和最小定时时间是应该注意的是:定时器的最大定时时间和最小定时时间是随着单片机的晶振频率的变化而改变的。随着单片机的晶振频率的变化而改变的。例例 5-4 设单片机的晶振频率为设单片机的晶振频率为12MHZ,要求由要求由T0产生产生1ms的定时并使的定时并使P1.0输出周输出周期为期为2ms的方波。的方波。n解解:若要产生若要产生2ms的方波,只要每的方波,只要每1ms将将P1.0反向一次即可
3、,反向一次即可,采用采用CPL指令实现。设指令实现。设T0工作于方式工作于方式0,计数初值计算如下:,计数初值计算如下:n机器周期为:机器周期为:Tc=12/晶振频率晶振频率=12/12MHZ=0.001ms计数初值为:计数初值为:X=213-T/Tc=213-1000=7192=1110000011000BnTMOD方式字:方式字:T1不用,不用,4位全位全0。对。对T0来说:来说:M1M0=00H、C/T=0、GATE=0.n于是:于是:TMOD=00H 查询方式:若采用查询方式,查询方式:若采用查询方式,TF0TF0置位后不会置位后不会自动复位,应采用软件方法将其复位。自动复位,应采用软
4、件方法将其复位。T0T0初始化初始化程序如下:程序如下:n ORG 1000HnSTART:MOV TMOD,#00H ;写方式控制字;写方式控制字n MOV TL0,#18H ;置低;置低5位计数值位计数值n MOV TH0,#0E0H ;置高;置高8位计数值位计数值n SETB TR0 ;启动;启动T0计数计数nLOOP:JBC TF0,PNG ;1ms到则清到则清TF0转转PNGn AJMP LOOP ;未到则等待;未到则等待nPNG:MOV TL0,#18H ;重新送计数长度;重新送计数长度n MOV TH0,#0E0Hn CPL P1.0 ;改变输出电平;改变输出电平n AJMP L
5、OOPn end 中断方式中断方式T0初始化程序如下:初始化程序如下:n org 0000hn ajmp startn ORG 000BH ORG 000BHn AJMP INTR AJMP INTRn ORG 1000H ORG 1000HnSTART:MOV TMOD,#00H START:MOV TMOD,#00H;写方式控制字;写方式控制字n MOV TL0,#18H MOV TL0,#18H ;置低;置低5 5位计数值位计数值n MOV TH0,#0E0H MOV TH0,#0E0H;置高;置高8 8位计数值位计数值n SETB EA SETB EA ;开中断;开中断n SETB ET0 SETB ET0 ;允许;允许T0T0中断中断n SETB TR0 SETB TR0 ;启动;启动T0T0计数器计数器nLOOP:SJMP LOOP LOOP:SJMP LOOP ;等待中断;等待中断nINTR:MOV TL0,#18H INTR:MOV TL0,#18H ;重新送计数长度;重新送计数长度n MOV TH0,#0E0H MOV TH0,#0E0Hn CPL P1.0 CPL P1.0 ;改变输出电平;改变输出电平n RETI RETI n END END
限制150内