|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:
7 e" T0 H$ a3 A& i2 f3 H5 M(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?9 Q! M3 [. o1 y2 q' G: j- q$ p4 u
(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?: h E M" I" L% \: D6 J0 C
(3)其中第七行程序是在什么时候开始执行的?# M3 o. n7 b; x: t8 \
(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????
& v; C& E' f9 z. v, s5 C* U 在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P & f( @0 z G1 C, |' u5 C( d
$MOD51 -------------15 S x& e1 v3 p: f$ g
ORG 0000H -------------2( u( R% q' K" k% c, _, T: C
LJMP START -------------3+ p5 C! Q/ x; r9 e7 {
ORG 000BH -------------45 {% m! g: c" z9 I4 }2 R
LJMP TO_ISR -------------5, \# B! z& A9 ]
; -------------61 Y( X% K& h1 t# V" m$ _7 r o
ORG 0030H -------------7
# q6 @+ e" @9 E3 SSTART: SETB P1.0 -------------8: D. n) ~& e' D$ ?" t& g
MOV TMOD,#11H -------------9
% [ u7 J9 b! A( U% C6 I MOV TH0,#0DBH -------------10
' Q7 E" j; P/ b: y, F MOV TL0,#0FFH -------------11
+ f* H) w/ O4 R2 S9 ]: d CLR TF0 -------------12
3 q4 W1 H3 q6 v L+ Z5 J, @, U* T SETB TR0 -------------13: r' g; U8 m2 T4 L7 \1 L% C
SETB ET0 -------------14& i- |+ ^" u# W6 U& j
SETB EA -------------15# X7 p9 w; c3 h! W0 n
LOOP: SJMP LOOP -----------------16
4 a* P! C, }5 F( r. m; -------------17 p" t+ u0 H7 v% Y, I
TO_ISR: CPL P1.0 -------------189 K: ?" y* n# G- K7 @. ]
CLR TF0 -------------19( j; Z4 S- n C6 T/ T: ~
MOV TH0,#0DBH -------------20" \4 ]3 j9 e% a1 y: }
MOV TL0,#0FFH -------------216 g! N/ D% _& {# t" D# k. _! U
RETI -------------227 V. g$ i4 a8 u: |
END -------------23 |
|