最新定时器和中断PPT课件

上传人:re****.1 文档编号:568772477 上传时间:2024-07-26 格式:PPT 页数:34 大小:734.50KB
返回 下载 相关 举报
最新定时器和中断PPT课件_第1页
第1页 / 共34页
最新定时器和中断PPT课件_第2页
第2页 / 共34页
最新定时器和中断PPT课件_第3页
第3页 / 共34页
最新定时器和中断PPT课件_第4页
第4页 / 共34页
最新定时器和中断PPT课件_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《最新定时器和中断PPT课件》由会员分享,可在线阅读,更多相关《最新定时器和中断PPT课件(34页珍藏版)》请在金锄头文库上搜索。

1、定时器和中断定时器和中断4.1 4.1 定时器定时器/ /计数器概述计数器概述4.1.1 4.1.1 定时方法概述定时方法概述4.1.2 4.1.2 定时定时/ /计数器的结构和工作原理计数器的结构和工作原理4.1.3 4.1.3 定时器定时器/ /计数器工作方式控制寄存器计数器工作方式控制寄存器 TMOD TMOD4.1.4 4.1.4 定时定时/ /计数器控制寄存器计数器控制寄存器TCON TCON 4.1.5 4.1.5 定时器定时器/ /计数器的初始化计数器的初始化 选择工作方式,即对选择工作方式,即对TMOD 赋初值赋初值 。给定时器赋初值,即把初始常数装入给定时器赋初值,即把初始常

2、数装入TH0 TL0或或TH1 TL1。 根据需要设置中断控制字。根据需要设置中断控制字。 启动定时启动定时/计数器计数器 。 设初值为设初值为X,最大计数值为,最大计数值为M。初值。初值X与机器周期与机器周期T机及定时时间机及定时时间T的关系为的关系为(MX)T机机=T其中,其中,T机机 =12个时钟周期个时钟周期 =12 /fOSC X=MT/T机机 4.1.5 4.1.5 定时器定时器/ /计数器的初始化计数器的初始化4.2 定时器/计数器的工作方式 方式方式0 0 13 13位计数方式位计数方式当当TL1TL1的低的低5 5 位溢出时,向位溢出时,向TH1TH1进位,而进位,而TH1T

3、H1溢出溢出( (回零回零) )时向时向TF1TF1标志进位(硬件置位标志进位(硬件置位TF1TF1),并申请中断。还),并申请中断。还可以通过查询可以通过查询TF1TF1是否置位来判断是否置位来判断TH1TH1是否回零溢出。是否回零溢出。振荡器12TLx THx (5位) (8位)TFx申请中断Tx端TRx位GATE位INTx端1&C/T=0C/T=1控制 =1开关接通或门与门方式方式1 1 一个一个1616为定时器为定时器/ /计数器。计数器。 方方式式1 1的的结结构构几几乎乎与与方方式式0 0完完全全一一样样,唯唯一一的的差差别别是是:方方式式1 1中中的的TH1(TH0)TH1(TH

4、0)和和TL1TL1(TL0TL0) 均均是是8 8位位的的,构构成成1616位计数器。位计数器。 振荡器12TLx THx (8位) (8位)TFx申请中断Tx端TRx位GATE位INTx端1&C/T=0C/T=1控制 =1开关接通或门与门 方式方式2 在方式在方式2 2时,时,T/CT/C被拆成一个被拆成一个8 8位的寄存器位的寄存器TH1TH1(TH0TH0)和一个和一个8 8位计数器位计数器TL1TL1(TL0TL0),两者构成可以自动重),两者构成可以自动重装载的装载的8 8位位T/CT/C。 振荡器12TLx (8位)TFx申请中断Tx端TRx位GATE位INTx端1&C/T=0C

