发布: 2009-4-03 23:38 | 作者: hnrain | 查看: 31次
定时器控制寄存器 (TCON) | ||||||||
位地址 | 8F | 8E | 8D | 8C | 8B | 8A | 89 | 88 |
位符号 | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 |
中断允许控制寄存器 (IE) | ||||||||
位地址 | AF | AE | AD | AC | AB | AA | A9 | A8 |
位符号 | EA | / | / | ES | ET1 | EX1 | ET0 | EX0 |
#Z4^lf6e4v0 下面我们对有关控制位作说明:电子园51单片机学习网lo,q.?d+lo &}xs^#{O Q!n9rQ)u0 ·EA——中断允许总控制位,EA=0,中断总禁止,禁止所有中断。EA=1,中断总允许,总允许位打开后,各中断的允许或禁止由各中断允许控制位设置决定。电子园51单片机学习网'w \C;wpZ_ 电子园51单片机学习网d_ju9kqqM ·EX0(EX1)——外部中断允许控制位,EX0(EX1)=0,禁止外部中断。EX0(EX1)=1,允许外部中断。 YRbe;EG/]&d0\D0电子园51单片机学习网$f } dy*u)FV#Wr'|+x&V ·ET0(ET1)——定时/计数中断允许控制位,ET0(ET1)=0,禁止定时/计数中断。ET0(ET1)=1,允许定时/计数中断。 P9p/zarw]7H0电子园51单片机学习网%aqrs`*]q ·ES——串行中断允许控制位,ES=0,禁止串行中断。ES=1,允许串行中断。电子园51单片机学习网A:V%c\OS 电子园51单片机学习网 y1\ i T7J+gl'Q7k 中断的允许和禁止就是中断的开放和关闭,中断允许就是开放中断,中断的禁止就是关闭中断。从以上说明我们可看出,MCS-51的中断允许是通过两级控制的,以EA位作为总中断控制位,以各中断控制位为分控制位。当总中断位为禁止状态时,不管分控制位是允许或禁止整个中断都是禁止的。只有当EA=1(允许)时,才能由各分控制位设置各自的中断允许与禁止。MCS-51单片机复位后,IE=00H,因此中断处于禁止状态。电子园51单片机学习网f1c-Xp_8R3^0gc.?8Mn 电子园51单片机学习网j XC@M#Tm ` 值得一提的是:单片机中断响应后不会自动关闭中断,因此在转入中断服务程序后,应由软件指令禁止中断。电子园51单片机学习网yh/MZE6M%I 电子园51单片机学习网1v%G;{_OC 中断优先级控制寄存器 (IP)电子园51单片机学习网$~:cq(qb 电子园51单片机学习网GSP NUw%W^H*G MCS-51的中断优先级控制比较简单,只设置了高、低两个级别的有限级,各中断源的优先级别由优先寄存器(IP)进行控制。 yd(I Kv c1aAD w$z0 0g pR#C|/P$S3g|/U0V3eOW0 |
中断优先级控制寄存器 (IP) | ||||||||
位地址 | BF | BE | BD | BC | BB | BA | B9 | B8 |
位符号 | / | / | / | PS | PT1 | PX1 | PT0 | PX0 |
:rI0TgBg:r0 ·PX0——外中断0(INT0)优先级控制位。 *u1W4l1| Z7a*q+J0 ·PT0——定时中断0(T0)优先级控制位。 ]p$X kg5NHxD0 ·PX1——外中断1(INT1)优先级控制位。电子园51单片机学习网gS` NG@%wH/~ ·PT1——定时中断1(T1)优先级控制位。电子园51单片机学习网l,IH rmlQlL7R;[(f ·PS ——串行中断(ES)优先级控制位。电子园51单片机学习网]*i.zm6v %]T0s%c _?,_2y0 控制位=0,优先级为低。控制位=1,优先级为高。电子园51单片机学习网NfYc6E/s*B"E r/{[ de0 中断优先级是为了中断嵌套服务的,控制原则为:电子园51单片机学习网X4t)liMOw (1) 低优先级中断不能打断高优先级的中断服务,而高优先级的中断服务可以打断低优先级的中断服务。电子园51单片机学习网(W&|i6pFoy (2) 同级的中断已经响应,其他中断将被禁止。电子园51单片机学习网 D4h'Y5E&_ (3) 如果同级的多个中断源同时出现,CPU将按查询次序确定哪个中断被响应,次序为:外中断0→定时中断0→外中断1→定时中断1→串行中断。 .}s fm$D)[8gxG-S0 A(I1^7R%u q8z-v0 中断控制寄存器的状态设置 :j PK*aj1^\0电子园51单片机学习网IVlg hyr-^*H9_ 在应用中,我们可以通过相应的控制寄存器来使用中断系统,因此从使用的角度上看,这些控制寄存器是面向用户的。这些控制寄存器既可以进行字节寻址,也可以进行位寻址,也就是对位状态的寻址既可以使用字节操作指令也可以使用位操作指令,例如:电子园51单片机学习网_7|wLrG ? 电子园51单片机学习网g)cPbI MOV IE,#81H电子园51单片机学习网)Rw7\m-JR? 电子园51单片机学习网$a#U*d2CTK ? 如使用位操作指令,也可写为: Kac-a6T }q3l f0 SETB EA电子园51单片机学习网 wtV(Ze"a6a6H0e SETB EX0 A%R){p/[Q__i#X"Y0 fv N[]6~h.n/ad/h0 对于一般的外中断程序,我们可以这样安排: b6Bz9_@ w.L/S;C4v0 $kH5nL#Jfp]0 ORG 0000H ;主程序入口电子园51单片机学习网+g9O"[ IS START: AJMP MAIN电子园51单片机学习网\'dH_E8G8ur&k 4Fb~jx}6NbP0 ORG 0003H ;外中断程序入口电子园51单片机学习网-f7XK~7W7I6V7P GW$? AJMP INT00电子园51单片机学习网4?*G}} pu*^ L1@ 电子园51单片机学习网R;j koEMyI MAIN: MOV IE,#81H ;允许总中断和外中断电子园51单片机学习网 ^,l)n L)hW)a.Q(o)C …… ;主程序 :f%h pps%ji-a%_6btJ0 ……电子园51单片机学习网3Ha"U8\0h)I ……电子园51单片机学习网"U3{3m!Uu cdf 电子园51单片机学习网6fNdh Wtj{a INT00: …… ;外中断服务程序 nNc.e3eOv0 ……电子园51单片机学习网6CX'R+O"u+N RETI ;中断返回 |
文章评论(0条评论)
登录后参与讨论