《单片机》第5章 定时器与中断

第5章定时计数器与中断系统 ■51定时数器结构特点及控制 ■52中断系统结构及管理 53定时计数器及中断系统综合应 51定时计数器结构特点及控制 ■511定时计数器结构 ■512定时计数器工作方式 ■513定时数器控制寄存器 ■514定时数器常数的计算 511定时计数器结构 ■定时数器简称定时器,8031单片机有2个16位的定时计数器:定时 器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能,可 用于定时控制、延时、对外部事件计数和检测等场合 T0由2个特殊功能寄存器TH和TL0构成,T1则由TH1和TL1构成。作计 数器时,通过引脚T0(P3A)和T(P35)对外部脉冲信号计数,当输入 脉冲信号从10的负跳变时,计数器就自动加1。计数的最高频率 般为振荡频率的1/24 512定时计数器工作方式 ■每个定时计数器还有4种工作模式,也就是每个定时器可构成4种电路 结构模式。 ■在模式0、1和2,T0和T1的工作模式相同,在模式3,两个定时器的模 式不同。下面以T1为例,分述各种工作模式的特点和用法。 1.模式0 2.模式1 3.模式2 4.模式3 513定时计数器控制寄存器 定时器共有2个控制寄存器TMoD和TcoN由软件写入TMD和TcON两 个8位寄存器,设置各个定时器的操作模式和控制功能。 1.工作模式控制寄存器TMoD〔89H) 2.定时器控制寄存器_TcON(88H) 514定时计数器常数的计算
第5章 定时/计数器与中断系统 ◼ 5.1 定时/计数器结构特点及控制 ◼ 5.2 中断系统结构及管理 ◼ 5.3 定时/计数器及中断系统综合应 5.1 定时/计数器结构特点及控制 ◼ 5.1.1 定时/计数器结构 ◼ 5.1.2 定时/计数器工作方式 ◼ 5.1.3 定时/计数器控制寄存器 ◼ 5.1.4 定时/计数器常数的计算 5.1.1 定时/计数器结构 ◼ 定时/计数器简称定时器,8031单片机有2个16位的定时/计数器:定时 器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能,可 用于定时控制、延时、对外部事件计数和检测等场合。 ◼ T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。作计 数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入 脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一 般为振荡频率的1/24。 5.1.2 定时/计数器工作方式 ◼ 每个定时/计数器还有4种工作模式,也就是每个定时器可构成4种电路 结构模式。 ◼ 在模式0、1和2,T0和T1的工作模式相同,在模式3,两个定时器的模 式不同。下面以T1为例,分述各种工作模式的特点和用法。 1.模式0 2.模式1 3.模式2 4.模式3 5.1.3 定时/计数器控制寄存器 ◼ 定时器共有2个控制寄存器TMOD和TCON,由软件写入TMOD和TCON 两 个8位寄存器,设置各个定时器的操作模式和控制功能。 1.工作模式控制寄存器—TMOD(89H) 2.定时器控制寄存器—TCON(88H) 5.1.4 定时/计数器常数的计算

■1.计数器初值的计算 ■把计数器计满为零所需要的计数值设定为C,计数初值设定为Tc,由 此可得到公式: TC=M-C ■式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为 213;在方式1时M为21;在方式2和方式3时M为28 2.定时器初值的计算 在定时器模式下,计数器由单片机主脉冲经12分频后计数。因此,定 时器定时时间T的公式 T=(MTc)T计数 上式也可写成:TC=MT/T计数 式中,M为模值,和定时器的工作方式有关;T是单片机振荡周期TcuK 的12倍;Tc为定时器的定时初值 52中断系统结构及管理 ■521中断请求与控制 522中断系统的结构 523中断控制 ■524中断响应过程 521中断请求与控制 522中断系统的结构 ■1.外部中断源 由P32端口线引入,低电平或下降沿引起。 由P33端口线引入,低电平或下降沿引起。 ■2.内部中断源(如图58所示) T0:定时数器0中断,由T回零溢出引起 T1:定时计数器1断,由T回零溢出引起。 TIVR:串行Jo中断,完成一帧字符发送接收引起 523中断控制 1.中断允许寄存器E(A8H) ■在特殊功能寄存器中,字节地址A8H,位地址分别是A8H~AFH。旧 控制cPU对中断源总的开放或禁止以及每个中断源是否允许中断。其
◼ 1.计数器初值的计算 ◼ 把计数器计满为零所需要的计数值设定为C,计数初值设定为TC,由 此可得到公式: TC=M-C ◼ 式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为 2 13;在方式1时M为2 16;在方式2和方式3时M为2 8。 ◼ 2.定时器初值的计算 ◼ 在定时器模式下,计数器由单片机主脉冲经12分频后计数。因此,定 时器定时时间T的公式: T=(M-TC)T计数 上式也可写成:TC=M-T/ T计数 ◼ 式中,M为模值,和定时器的工作方式有关;T计数是单片机振荡周期TCLK 的12倍;TC为定时器的定时初值。 5.2 中断系统结构及管理 ◼ 5.2.1 中断请求与控制 ◼ 5.2.2 中断系统的结构 ◼ 5.2.3 中断控制 ◼ 5.2.4 中断响应过程 5.2.1 中断请求与控制 5.2.2 中断系统的结构 ◼ 1.外部中断源 由P3.2端口线引入,低电平或下降沿引起。 由P3.3端口线引入,低电平或下降沿引起。 ◼ 2.内部中断源(如图5-8所示) T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 TI/RI:串行I/O中断,完成一帧字符发送/接收引起。 5.2.3 中断控制 ◼ 1.中断允许寄存器IE(A8H) ◼ IE在特殊功能寄存器中,字节地址A8H,位地址分别是A8H~AFH。IE 控制CPU对中断源总的开放或禁止以及每个中断源是否允许中断。其