5、/T=1控制 =1开关接通或门与门THx (8位)溢出位门开方式方式3 3振荡器12TL0 (8位)TF0申请中断T0端TR0位GATE位INT0端1&C/T=0C/T=1控制 =1开关接通或门与门TH0 (8位)TF1申请中断TR1位控制 =1T0成为双 8位Timer T1不再有Timer功能 TF1,TR1出借给TH0 例如:例如:若晶振频率为若晶振频率为6MHz6MHz,计算单片机的最小与,计算单片机的最小与最大定时时间最大定时时间分析:已知分析:已知foscfosc = 6MHz = 6MHz 则:则: (振荡周期)(振荡周期)1Tc=1/6MHz1Tc=1/6MHz (机器周期)(

6、机器周期)1Tm=12Tc=12/6MHz=21Tm=12Tc=12/6MHz=2 S S 粗略地说:粗略地说:Tmin Tmin 2 2 S S 16 16位定时器最大数值为:位定时器最大数值为:2 21616=65536=0FFFFH+1=65536=0FFFFH+1 故选择方式故选择方式 1 1 工作可以得到:工作可以得到: Tmax = 65536Tmax = 65536 2 = 1310722 = 131072 S S131.072mS131.072mS 4.3 4.3 定时器定时器/ /计数器的应用举例计数器的应用举例例如:要求对例如:要求对T0T0产生产生100mS100mS定时

7、进行初始化。定时进行初始化。( (晶振晶振=6MHz)=6MHz)分析:已知分析:已知foscfosc = 6MHz = 6MHz 则:(机器周期)则:(机器周期)1Tm=12Tc=12/6MHz=21Tm=12Tc=12/6MHz=2 S 100mS2 S 100mS2 S = 50000S = 50000 16 16位定时器最大数值为:位定时器最大数值为:2 216 16 = 65536 (=0FFFFH+1)= 65536 (=0FFFFH+1) 故选择方式故选择方式1 1工作可以满足要求。工作可以满足要求。计算初值:计算初值:655366553650000=15536=3CB0H500

8、00=15536=3CB0H初始化:初始化:MOV TMODMOV TMOD,#01H ;#01H ;选选 T0 T0 方式方式 1 1 MOV TH0 MOV TH0, #3CH ; #3CH ;赋初值高赋初值高8 8位位 MOV TL0 MOV TL0, #0B0H ; #0B0H ;赋初值低赋初值低8 8位位 SETB TR0 ; SETB TR0 ;启动启动 T0 T0定时定时若需要定时器若需要定时器0 0产生中断还应当写如下语句:产生中断还应当写如下语句: SETB ET0 ; SETB ET0 ;开开T0T0中断允许中断允许 SETB EA ; SETB EA ;开总中断允许开总中

9、断允许以及相应的中断服务程序。以及相应的中断服务程序。 例如:从例如:从P1.0 P1.0 脚输出频率为脚输出频率为1KHz1KHz方波。方波。设:晶振设:晶振=6MHz=6MHz。利用。利用T1T1定时中定时中断。断。分析:分析:foscfosc = 6MHz = 6MHz 1 1机器周期机器周期 = 2 = 2 S S 1KHz 1KHz方波周期方波周期 = 1 mS = 1 mS 半个方波周期半个方波周期 =500 =500 S S 500uS2 uS = 250 500uS2 uS = 250 若选择方式若选择方式2 2 工作工作,8,8位定时器位定时器最大数值为:最大数值为: 2 2

10、8 8 =256 =0FFH + 1 =256 =0FFH + 1 可以满足要求。可以满足要求。计算初值:计算初值:256256250=6250=6T:周期:周期Th:半周期:半周期 ORG 0000H ORG 0000H AJMP MAIN AJMP MAIN ORG 001BH ORG 001BH ;T1T1的中断矢量的中断矢量 CPL P1.0 CPL P1.0 ;中断服务:;中断服务:P1.0P1.0取非取非 RETI RETI ;中断返回;中断返回MAIN: MOV TMODMAIN: MOV TMOD,#20H#20H MOV TH0 MOV TH0, #6 #6 MOV TL0

