《定时器和中断》PPT课件.ppt

上传人:wuy****n92 文档编号:79033076 上传时间:2023-03-19 格式:PPT 页数:24 大小:255.99KB
返回 下载 相关 举报
《定时器和中断》PPT课件.ppt_第1页
第1页 / 共24页
《定时器和中断》PPT课件.ppt_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《《定时器和中断》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《定时器和中断》PPT课件.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第5章章 中断系统和定时中断系统和定时/计数器计数器 授课人:赵忠彪时间:本章要点:本章要点:中断的基本概念中断的基本概念 80C51 80C51中断源中断源 中断控制寄存器中断控制寄存器 中断处理过程中断处理过程 中断优先控制和中断嵌套中断优先控制和中断嵌套 中断系统的应用中断系统的应用 80C51 80C51定时定时/计数器计数器 定时定时/计数器控制寄存器计数器控制寄存器 定时定时/计数器工作方式计数器工作方式 定时定时/计数器的应用计数器的应用定时定时/计数器的应用计数器的应用【例】已知晶振6MHz,要求定时0.5mS,试分别求出T0工作于方式0、方式1、方式2、方式3时的定时初值。

2、解:工作方式0:213500S/2S=8192-250=7942=1F06H1F06H化成二进制:1F06H=0001 1111 0000 0110B其中:低5位00110前添加3位000送入TL0,TL0=000 00110B=06H;高8位11111000B送入TH0TH0=11111000B=F8H。工作方式1:T0初值=216-500s/2s=65536250=65286=FF06H TH0=0FFH;TL0=06H。工作方式2:T0初值=28-500s/2s=256-250=6 TH0=06H;TL0=06H。工作方式3:T0方式3时,被拆成两个8位定时器,定时初值可分别计算,计算方

3、法同方式2。两个定时初值一个装入TL0,另一个装入TH0。因此:TH0=06H;TL0=06H。从上例中看到,方式0时计算定时初值比较麻烦,根据公式计算出数值后,还要变换一下,容易出错,不如直接用方式1,且方式0计数范围比方式1小,方式0完全可以用方式1代替,方式0与方式1相比,无任何优点。【例】试用T1方式2编制程序,在P1.0引脚输出周期为400S的脉冲方波,已知fosc=12MHZ。解:计算定时初值 T1初值=28-200s/1s=256200=56=38H TH1=38H;TL1=38H 设置TMOD:0 0 10 0000 B=20H 编制程序如下:ORG0000H ;复位地址LJM

4、PMAIN ;转主程序ORG001BH ;T1中断入口地址LJMPIT11 ;转T1中断服务程序 ORG0030H ;主程序首地址MAIN:MOVTMOD,#20H ;置T1定时器方式2MOVTL1,#38H;置定时初值MOVTH1,#38H;置定时初值备份MOVIP,#00001000B;置T1高优先级SETB EA;全部开中 SETB ET1;SETBTR1;T1运行SJMP$;等待T1中断 ORG 0200H ;T1中断服务程序首地址IT11:CPL P1.0 ;输出波形取反首地址RETI ;中断返回中断概述中断概述CPUCPU暂时中止其正在执行的程序,转去执行暂时中止其正在执行的程序,

5、转去执行请求中断的那个外设或事件的服务程序,请求中断的那个外设或事件的服务程序,等处理完毕后再返回执行原来中止的程序等处理完毕后再返回执行原来中止的程序,叫做中断。叫做中断。设置中断的原因:设置中断的原因:提高提高CPU工作效率工作效率 具有实时处理功能具有实时处理功能 具有故障处理功能具有故障处理功能 实现分时操作实现分时操作中断源和中断控制寄存器中断源和中断控制寄存器 中断源中断源中断源是指能发出中断请求,引起中断的装置或事中断源是指能发出中断请求,引起中断的装置或事件。件。80C5180C51单片机的中断源共有单片机的中断源共有5 5个,其中个,其中2 2个为外个为外部中断源,部中断源,

6、3 3个为内部中断源:个为内部中断源:INT0:INT0:外部中断外部中断0 0,中断请求信号由,中断请求信号由P3.2P3.2输入。输入。INT1:INT1:外部中断外部中断1 1,中断请求信号由,中断请求信号由P3.3P3.3输入。输入。T0:T0:定时定时/计数器计数器0 0溢出中断,对外部脉冲计数由溢出中断,对外部脉冲计数由P3.4P3.4输入。输入。T1:T1:定时定时/计数器计数器1 1溢出中断,对外部脉冲计数由溢出中断,对外部脉冲计数由P3.5P3.5输入。输入。串行中断串行中断:包括串行接收中断包括串行接收中断RIRI和串行发送中断和串行发送中断TITI。中断控制寄存器80C5