格式如图59所示。 2.中断优先寄存器P(B8H) P在特殊功能寄存器中,字节地址为B8H,位地址分别是B8H~BFH, P用来锁存各中断源优先级的控制位,其格式如图510所示 524中断响应过程 ■单片机在每个机器周期的S5P2期间,顺序采样每个中断源,cP在下 个机器周期S期间按优先级顺序查询中断标志,如查询到某个中断 标志为1,将在再下一个机器周期S1期间按优先级进行中断处理 ■中断得到响应后自动清除中断标志,由硬件将程序计数器Pc内容压入 堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中 断矢量地址单元中去执行相应的中断服务程序。 下列任何一种情况存在中断申请将被封锁: (1)cPU正在执行一个同级或高一级的中断服务程序。 (2)当前正在执行的那条指令还未执行完。 (3)当前正在执行的指令是RE减对,P寄存器进行读指令,执 行这些指令后至少再执行一条指令才会响应中断。 53定时/计数器及中断系统综合应用 【例52】设MCS51单片机系统时钟频率Φck为6MHz,请编出利用定时 计数器T0在P10引脚上产生周期为2秒,占空比为50%的方波信号的程 序 (1)主程序 任务: 1)T0工作方式的设定:选择方式1(16位方式) (最大定时131ms) 2)定时常数的设定:Tc=261ms2us=15536=3cB0H 即:TH0应装3CH,TL0应装B0H。 3)中断管理:允许T0中断,开放总中断 即:E应装1000008 4)启动定时器T0: SETB TRO 5)设置软件计数器初值:(如使用R7) 即R7应装0AH 6)动态停机:SJMP
格式如图5-9所示。 ◼ 2.中断优先寄存器IP(B8H) ◼ IP在特殊功能寄存器中,字节地址为B8H,位地址分别是B8H~BFH, IP用来锁存各中断源优先级的控制位,其格式如图5-10所示。 5.2.4 中断响应过程 ◼ 单片机在每个机器周期的S5P2期间,顺序采样每个中断源,CPU在下 一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断 标志为1,将在再下一个机器周期S1期间按优先级进行中断处理。 ◼ 中断得到响应后自动清除中断标志,由硬件将程序计数器PC内容压入 堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中 断矢量地址单元中去执行相应的中断服务程序。 下列任何一种情况存在中断申请将被封锁: ◼ (1)CPU正在执行一个同级或高一级的中断服务程序。 ◼ (2)当前正在执行的那条指令还未执行完。 ◼ (3)当前正在执行的指令是RETI或对IE,IP寄存器进行读/写指令,执 行这些指令后至少再执行一条指令才会响应中断。 5.3 定时/计数器及中断系统综合应用 【例5.2】设MCS-51单片机系统时钟频率ФCLK为6MHZ,请编出利用定时/ 计数器T0在P1.0引脚上产生周期为2秒,占空比为50%的方波信号的程 序 (1)主程序 任务: 1)T0工作方式的设定: 选择方式1(16位方式) (最大定时131ms) 2)定时常数的设定: TC=216-100ms/2μs =15536=3CB0H 即:TH0应装3CH,TL0应装B0H。 3)中断管理: 允许T0中断,开放总中断 即:IE应装10000010B。 4)启动定时器T0: SETB TR0 5)设置软件计数器初值:(如使用R7) 即R7应装0AH 6)动态停机:SJMP $

