|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:% [ W* _! m4 y
(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?
& H% _4 E! U7 r/ ~/ ~. W7 o(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?% S+ x6 I5 J8 ~6 B, H! f/ _6 K' Y
(3)其中第七行程序是在什么时候开始执行的?
8 V! z5 ^1 V9 W9 z. G6 l$ D(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????
# Z+ C7 H: g- R1 u( T, X J; e. S 在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P - g+ k- P7 G4 J h( J) G$ a+ {8 F
$MOD51 -------------1
* w: [9 Y3 X, S7 m% k. P ORG 0000H -------------2
* g+ C: T% z! c, } LJMP START -------------3/ }; x+ f5 D9 M2 S0 I
ORG 000BH -------------40 E, z) g) \' B$ y- d
LJMP TO_ISR -------------52 s+ s; K4 T; g- U4 O; V2 \5 `
; -------------6/ v8 {% G3 X V# n' K/ C
ORG 0030H -------------7
: r' \' S5 q# h* [! g' ISTART: SETB P1.0 -------------8( y) V4 R8 b/ Z
MOV TMOD,#11H -------------96 A) F$ Q) O! d. u
MOV TH0,#0DBH -------------10( l- {3 E3 }- s1 b
MOV TL0,#0FFH -------------11
% h! U. V5 p/ F; S$ M# d CLR TF0 -------------12
/ e; B9 ~8 r! F, i. s SETB TR0 -------------13
& U0 h3 M" g0 g% S' K7 L SETB ET0 -------------14
0 _' y. r7 c( N. V; k SETB EA -------------15
5 A1 B1 s4 {8 ^, t% `1 OLOOP: SJMP LOOP -----------------16
/ P. R, G% p$ H: X$ H; -------------17, ]$ R9 f/ t8 p% i0 t9 F& r, W
TO_ISR: CPL P1.0 -------------182 i. X2 M2 P+ c
CLR TF0 -------------196 ]- Y- z2 s6 r3 [7 g0 O
MOV TH0,#0DBH -------------20
. B C- N+ N( \% t: z MOV TL0,#0FFH -------------21
; t3 P: \; t, {4 _8 @ RETI -------------22" e2 y) C3 t" r' K4 N+ n
END -------------23 |
|