7、1单片机中涉及中断控制的有3个方面4个特殊功能寄存器:中断请求:定时和外中断控制寄存器TCON;串行控制寄存器SCON;中断允许控制寄存器IE;中断优先级控制寄存器IP。中断请求控制寄存器INT0、INT1、T0、T1中断请求标志放在TCON中串行中断请求标志放在SCON中。中断请求的撤除中断请求的撤除 中断源发出中断请求,相应中断请求标志置“1”。CPU响应中断后,必须清除中断请求“1”标志。否则中断响应返回后,将再次进入该中断,引起死循环出错。对定时/计数器T0、T1中断,外中断边沿触发方式,CPU响应中断时就用硬件自动清除了相应的中断请求标志。对外中断电平触发方式,需要采取软硬结合的方法

8、消除后果。对串行口中断,用户应在串行中断服务程序中用软件清除TI或RI。中断优先控制和中断嵌套中断优先控制和中断嵌套 80C51中断优先控制首先根据中断优先级,此外还规定了同一中断优先级之间的中断优先权。其从高到低的顺序为:INT0、INT1、T0、T1、串行口。中断优先级是可编程的,而中断优先权是固定的,不能设置,仅用于同级中断源同时请求中断时的优先次序。80C51中断优先控制的基本原则:高优先级中断可以中断正在响应的低优先级中断,反之则不能。同优先级中断不能互相中断。同一中断优先级中,若有多个中断源同时请求中断,CPU将先响应优先权高的中断,后响应优先权低的中断。中断嵌套当CPU正在执行某

9、个中断服务程序时,如果发生更高一级的中断源请求中断,CPU可以“中断”正在执行的低优先级中断,转而响应更高一级的中断,这就是中断嵌套。中断嵌套只能高优先级“中断”低优先级,低优先级不能“中断”高优先级,同一优先级也不能相互“中断”。中断嵌套结构类似与调用子程序嵌套,不同的是:子程序嵌套是在程序中事先按排好的;中断嵌套是随机发生的。子程序嵌套无次序限制,中断嵌套只允许高优先级“中断”低优先级。中断系统应用举例 出租车计价器计程方法是车轮每运转一圈产生一个负脉冲,从外中断(P3.2)引脚输入,行驶里程为轮胎周长运转圈数,设轮胎周长为2m,试实时计算出租车行驶里程(单位米),数据存32H、31H、3

10、0H。编程如下:ORG 0000H;复位地址 LJMP STAT;转初始化 ORG 0003H;中断入口地址 LJMP INT;转中断服务程序ORG 0100H;初始化程序首地址STAT:MOV SP,#60H;置堆栈指针 SETB IT0;置边沿触发方式 MOV IP,#01H;置高优先级 MOV IE,#81H;开中断 MOV 30H,#0;里程计数器清0 MOV 31H,#0;MOV 32H,#0;ORG 0200H;中断服务子程序首地址INT:PUSH Acc;保护现场 PUSH PSW;MOV A,30H;读低8位计数器 ADD A,#2;低8位计数器加2m MOV 30H,A;回存

11、 CLR A;ADDC A,31H;中8位计数器加进位 MOV 31H,A;回存 CLR A;ADDC A,32H;高8位计数器加进位 MOV 32H,A;回存 PUSH PSW;恢复现场 PUSH Acc;RETI ;中断返回【例】现有5个外中断源EX1、EX20、EX21、EX22和EX23,高电平时表示请求中断,要求执行相应中断服务程序,试编制程序。ORG 0000H;复位地址LJMP MAIN;转主程序ORG 0003H;中断入口地址LJMP PINT0;转中断服务程序ORG 0013H;中断入口地址LJMP PINT1;转中断服务程序ORG0100H ;主程序首地址MAIN:MOVS

12、P,#60H ;置堆栈指针 ORLTCON,#05H;置INT0、INT1为边沿触发方式 SETB PX0 ;置为高优先级 MOVIE,#0FFH;全部开中 ;主程序内容 ORG 1000H ;中断服务程序首地址 PINT0:PUSH Acc ;中断,保护现场 LCALL WORK1 ;调用EX1服务子程序 POPAcc ;恢复现场 RETI ;中断返回 ORG 2000H ;中断服务程序首地址PINT1:CLR EA ;CPU禁中 PUSH Acc ;中断保护现场 PUSH DPH ;PUSH DPL ;SETB EA ;CPU开中JB P1.0,LWK20;P1.0=1,EX20请求中断

13、JB P1.1,LWK21;P1.1=1,EX21请求中断 JB P1.2,LWK22;P1.2=1,EX22请求中断 LCALL WORK23;P1.3=1,调用EX23服务子LRET:CLR EA;CPU禁中 POP DPL;恢复现场 POP DPH;POP Acc;SETB EA;CPU开中 RETI ;中断返回LWK20:LCALL WORK20;P1.0=1,调用EX20子程序 SJMP LRET ;转中断返回LWK21:LCALL WORK21 P1.1=1,调用EX21子程序 SJMP LRET ;转中断返回LWK22:LCALL WORK22;P1.2=1,调用EX22子程序 SJMP LRET ;转中断返回

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

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

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

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