主程序如下: MAIN: MOV TMOD,#什H;设定T0为方式1 MOV TH0,#3CH;装入定时常数高8位 MOV TL0,B0H;装入定时常数低8位 开放T0中断 SETB TRO 启动T0 MOV R7, #OAH 设置软件计数器 SJMP S (2)中断服务程序 任务:1)恢复T0常数;2)软件计数器减1;3)判断软件计数器是否为 为0时,改变P10状态,并恢复软件计数器初值;不为0时中断返回。 程序如下 TONT: MOV TL0,#B0H;恢复定时常数 MOV THO, #3CH DJNZ R7, NEXT CPL P1.0 MOV R7, #OAH NEXT: RET 完整程序如下: RG 0000H AJMP MAIN ORG 000BH AJMP TOINT ORG 0030H MA|N: MOV TMOD,#們H THO, #3CH MOV TLO, #OBOH MOV IE, #82H SETB TRO MOV R7, #OAH SJMP S TOINT: MOV tlO, #0BOH MOV TH0, #3CH DJNZ R7, NEXT CPL P1.0 MOV R7, #OAH neXT: RETI END
主程序如下: MAIN:MOV TMOD,#01H ;设定T0为方式1 MOV TH0,#3CH ;装入定时常数高8位 MOV TL0,#0B0H ;装入定时常数低8位 MOV IE,#82H ;开放T0中断 SETB TR0 ;启动T0 MOV R7,#0AH ;设置软件计数器 SJMP $ (2)中断服务程序 任务:1)恢复T0常数; 2)软件计数器减1; 3)判断软件计数器是否为 0。为0时,改变P1.0状态,并恢复软件计数器初值;不为0时中断返回。 程序如下: TOINT:MOV TL0,#0B0H ;恢复定时常数 MOV TH0,#3CH ; DJNZ R7,NEXT CPL P1.0 MOV R7,#0AH NEXT:RETI 完整程序如下: ORG 0000H AJMP MAIN ORG 000BH AJMP TOINT ORG 0030H MAIN:MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#82H SETB TR0 MOV R7,#0AH SJMP $ TOINT:MOV TL0,#0B0H MOV TH0,#3CH DJNZ R7,NEXT CPL P1.0 MOV R7,#0AH NEXT:RETI END
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《单片机》第5章 定时器与中断.ppt
- 《单片机》第4章 汇编语言程序设计.rtf
- 《单片机》第4章 汇编语言程序设计.ppt
- 《单片机》第3章 MCS-51单片机指令系统.rtf
- 《单片机》第3章 MCS-51单片机指令系统.ppt
- 《单片机》第2章 MCS-51单片机的硬件结构.rtf
- 《单片机》第2章 MCS-51单片机的硬件结构.ppt
- 《单片机》第1章 单片微型计算机概述.rtf
- 《单片机》第1章 单片微型计算机概述.ppt
- 《单片机》电子教案.doc
- 《信息安全与加密》讲义ppt电子课件.ppt
- 《计算系统 Mathematica》课程PPT教学课件:第十四章 符号计算系统Mathematica及其应用.ppt
- 哈尔滨工业大学:《计算机图形学》第9章 计算机动画.ppt
- 哈尔滨工业大学:《计算机图形学》第6章 三维实体造型(二).ppt
- 哈尔滨工业大学:《计算机图形学》第6章 三维实体造型(一).ppt
- 哈尔滨工业大学:《计算机图形学》第5章 图形变换与裁剪——二维裁剪.ppt
- 哈尔滨工业大学:《计算机图形学》第5章 图形变换与裁剪(三维图形的基本问题、平面几何投影).ppt
- 哈尔滨工业大学:《计算机图形学》第3章 基本图形生成算法——实区域填充算法.ppt
- 哈尔滨工业大学:《计算机图形学》第3章 基本图形生成算法——图形的扫描转换.ppt
- 哈尔滨工业大学:《计算机图形学》第2章 交互式计算机图形处理系统.ppt
- 《单片机》第6章 MCS-51单片系统扩展.ppt
- 《单片机》第6章 MCS-51单片系统扩展.rtf
- 华中科技大学:《程序设计方法学》第四课 基于com技术的程序设计方法.ppt
- 华中科技大学:《程序设计方法学》第七课 MDA方法.ppt
- 华中科技大学:《程序设计方法学》第三课 面向对象程序设计方法学.ppt
- 华中科技大学:《程序设计方法学》第六课 程序的正确性证明.ppt
- 华中科技大学:《程序设计方法学》第五章 基于CORBA技术的程序设计方法.ppt
- 华中科技大学:《程序设计方法学》第二课 结构化程序设计.ppt
- 华中科技大学:《程序设计方法学》第一课 程序设计方法学的基本概念和发展.ppt
- 《入门级SUN培训》PDF电子书.pdf
- 《C语言程序设计》课程教学资源:第1章 C语言概述.ppt
- 《C语言程序设计》课程教学资源:第9章 预处理命令.ppt
- 《SPSS10.0》讲义(注释版).pdf
- 《Visual Basic程序设计》课程电子教案(PPT课件)第10章 数据访问.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第11章 数据库编程初步.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第12章 Visual Basic与网络 Internet与 DHTML概述.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第13章 多媒体控件.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第1章 认识 Visual Basic.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第2章 VB表达式与窗体.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第3章 基本控件与顺序程序设计.ppt