|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:( Y% h4 B' m9 m+ N! g0 v% \, e* q' d
(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?' T# V1 L( |1 s/ Y9 s3 n! a/ J
(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢? q! d: P. K, @7 D
(3)其中第七行程序是在什么时候开始执行的?
! J! A! _# q$ V1 z9 A' Z/ j5 j(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????
4 _2 u! c1 Q$ a! E( b 在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P , X9 p4 z2 w) F: E- I- ]% N
$MOD51 -------------1& d& s u& F3 \
ORG 0000H -------------2
% o: e$ |3 {, p. U* E- p: r% m2 t6 H LJMP START -------------3
/ y9 W* a! m5 X* [0 M. o+ Q ORG 000BH -------------46 E0 K7 c' H2 F/ m% @) v5 a* Z, B9 I
LJMP TO_ISR -------------5
9 z; y+ x$ l/ { J; -------------6
* {: ^9 E6 u" p7 s0 h& }2 }, \' h( A ORG 0030H -------------7
7 N, b9 T- b- y3 _/ m/ y$ lSTART: SETB P1.0 -------------8
6 }. v7 p; q* `/ C4 u MOV TMOD,#11H -------------94 ^. U" K. A( m- v' w
MOV TH0,#0DBH -------------10
& I- C. }8 l; T1 E MOV TL0,#0FFH -------------11
" Z0 [( n% m, `0 E7 W5 s CLR TF0 -------------12( D& u; _4 K- y! x- w8 L6 H% E
SETB TR0 -------------13: B% r3 C0 ]+ R8 \9 n
SETB ET0 -------------14, Y h) o- l L) R, n" H! h. B
SETB EA -------------15
$ [; S# o; c* p9 G J+ o' T) RLOOP: SJMP LOOP -----------------16/ R% w# O8 I: n6 Z
; -------------17
8 W+ U0 L- f1 }2 O! x% j9 iTO_ISR: CPL P1.0 -------------18" y0 y5 g+ d% j) m9 A( m2 ]
CLR TF0 -------------19
" p% N+ \( s8 f2 j' B MOV TH0,#0DBH -------------20
* M+ j N6 C1 B* J9 T$ @7 e. i8 A' i+ H MOV TL0,#0FFH -------------21! V" `, k6 V" ?+ K2 ^7 v; j
RETI -------------22
+ |5 Y3 U: b1 E: N$ f& E END -------------23 |
|