《定时计数器与中断系统.ppt》由会员分享,可在线阅读,更多相关《定时计数器与中断系统.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、定时计数器与中断系统 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望5.1 定时定时/计数器结构特点及控制计数器结构特点及控制n5.1.1 定时定时/计数器结构计数器结构n5.1.2 定时定时/计数器工作方式计数器工作方式n5.1.3 定时定时/计数器控制寄存器计数器控制寄存器n5.1.4 定时定时/计数器常数的计算计数器常数的计算返回本章首页5.1.1 定时定时/计数器结构计数器结构n定定时时/计计数数器器简简称称定定时时器器,8031单单片片机机有有2个个16
2、位位的的定定时时/计计数数器器:定定时时器器0(T0)和和定定时时器器1(T1)。它它们们都都有有定定时时器器或或事事件件计计数数的的功功能能,可可用用于于定定时时控控制制、延延时时、对对外外部部事事件件计计数数和和检检测测等场合。等场合。nT0由由2个个特特殊殊功功能能寄寄存存器器TH0和和TL0构构成成,T1则则由由TH1和和TL1构构成成。作作计计数数器器时时,通通过过引引脚脚T0(P3.4)和和T1(P3.5)对对外外部部脉脉冲冲信信号号计计数数,当当输输入入脉脉冲冲信信号号从从1到到0的的负负跳跳变变时时,计计数数器器就就自自动动加加1。计数的最高频率一般为振荡频率的计数的最高频率一
3、般为振荡频率的1/24。返回本节5.1.2 定时定时/计数器工作方式计数器工作方式n每每个个定定时时/计计数数器器还还有有4种种工工作作模模式式,也也就就是是每每个个定时器可构成定时器可构成4种电路结构模式。种电路结构模式。n在在模模式式0、1和和2,T0和和T1的的工工作作模模式式相相同同,在在模模式式3,两两个个定定时时器器的的模模式式不不同同。下下面面以以T1为为例例,分述各种工作模式的特点和用法。分述各种工作模式的特点和用法。1模式模式0图5-1 定时/计数器T1(T0)工作模式0 2模式1图5-2 定时/计数器T1(T0)工作模式13模式2图5-3 定时/计数器T1(T0)工作模式2
4、 4模式3图5-4 定时/计数器T1(T0)工作模式3返回本节5.1.3 定时定时/计数器控制寄存器计数器控制寄存器n定定时时器器共共有有2个个控控制制寄寄存存器器TMOD和和TCON,由由软软件件写写入入TMOD和和TCON 两两个个8位位寄寄存存器器,设设置置各各个个定定时器的操作模式和控制功能。时器的操作模式和控制功能。1工作模式控制寄存器工作模式控制寄存器TMOD(89H)图5-5 定时器工作模式寄存器TMOD2定时器控制寄存器定时器控制寄存器TCON(88H)图5-6 定时器工作模式寄存器TCON 返回本节5.1.4 定时定时/计数器常数的计算计数器常数的计算n1计数器初值的计算计数
5、器初值的计算n把把计计数数器器计计满满为为零零所所需需要要的的计计数数值值设设定定为为C,计计数初值设定为数初值设定为TC,由此可得到公式:由此可得到公式:TC=M-Cn式式中中,M为为计计数数器器模模值值,该该值值和和计计数数器器工工作作方方式式有有关关。在在方方式式0时时M为为213;在在方方式式1时时M为为216;在在方式方式2和方式和方式3时时M为为28。n2定时器初值的计算定时器初值的计算n在在定定时时器器模模式式下下,计计数数器器由由单单片片机机主主脉脉冲冲经经12分分频后计数。因此,定时器定时时间频后计数。因此,定时器定时时间T的公式:的公式:T=(M-TC)T计数计数 上式也可
6、写成:上式也可写成:TC=M-T/T计数计数n式中,式中,M为模值,和定时器的工作方式有关;为模值,和定时器的工作方式有关;T计计数数是单片机振荡周期是单片机振荡周期TCLK的的12倍;倍;TC为定时器的为定时器的定时初值。定时初值。返回本节5.2 中断系统结构及管理中断系统结构及管理n5.2.1 中断请求与控制中断请求与控制n5.2.2 中断系统的结构中断系统的结构n5.2.3 中断控制中断控制n5.2.4 中断响应过程中断响应过程返回本章首页5.2.1 中断请求与控制中断请求与控制图5-7 中断流程返回本节5.2.2 中断系统的结构中断系统的结构n1外部中断源外部中断源由由P3.2端口线引
7、入,低电平或下降沿引起。端口线引入,低电平或下降沿引起。由由P3.3端口线引入,低电平或下降沿引起。端口线引入,低电平或下降沿引起。n2内部中断源(内部中断源(如图如图5-8所示)所示)T0:定时定时/计数器计数器0中断,由中断,由T0回零溢出引起。回零溢出引起。T1:定时定时/计数器计数器1中断,由中断,由T1回零溢出引起。回零溢出引起。TI/RI:串行串行I/O中断,完成一帧字符发送中断,完成一帧字符发送/接收引起。接收引起。图5-8 中断系统的结构框图返回本节5.2.3 中断控制中断控制n1中断允许寄存器中断允许寄存器IE(A8H)nIE在在特特殊殊功功能能寄寄存存器器中中,字字节节地地
8、址址A8H,位位地地址址分分别别是是A8HAFH。IE控控制制CPU对对中中断断源源总总的的开开放放或或禁禁止止以以及及每每个个中中断断源源是是否否允允许许中中断断。其其格格式式如如图图5-9所示。所示。n2中断优先寄存器中断优先寄存器IP(B8H)nIP在特殊功能寄存器中,字节地址为在特殊功能寄存器中,字节地址为B8H,位地位地址分别是址分别是B8HBFH,IP用来锁存各中断源优先用来锁存各中断源优先级的控制位,其格式如图级的控制位,其格式如图5-10所示。所示。图5-9 中断允许寄存器IE图5-10 中断优先寄存器IP返回本节5.2.4 中断响应过程中断响应过程n单单片片机机在在每每个个机
9、机器器周周期期的的S5P2期期间间,顺顺序序采采样样每每个个中中断断源源,CPU在在下下一一个个机机器器周周期期S6期期间间按按优优先先级级顺顺序序查查询询中中断断标标志志,如如查查询询到到某某个个中中断断标标志志为为1,将将在在再再下下一一个个机机器器周周期期S1期期间间按按优优先先级级进进行行中断处理。中断处理。n中断得到响应后自动清除中断标志,由硬件将程中断得到响应后自动清除中断标志,由硬件将程序计数器序计数器PC内容压入堆栈保护,然后将对应的中内容压入堆栈保护,然后将对应的中断矢量装入程序计数器断矢量装入程序计数器PC,使程序转向中断矢量使程序转向中断矢量地址单元中去执行相应的中断服务
10、程序。地址单元中去执行相应的中断服务程序。下列任何一种情况存在中断申请将被封锁:下列任何一种情况存在中断申请将被封锁:n(1)CPU正正在在执执行行一一个个同同级级或或高高一一级级的的中中断断服服务务程序。程序。n(2)当前正在执行的那条指令还未执行完。)当前正在执行的那条指令还未执行完。n(3)当当前前正正在在执执行行的的指指令令是是RETI或或对对IE,IP寄寄存存器器进进行行读读/写写指指令令,执执行行这这些些指指令令后后至至少少再再执执行行一条指令才会响应中断。一条指令才会响应中断。返回本节5.3 定时定时/计数器及中断系统综合应用计数器及中断系统综合应用【例例5.2】设设MCS-51
11、单单片片机机系系统统时时钟钟频频率率CLK为为6MHZ,请请编编出出利利用用定定时时/计计数数器器T0在在P1.0引引脚脚上上产产生周期为生周期为2秒,占空比为秒,占空比为50%的方波信号的程序的方波信号的程序(1)主程序)主程序任务:任务:1)T0工作方式的设定:工作方式的设定:选择方式选择方式1(16位方式)位方式)(最大定时(最大定时131ms)2)定时常数的设定:定时常数的设定:TC=216-100ms/2s=15536=3CB0H返回本章首页即:即:TH0应装应装3CH,TL0应装应装B0H。3)中断管理:中断管理:允许允许T0中断,开放总中断中断,开放总中断 即:即:IE应装应装1
12、0000010B。4)启动定时器启动定时器T0:SETBTR0 5)设置软件计数器初值:(如使用设置软件计数器初值:(如使用R7)即即R7应装应装0AH 6)动态停机:动态停机:SJMP$主程序如下:主程序如下:MAIN:MOVTMOD,#01H;设定设定T0为方式为方式1MOVTH0,#3CH;装入定时常数高装入定时常数高8位位MOVTL0,#0B0H;装入定时常数低装入定时常数低8位位MOVIE,#82H;开放开放T0中断中断SETBTR0;启动启动T0MOVR7,#0AH;设置软件计数器设置软件计数器SJMP$(2)中断服务程序)中断服务程序任任务务:1)恢恢复复T0常常数数;2)软软件
13、件计计数数器器减减1;3)判判断断软软件件计计数数器器是是否否为为0。为为0时时,改改变变P1.0状状态态,并并恢恢复复软软件件计计数器初值;不为数器初值;不为0时中断返回。时中断返回。程序如下:程序如下:TOINT:MOVTL0,#0B0H;恢复定时常数恢复定时常数MOVTH0,#3CH;DJNZR7,NEXTCPL P1.0 MOVR7,#0AHNEXT:RETI完整程序如下:完整程序如下:ORG 0000H AJMP MAINORG 000BH AJMPTOINTORG 0030H MAIN:MOVTMOD,#01HMOV TH0,#3CH MOVTL0,#0B0HMOV IE,#82H SETBTR0MOVR7,#0AHSJMP$TOINT:MOVTL0,#0B0HMOV TH0,#3CHDJNZR7,NEXTCPL P1.0MOVR7,#0AHNEXT:RETIEND返回本节THANK YOU VERY MUCH!n本章到此结束,本章到此结束,n谢谢您的光临!谢谢您的光临!结束放映返回本章首页