|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:* M( `( s- K0 P* h1 ?
(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?! o" ~( F# H! B j
(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?
Q6 R6 J" f' b3 Y$ e5 A) P3 f' H(3)其中第七行程序是在什么时候开始执行的?
2 M; x6 f; M% X; ^ X* V(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????& F/ u+ Q3 ~4 [% P
在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P
O1 j( q4 K/ A x$MOD51 -------------1
( r0 J) Y. x2 {! N( g9 j ORG 0000H -------------24 e! G/ u L1 R) ?. O+ z
LJMP START -------------38 Y, H( s2 I0 C8 g* \2 c' m
ORG 000BH -------------41 j# _7 v0 @) o7 m3 a
LJMP TO_ISR -------------5
. n9 ] \6 D( B& q; -------------61 Z& P6 ~& m1 @. u, X$ F7 }
ORG 0030H -------------7
/ O" A2 h4 o F6 o! HSTART: SETB P1.0 -------------8
! r+ N3 |6 k/ i1 ~ MOV TMOD,#11H -------------9& S* s1 X; H$ z. z/ m3 j8 ?. x
MOV TH0,#0DBH -------------10* a" ]& P$ x3 t+ A/ W
MOV TL0,#0FFH -------------11! ^9 t! G% x; J) Z7 _
CLR TF0 -------------12
# Q: X; A" K0 d SETB TR0 -------------13
. f9 P L% t6 Z8 X! |, v) H: s) m SETB ET0 -------------14. Y H6 H0 N: {
SETB EA -------------15( r% Z0 P, m+ f3 t
LOOP: SJMP LOOP -----------------161 ^8 L% Q- K/ P. Y5 b7 G) X
; -------------17- l4 P3 p9 N& g+ r% Z# f
TO_ISR: CPL P1.0 -------------18% H! f1 S% Y0 [% h& ^" x" ~
CLR TF0 -------------19- T9 l, w, w/ S( n; S) r
MOV TH0,#0DBH -------------20' d- `: ^: V- Y m3 u
MOV TL0,#0FFH -------------21
) `* ?* K! c" @# u& N+ o3 r5 f RETI -------------22
4 H$ E' {0 x% m; ~) N: R END -------------23 |
|