11、MOV TL0, #6 #6 SETB ET1 SETB ET1 SETB EA SETB EA SETB TR1 SETB TR1 HERE: AJMP HERE HERE: AJMP HERE ;原地等待中断;原地等待中断 END END利用利用GATEGATE门控位测量从门控位测量从INT1INT1引脚输入的正脉冲宽度。引脚输入的正脉冲宽度。确定工作方式确定工作方式 (TMODTMOD)1001 1001 0000B0000B90H 90H ;T/C1T/C1定定时时,方方式式1 1 ,GATEGATE为为1 1 。计算初值计算初值 由于被测正脉冲宽度未知,由于被测正脉冲宽度未知, 假设

12、宽度假设宽度= 65.536ms= 65.536ms,foscfosc12MHz 12MHz ,则:,则: 计数个数:计数个数:X X6553665536(最大)(最大) 定时初值:定时初值:C C65536-X65536-X65536-6553665536-655360 0, (TH1TH1)00H00H,(,(TL1TL1)00H00H。 ORG 0000HORG 0000H SJMP 0030H SJMP 0030H ORG 0030H ORG 0030HMAINMAIN:MOV TMODMOV TMOD,#90H#90H;置;置T1T1方式控制字方式控制字 MOV TL1 MOV TL

13、1,#00H#00H; MOV TH1 MOV TH1,#00H#00H;T1T1从从0 0开始计数开始计数 JB P3.3,$ JB P3.3,$;等;等 低电平低电平 SETB TR1 ; T1 SETB TR1 ; T1允许计数允许计数 JNB P3.3, $ JNB P3.3, $ ;等;等 高电平高电平 JB P3.3, $ JB P3.3, $ ;等;等 低电平低电平 CLR TR1 CLR TR1;停止计数;停止计数4.4.1 中断有关的概念中断有关的概念 4.4.2 8051中断标志及控制寄存器中断标志及控制寄存器 4.4.3 中断响应的条件及响应过程中断响应的条件及响应过程

14、4.4.4 中断程序设计思想中断程序设计思想 4.4 MCS-514.4 MCS-51单片机中断系统单片机中断系统 4.4.1 4.4.1 中断有关的概念中断有关的概念中断就是利用软硬件配合,根据某种需要断开正在执中断就是利用软硬件配合,根据某种需要断开正在执行的程序而转向另一专门程序,结束后再返回到原断行的程序而转向另一专门程序,结束后再返回到原断开处继续执行被中止的程序,这个过程称为中断。开处继续执行被中止的程序,这个过程称为中断。中断后转向执行的程序叫中断服务或中断处理程序。中断后转向执行的程序叫中断服务或中断处理程序。原程序被断开的位置(地址)叫做断点。发出中断信原程序被断开的位置(地

15、址)叫做断点。发出中断信号的设备称为中断源。号的设备称为中断源。中断源要求中断服务所发出的标志信号称为中断请求中断源要求中断服务所发出的标志信号称为中断请求或中断申请。或中断申请。中断源向中断源向CPUCPU发出中断申请,发出中断申请,CPUCPU经过判断认为满足条经过判断认为满足条件,则对中断源做出答复,叫中断响应。件,则对中断源做出答复,叫中断响应。 TCON见定时部分。见定时部分。SCON:串行口控制寄存器串行口控制寄存器SCONSCON(低两位(低两位与串行口中断有关)与串行口中断有关) ( (SCON 4.4.2 80514.4.2 8051中断标志及控制寄存器中断标志及控制寄存器

16、TI R1(98H)RI,TIRI,TI:串行口收:串行口收/ /发数据申请中断标志发数据申请中断标志位位 为为1 1: 申请中断;申请中断; 为为0 0: 不申请中断不申请中断 IE(A8H)EA ET2 ES ET1 EX1 ET0 EX0EX0/EX1/ET1/ET0/ES EX0/EX1/ET1/ET0/ES 位:位: 分别是分别是INT0/1INT0/1,Timer0/1Timer0/1,串行口的中断允,串行口的中断允 许控制位许控制位: : =0 =0 时禁止中断;时禁止中断; =1 =1 时允许中断。时允许中断。ET2ET2:T2T2中断允许控制位(仅中断允许控制位(仅5252子

17、系列有)子系列有) =0 =0 时禁止中断;时禁止中断; =1 =1 时允许中断。时允许中断。EAEA:总的中断允许控制位(总开关):总的中断允许控制位(总开关): =0 =0 时禁止全部中断;时禁止全部中断;=1 =1 时允许中断。时允许中断。 IP (B8H) PT2 PS PT1 PX1 PT0 PX0PX0/PX1PX0/PX1:INT0/1INT0/1优先级控制位:优先级控制位: =0 =0 时属低优先级;时属低优先级; =1 =1 时属高优先级。时属高优先级。PT0/PT1/PT2PT0/PT1/PT2:T0/1/2T0/1/2中断优先级控制位:中断优先级控制位: =0 =0 时属

18、低优先级;时属低优先级; =1 =1 时属高优先级。时属高优先级。PS1PS1:串行口中断优先级控制位:串行口中断优先级控制位: =0 =0 时属低优先级;时属低优先级; =1 =1 时属高优先级。时属高优先级。4.4.3 4.4.3 中断响应的条件及响应过程中断响应的条件及响应过程IE0EX0TF0IE1TF1TIESET1EX1ET0外部中断 请求0外部中断 请求1内部 定时器0内部 定时器1内部 串行口TRRIIE寄存器 EA位IP寄存器各单路开关 总开关中断源标志位查询机构高中断级中断请求低中断级中断请求中断入口中断源标志位INT0INT1中断入口中断源标志位中断响应条件中断响应条件在

19、中断源提出了中断申请且在中断源提出了中断申请且CPUCPU此前已经允许中断此前已经允许中断的前提下,还须满足以下三个条件的前提下,还须满足以下三个条件: :没有同级的中断或更高级别的中断正在处理;没有同级的中断或更高级别的中断正在处理;正在执行的指令必须执行完最后正在执行的指令必须执行完最后 1 1个机器周期;个机器周期;若正在执行若正在执行RETIRETI,或正在访问,或正在访问IEIE或或IPIP寄存器寄存器, ,须执须执行完上述指令和下一条指令以后方能响应中断。行完上述指令和下一条指令以后方能响应中断。中断处理过程中断处理过程外部中断外部中断(INT0,INT1)(INT0,INT1)申

20、请过程:申请过程:在在CPUCPU已经开放了外部中断允许的前提下:已经开放了外部中断允许的前提下:在在INT0/INT1INT0/INT1引脚输入一个负脉冲或低电平,引脚输入一个负脉冲或低电平, TCONTCON寄存器中的寄存器中的IE0/IE1IE0/IE1标志位自动变标志位自动变“1”“1”,检测到检测到IE0/IE1IE0/IE1变变“1”“1”后后, ,将产生指令:将产生指令:LCALL 0003H(/0013H)LCALL 0003H(/0013H)执行中断服务程序执行中断服务程序, ,并将并将IE0/IE1IE0/IE1标志位自动清标志位自动清“0”,“0”,以备下次申请。以备下次

21、申请。定时器定时器T0/T1 T0/T1 中断申请过程:中断申请过程: 在已经开放在已经开放T0/T1T0/T1中断允许且已被启动的前提中断允许且已被启动的前提下:下: T0/T1 T0/T1加满溢出时加满溢出时 TF0/TF1 TF0/TF1标志位自动置标志位自动置“1” “1” 检测到检测到TCONTCON中中TF0/TF1TF0/TF1变变“1”“1”后后, ,将产生指令:将产生指令: LCALL 000BH/LCALL 001BH LCALL 000BH/LCALL 001BH 执行中断服务程序执行中断服务程序, , TF0/TF1TF0/TF1标志位会自动清标志位会自动清“0”,“0

22、”,以备下次中断以备下次中断申请。申请。中断请求的撤除中断请求的撤除CPUCPU响应某中断请求后,在中断返回前,应撤除相响应某中断请求后,在中断返回前,应撤除相应的中断请求,否则会引起下一次中断。应的中断请求,否则会引起下一次中断。 对于对于T0T0、T1T1和边沿激活的外中断,和边沿激活的外中断,CPUCPU响应中响应中断后,内部的硬件结构会自动清除,无须其他措断后,内部的硬件结构会自动清除,无须其他措施。施。 对于串行口和由低电平触发的外部中断,对于串行口和由低电平触发的外部中断,CPUCPU响应后,必须通过软件清除中断请求。响应后,必须通过软件清除中断请求。4.4.4 4.4.4 中断程

23、序设计思想中断程序设计思想 中断程序设计的基本任务中断程序设计的基本任务 (1)设置中断允许控制寄存器)设置中断允许控制寄存器IE,允许相应中断,允许相应中断源中断。源中断。(2)设置中断优先级寄存器)设置中断优先级寄存器IP,选择分配所使用,选择分配所使用中断源的优先级。中断源的优先级。(3)若是外部中断源,还要设置中断请求触发方)若是外部中断源,还要设置中断请求触发方式式IT1或或IT0,决定采用边沿触发方式还是电平触,决定采用边沿触发方式还是电平触发方式。发方式。(4)编写中断服务程序,处理中断请求。)编写中断服务程序,处理中断请求。注意:前注意:前3条一般放在初始化主程序中。条一般放在

