|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:. r3 r _9 E0 a/ S& H
(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?. x& A5 J6 ~! z! l B0 s
(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?6 D$ s/ U) g9 B# @& r
(3)其中第七行程序是在什么时候开始执行的?; ]7 O5 b7 j4 {9 }
(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????
; {' E1 Z, l: }* p/ z! H$ M+ d 在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P
6 W( g2 F* v: W. P4 @$MOD51 -------------1" G3 C0 z5 _5 g5 A8 o
ORG 0000H -------------2
( l- c3 `& i+ A W# E+ H' i LJMP START -------------3
8 H4 P: j* [) D3 N6 E& W ORG 000BH -------------4
6 d$ J6 N0 \/ W2 s5 Z LJMP TO_ISR -------------58 H& W$ {& W4 t: O& ?
; -------------62 g6 ~$ y6 [0 W; R6 C6 X
ORG 0030H -------------7
" M0 A, @- K( \' Z1 |2 wSTART: SETB P1.0 -------------85 P- ~) u/ m5 n5 `- K7 w
MOV TMOD,#11H -------------99 W( N& ^9 i. ?
MOV TH0,#0DBH -------------10
' G( r3 e* }0 B- q2 E7 i MOV TL0,#0FFH -------------11$ I+ m3 D1 _, H& u
CLR TF0 -------------12
) k3 o/ n) G z: m SETB TR0 -------------13# V$ t+ o; a1 q/ a1 ^* I
SETB ET0 -------------14$ n- ` {! ~' Z, _( [% ?; M" i
SETB EA -------------15& e" \, \* m" n' G
LOOP: SJMP LOOP -----------------16
& s. e* `* b8 T' e1 P: `: f; -------------17
+ k5 n5 c, k2 B6 L7 Z0 O0 `TO_ISR: CPL P1.0 -------------188 e G2 v/ ~9 n0 \1 w1 j% O
CLR TF0 -------------19
. l% H/ T. {0 W4 A7 d% R+ W MOV TH0,#0DBH -------------20
% \! j3 }! ]( m+ J& R9 p f* ~ MOV TL0,#0FFH -------------21 |1 }: z. P8 O' q
RETI -------------22
8 `( b* }3 R& \' T END -------------23 |
|