第6章89C51定时计数器课件.ppt
《第6章89C51定时计数器课件.ppt》由会员分享,可在线阅读,更多相关《第6章89C51定时计数器课件.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6 6章章 89C5189C51的定时的定时/计数器计数器定时器定时器/计数器的结构计数器的结构6.1定时器定时器/计数器的计数器的4 4种工作方式种工作方式6.2计数器模式对输入信号的要求计数器模式对输入信号的要求6.3定时定时/计数器计数器的编程和应用的编程和应用6.42023/1/616.1 定时定时/计数器的结构计数器的结构定时定时/计数器的结构计数器的结构基本型:基本型:T0T0,定时、计数。,定时、计数。T1 T1,定时、计数、串口波特率发生器。,定时、计数、串口波特率发生器。增强型:增加了增强型:增加了T2T2。TH1TH1、TL1TL1TH0TH0、TL0TL0TCONTC
2、ONTMODTMOD2023/1/62定时定时/计数器的工作原理计数器的工作原理实质是实质是1616位加位加1 1计数器计数器定定时时器器模模式式时时,是是对对内内部部机机器器周周期期计计数数。计计数数值值乘乘以以机机器周期就是定时时间器周期就是定时时间 计计数数器器模模式式时时,是是对对外外部部事事件件计计数数。脉脉冲冲由由T0T0(P3.4P3.4)或或T1T1(P3.5P3.5)引脚输入。引脚输入。注意注意:(:(若若计数值计数值为为N N,计数初值计数初值为为X X)溢出信号使溢出信号使TF0TF0或或TF1TF1置置1 1,并,并发出中断请求发出中断请求,1616位时有:位时有:N=
3、65536-XN=65536-X,或,或X=65536-NX=65536-N12MHz12MHz晶振时,计数频率低于晶振时,计数频率低于0.5MHz 0.5MHz 2023/1/636.1.1 6.1.1 定时定时/计数器的控制计数器的控制工作方式寄存器工作方式寄存器TMODTMOD 76543210TMODGATEC/TM1M0GATEC/TM1M0字节地址:字节地址:89HGATEGATE:门门控控位位。GATEGATE0 0时时,只只要要TRxTRx为为1 1,就就可可启启动动计计数数器器工工作作;GATAGATA1 1时时,定定时时器器的的启启动动还还要要加加上上INTxINTx引引脚
4、脚为为高电平这一条件。高电平这一条件。C/TC/T:模式选择位。:模式选择位。清清0 0为定时模式,置为定时模式,置1 1为计数方式。为计数方式。M1M0M1M0:工作方式设置位。可设置四种工作方式。:工作方式设置位。可设置四种工作方式。2023/1/64M1M0M1M0工作方式工作方式说说 明明0000方式方式0 01313位定时位定时/计数器计数器0101方式方式1 11616位定时位定时/计数器计数器1010方式方式2 28 8位自动重装定时位自动重装定时/计数器计数器1111方式方式3 3T0T0分成两个独立的分成两个独立的8 8位定时位定时/计数器;计数器;T1T1此方式停止计数此方
5、式停止计数注意:注意:TMODTMOD不能进行位寻址不能进行位寻址 2023/1/656.1.2 6.1.2 控制寄存器控制寄存器TCONTCON 76543210TCONTF1TR1TF0TR0字节地址:字节地址:88HTFxTFx:TxTx溢出标志位。溢出标志位。响应中断后响应中断后TFxTFx有硬件自动清有硬件自动清0 0。用。用软件设置软件设置TFxTFx可产生同硬件置可产生同硬件置1 1或清或清0 0同样的效果。同样的效果。TRxTRx:TxTx运行控制位。运行控制位。置置1 1时开始工作;清时开始工作;清0 0时停止工作。时停止工作。TRxTRx要由软件置要由软件置1 1或清或清0
6、 0(即启动与停止要由软件控制即启动与停止要由软件控制)。)。2023/1/666.2 6.2 定时定时/计数器的计数器的4 4种工作方式种工作方式T0T0有方式有方式0 0、1 1、2 2、3 3;T1T1有方式有方式0 0、1 1、2 2。以。以T0T0为例说明。为例说明。方式方式0 0:1313位方式位方式 2023/1/67 C/T=1 C/T=1时,则为计数模式,有:时,则为计数模式,有:X=2X=21313-N=8192-N-N=8192-N C/T=0 C/T=0时,则为定时模式,有:时,则为定时模式,有:初值计算:初值计算:公式法公式法 2023/1/68门控位作用门控位作用当
7、当GATE=0GATE=0时时仅仅由由TR0TR0控控制制与与门门的的开开启启。与与门门输输出出1 1时时,控控制制开开关关接通,计数开始;接通,计数开始;当当GATE=1GATE=1时时与与门门的的开开启启由由INT0INT0和和TR0TR0共共同同控控制制。这这种种方方式式可可以以用用来测量来测量INT0INT0引脚上正脉冲的宽度。引脚上正脉冲的宽度。注意注意:方式:方式0的计数初值高的计数初值高8位和低位和低5位确定麻烦位确定麻烦,实际,实际应用中常由应用中常由16位的方式位的方式1取代。取代。2023/1/69方式方式1 1:1616位方式位方式 X=2X=21616-N=65536-
8、N -N=65536-N 计数范围:计数范围:1 16553665536 计数初值要计数初值要分成分成2 2个字节个字节分别送入分别送入TH0TH0、TL0TL02023/1/610【例例】若要求定时器若要求定时器T0T0工作于方式工作于方式1 1,定时时间为,定时时间为1ms1ms,当晶,当晶振为振为6 MHz6 MHz时,求送入时,求送入TH0TH0和和TL0TL0的计数初值各为多少?应怎样的计数初值各为多少?应怎样送入送入TH0TH0和和TL0TL0?由于晶振为由于晶振为6 MHz6 MHz,所以机器周期,所以机器周期TcyTcy为为2 2S S,因此:,因此:N=N=t/Tcyt/Tc
9、y=1=11010-3-3/2/21010-6-6500500X X2 21616-N-N65536-50065536-5006503665036FE0CH FE0CH 也可以利用以下也可以利用以下2 2条指令完成:条指令完成:v MOV TL0,#(65536-500)MOV TL0,#(65536-500)MODMOD 256;256;余数余数为计数初值的为计数初值的低字节低字节v MOV TH0,#(65536-500)MOV TH0,#(65536-500)/256 ;256 ;商商为计数初值的为计数初值的高字节高字节用传送指令分别将用传送指令分别将FEHFEH送入送入TH0TH0中,
10、中,0CH0CH送入送入TL0TL0中即可。中即可。2023/1/611方式方式2 2:8 8位自动重装方式位自动重装方式 X=2X=28 8-N=256-N -N=256-N 计数范围:计数范围:1 1256256 特别适合于脉冲信号发生器特别适合于脉冲信号发生器2023/1/612方式方式3 3:(仅(仅T0T0有此方式,有此方式,T1T1的方式的方式3 3将停止计数)将停止计数)TL0 TL0进行进行8 8位定时位定时/计数计数 TH0 TH0进行进行8 8位定时(位定时(T1T1方式方式2 2时,可出借时,可出借TR1TR1、TF1TF1)2023/1/613T0T0工作在方式工作在方
11、式工作在方式工作在方式3 3下下下下T1T1的各种工作方式的各种工作方式的各种工作方式的各种工作方式 当当当当T1T1T1T1用作串行口的波特率发生器时,用作串行口的波特率发生器时,用作串行口的波特率发生器时,用作串行口的波特率发生器时,T0T0T0T0才工作在方式才工作在方式才工作在方式才工作在方式3 3 3 3。T0T0T0T0处于方式处于方式处于方式处于方式3 3 3 3时,时,时,时,T1T1T1T1可定为方式可定为方式可定为方式可定为方式0 0 0 0、方式、方式、方式、方式1 1 1 1和方式和方式和方式和方式2 2 2 2,用来作为,用来作为,用来作为,用来作为串行口的波特率发生
12、器,或不需要中断的场合。串行口的波特率发生器,或不需要中断的场合。串行口的波特率发生器,或不需要中断的场合。串行口的波特率发生器,或不需要中断的场合。(1 1 1 1)T1T1T1T1工作在方式工作在方式工作在方式工作在方式0 0 0 0 2023/1/614(2 2 2 2)T1T1T1T1工作在方式工作在方式工作在方式工作在方式1 1 1 1 (3 3 3 3)T1T1T1T1工作在方式工作在方式工作在方式工作在方式2 2 2 2 2023/1/6156.3 6.3 6.3 6.3 定时器定时器定时器定时器/计数器对输入信号的要求计数器对输入信号的要求计数器对输入信号的要求计数器对输入信号
13、的要求 外部计数脉冲的最高频率为系统振荡器频率的外部计数脉冲的最高频率为系统振荡器频率的1/241/24,例如选,例如选用用1212MHzMHz频率的晶体,则可输入频率的晶体,则可输入500500KHzKHz的外部脉冲。的外部脉冲。输入信号的高、低电平至少要保持一个机器周期。输入信号的高、低电平至少要保持一个机器周期。2023/1/6166.4 6.4 定时器定时器/计数器的编程和应用计数器的编程和应用例例例例6-16-16-16-1 假设系统时钟频率采用假设系统时钟频率采用假设系统时钟频率采用假设系统时钟频率采用6 6 6 6MHzMHzMHzMHz,要在要在要在要在P1.0P1.0P1.0
14、P1.0上输上输上输上输出一个周期为出一个周期为出一个周期为出一个周期为2 2 2 2msmsmsms的方波,如图所示。的方波,如图所示。的方波,如图所示。的方波,如图所示。2023/1/617方波的周期用方波的周期用方波的周期用方波的周期用T0T0T0T0来确定,让来确定,让来确定,让来确定,让T0T0T0T0每隔每隔每隔每隔1 1 1 1msmsmsms计数溢出计数溢出计数溢出计数溢出1 1 1 1次次次次(每每每每1 1 1 1msmsmsms产产产产生一次中断生一次中断生一次中断生一次中断),CPUCPUCPUCPU响应中断后,在中断服务程序中对响应中断后,在中断服务程序中对响应中断后
15、,在中断服务程序中对响应中断后,在中断服务程序中对P1.0P1.0P1.0P1.0取反。取反。取反。取反。(1)(1)(1)(1)计算初值计算初值计算初值计算初值X X X X 设初值为设初值为设初值为设初值为X X X X,则有则有则有则有:(2(2(2(216161616-X)210X)210X)210X)210-6-6-6-6=110=110=110=110-3-3-3-3 2 2 2 216161616-X=500 X=65036-X=500 X=65036-X=500 X=65036-X=500 X=65036 X X X X化为化为化为化为16161616进制,即进制,即进制,即进
16、制,即X=FE0CH=1111111000001100BX=FE0CH=1111111000001100BX=FE0CH=1111111000001100BX=FE0CH=1111111000001100B。所以,所以,所以,所以,T0T0T0T0的初值为:的初值为:的初值为:的初值为:TH0=0FEH TL0=0CHTH0=0FEH TL0=0CHTH0=0FEH TL0=0CHTH0=0FEH TL0=0CH (2)(2)(2)(2)初始化程序设计初始化程序设计初始化程序设计初始化程序设计 2023/1/618对寄存器对寄存器对寄存器对寄存器IPIPIPIP、IEIEIEIE、TCONTC
17、ONTCONTCON、TMODTMODTMODTMOD的相应位进行正确设置,将计数的相应位进行正确设置,将计数的相应位进行正确设置,将计数的相应位进行正确设置,将计数初值送入定时器中。初值送入定时器中。初值送入定时器中。初值送入定时器中。(3)(3)(3)(3)程序设计程序设计程序设计程序设计 中断服务程序除产生方波外,还要注意将计数初值重新装入定中断服务程序除产生方波外,还要注意将计数初值重新装入定中断服务程序除产生方波外,还要注意将计数初值重新装入定中断服务程序除产生方波外,还要注意将计数初值重新装入定时器中,为下一次中断作准备。时器中,为下一次中断作准备。时器中,为下一次中断作准备。时器
18、中,为下一次中断作准备。参考程序:参考程序:参考程序:参考程序:ORG 0000HORG 0000HORG 0000HORG 0000HRESET:AJMP MAIN RESET:AJMP MAIN RESET:AJMP MAIN RESET:AJMP MAIN ;转主程序转主程序转主程序转主程序 ORG 000BHORG 000BHORG 000BHORG 000BH ;T0T0T0T0的中断入口的中断入口的中断入口的中断入口 AJMP IT0P AJMP IT0P AJMP IT0P AJMP IT0P ;转转转转T0T0T0T0中断处理程序中断处理程序中断处理程序中断处理程序IT0PIT
19、0PIT0PIT0P ORG 0100HORG 0100HORG 0100HORG 0100HMAIN:MOV SP,#60H MAIN:MOV SP,#60H MAIN:MOV SP,#60H MAIN:MOV SP,#60H ;设堆栈指针设堆栈指针设堆栈指针设堆栈指针 MOV TMOD,#01HMOV TMOD,#01HMOV TMOD,#01HMOV TMOD,#01H ;设置设置设置设置T0T0T0T0为方式为方式为方式为方式1 1 1 1 2023/1/619 ACALL PT0M0ACALL PT0M0ACALL PT0M0ACALL PT0M0;调用子程序调用子程序调用子程序调用
20、子程序PT0M0PT0M0PT0M0PT0M0HERE:AJMP HEREHERE:AJMP HEREHERE:AJMP HEREHERE:AJMP HERE ;自身跳转自身跳转自身跳转自身跳转PT0M0:MOV TL0,#0CHPT0M0:MOV TL0,#0CHPT0M0:MOV TL0,#0CHPT0M0:MOV TL0,#0CH;T0T0T0T0中断服务程序,中断服务程序,中断服务程序,中断服务程序,T0T0T0T0重新置初值重新置初值重新置初值重新置初值 MOV TH0,#0FEH MOV TH0,#0FEH MOV TH0,#0FEH MOV TH0,#0FEH SETB TR0
21、SETB TR0 SETB TR0 SETB TR0 ;启动启动启动启动T0T0T0T0 SETB ET0 SETB ET0 SETB ET0 SETB ET0 ;允许允许允许允许T0T0T0T0中断中断中断中断 SETB EA SETB EA SETB EA SETB EA ;CPUCPUCPUCPU开中断开中断开中断开中断 RETRETRETRETITOP:MOV TL0,#0CH ITOP:MOV TL0,#0CH ITOP:MOV TL0,#0CH ITOP:MOV TL0,#0CH ;T0T0T0T0中断服务子程序,中断服务子程序,中断服务子程序,中断服务子程序,T0T0T0T0置初
22、值置初值置初值置初值 MOV TH0,#0FEHMOV TH0,#0FEHMOV TH0,#0FEHMOV TH0,#0FEH CPL P1.0 CPL P1.0 CPL P1.0 CPL P1.0 ;P1.0P1.0P1.0P1.0的状态取反的状态取反的状态取反的状态取反 RETIRETIRETIRETI查询方式查询方式查询方式查询方式的参考程序的参考程序的参考程序的参考程序:MOV TMOD,#01H MOV TMOD,#01H MOV TMOD,#01H MOV TMOD,#01H ;设置设置设置设置T0T0T0T0为方式为方式为方式为方式1 1 1 1 2023/1/620 SETB
23、TR0 SETB TR0 SETB TR0 SETB TR0 ;接通接通接通接通T0T0T0T0LOOP:MOV TH0,#0FEH LOOP:MOV TH0,#0FEH LOOP:MOV TH0,#0FEH LOOP:MOV TH0,#0FEH ;T0T0T0T0置初值置初值置初值置初值 MOV TL0,#0CH MOV TL0,#0CH MOV TL0,#0CH MOV TL0,#0CHLOOP1LOOP1LOOP1LOOP1:JNB TF0,LOOP1 JNB TF0,LOOP1 JNB TF0,LOOP1 JNB TF0,LOOP1 ;查询查询查询查询TF0TF0TF0TF0标志标志标
24、志标志 CLR TR0 CLR TR0 CLR TR0 CLR TR0 ;T0T0T0T0溢出,关闭溢出,关闭溢出,关闭溢出,关闭T0T0T0T0 CPL P1.0 CPL P1.0 CPL P1.0 CPL P1.0 ;P1.0P1.0P1.0P1.0的状态求反的状态求反的状态求反的状态求反 SJMP LOOP SJMP LOOP SJMP LOOP SJMP LOOP2023/1/621例例例例6-26-26-26-2 假假假假设设设设系系系系统统统统时时时时钟钟钟钟为为为为6 6 6 6MHzMHzMHzMHz,编编编编写写写写定定定定时时时时器器器器T0T0T0T0产产产产生生生生1
25、1 1 1秒秒秒秒定定定定时时时时的的的的程序。程序。程序。程序。(1 1 1 1)T0T0T0T0工作方式的确定工作方式的确定工作方式的确定工作方式的确定定时时间较长,采用哪一种工作方式?定时时间较长,采用哪一种工作方式?定时时间较长,采用哪一种工作方式?定时时间较长,采用哪一种工作方式?由各种工作方式的特性,可计算出:由各种工作方式的特性,可计算出:由各种工作方式的特性,可计算出:由各种工作方式的特性,可计算出:方式方式方式方式0 0 0 0最长可定时最长可定时最长可定时最长可定时16.38416.38416.38416.384msmsmsms;方式方式方式方式1 1 1 1最长可定时最长
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 89 C51 定时 计数器 课件
限制150内