24、初始化主程序中。采用中断时主程序结构采用中断时主程序结构 由于各中断入口地址是固定的,而程序又必由于各中断入口地址是固定的,而程序又必须先从主程序起始地址须先从主程序起始地址0000H执行,所以在执行,所以在0000H起始地址的几个字节中,要用无条件起始地址的几个字节中,要用无条件转移指令,跳转到主程序;另外,各种中断转移指令,跳转到主程序;另外,各种中断入口地址之间依次只差入口地址之间依次只差8个字节,一般在中个字节,一般在中断进入后,利用一条无条件转移指令,把中断进入后,利用一条无条件转移指令,把中断服务程序调转到远离其他中断入口的适当断服务程序调转到远离其他中断入口的适当地址。地址。中断

25、举例中断举例 已知已知: (B)=01h,: (B)=01h,要求采用边沿触发要求采用边沿触发, ,低优先级。低优先级。 此例的实际意义:在此例的实际意义:在INT1INT1引脚接一个按钮开关引脚接一个按钮开关到地,每按一下按钮就申请一次中断,中断服务到地,每按一下按钮就申请一次中断,中断服务则是:依次点亮八盏灯中的一盏。则是:依次点亮八盏灯中的一盏。INT1300 ORG 0000H ORG 0000H LJMP MAIN LJMP MAIN ORG 0013H ; ORG 0013H ;中断矢量中断矢量 LJMP INT LJMP INTMAINMAIN:SETB EA ;SETB EA

26、;开总中断允许开总中断允许“开关开关” SETB EX1 ; SETB EX1 ;开分中断允许开分中断允许“开关开关” ” CLR PX1 ;0 CLR PX1 ;0 优先级(也可不要此句)优先级(也可不要此句) SETB IT1 ; SETB IT1 ;边沿触发边沿触发 MOV B,#01H ; MOV B,#01H ;给给 B B 寄存器赋初值寄存器赋初值HEREHERE:SJMP HERE ;SJMP HERE ;原地等待中断申请原地等待中断申请INTINT:MOV AMOV A,B ;B ;自自B B寄存器中寄存器中取数取数 RL A ; RL A ;左环移一次左环移一次 MOV B MOV B,A ;A ;存回存回B,B,备下次取用备下次取用 (MOV P1 (MOV P1,A) ;A) ;输出到输出到P1P1口口 RETI ;RETI ;中断返回中断返回 END END结束语结束语谢谢大家聆听!谢谢大家聆听!34

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号