|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要:针对 MCS-51系列单片机只有2个外中断和2个中断优先级的问题,介绍了外中断的3种扩展方法,同时给出
& q- G* w( i3 X! f0 l7 ]了每种扩展下利用软件对中断优先级进行扩展的程序,该方法可用于需要多个外中断、多级中断嵌套的应用系统。
. _; N' S, O) X' Y$ Z关键词:单片机;中断;优先级;扩展3 p$ t) J9 p: U6 }
中图分类号:TP311
) Q! k8 i Q; _. ~9 I文献标识码:B
; y' T6 `" V$ I. g* p. c文章编号:1004 - 373X(2006)17- 140-04.1 [+ Z$ `# p- A0 N
1引言3 S$ W8 u* i# @
在一.些实时、并发系统中,中断是有效的实现手段。
6 f" }5 q6 r' p. H而MCS-51系列单片机(以8051为例)的中断系统有55 Y3 m! F" g' @0 B- l$ j: H5 h: j t
个中断源,其中只有2个外部中断,2个中断优先级,可实
( d/ s# _' q4 c. l- T8 I' D2 @+ a现2级中断嵌套。但在实际的应用系统中,外部中断事件
# ~! d% N2 Y5 m; U# \! U3 {+ n往往有多个,需要多个中断优先级来实现多级中断嵌套,
" R2 X: A- A$ N# z1 O8051单片机自身的中断系统不能满足要求,需要对外部! T+ U3 h0 a& X( M
中断源和中断优先级进行扩展。! J0 K, V% T4 Q
本文提出了3种简单的外中断扩展方法,同时给出了* j. j$ M0 k( j; I5 v% s: R
中断优先级的扩展程序。: t1 ~& Q* U: T# T% R& A
2内部中断源变换法
' f* {; U8 W* R, U2.1内部中断源变换为外部中断源
/ L- w7 v" o' [# i/ u我们知道,8051单片机除了INT0,INT12个外中断源
, W0 V0 F* M, R- n. I外,还有2个定时/计数器TO,T1和串行口中断。在一些+ L; E1 `7 Y) b! B% J
系统中,如果内部定时/计数器T0,T1和串行口中断不用% j" x/ j3 q% u" k. _
或有富余,可利用他们来实现外中断扩展。5 `3 U" h! I# j% Z3 P" W
(1)定时/计数器扩展为外中断源
8 {6 L3 D( d- l$ M( \" z当8051的定时/计数器选择为计数器工作方式时,TO& H, d' s5 p1 p7 x& B! Z+ ?
(P3.4)或T1(P3.5)引脚上发生的负跳变将使T0,T1的! V6 p; B S& ^2 P" g8 p: f! I. h2 Y
计数值加1。利用这个特性,可以把T0(P3. 4),T1(P3. 5)
/ R" l: U$ `) ]( l) u' |$ O& a4 ~% z. V2 Q+ U% O% t
4 q q2 w8 L5 d+ ]
- C4 R8 U: R7 W9 r
|
|