|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:
- s4 p( T1 J0 s @(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行? q3 P) Q, B+ T+ a3 E
(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?
# ~1 }0 ?1 A7 Y(3)其中第七行程序是在什么时候开始执行的?
5 {3 y4 D1 |0 f; ~+ I# H) ^(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????
% j0 S: X }( ]! _7 }6 b4 r 在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P 9 T J3 b( t$ O, X1 q1 ?
$MOD51 -------------1
2 u8 O2 D [- c ORG 0000H -------------28 U( G: G; k; ^- Y
LJMP START -------------3
7 w: R2 ^- k; R) w ORG 000BH -------------49 ?% @2 q3 T: r$ t
LJMP TO_ISR -------------5# Z9 Q) {! g4 @* p2 P l
; -------------6
" m( G% D9 q' P$ r, ^* D ORG 0030H -------------7
% ] y" L& K, h; g* d% B9 l6 jSTART: SETB P1.0 -------------8& B8 M& I* j$ r7 W
MOV TMOD,#11H -------------9* m& D/ W/ Q/ s" x7 ^5 \( S
MOV TH0,#0DBH -------------10
3 H/ [3 i" O) D6 T2 R' G% ~+ j MOV TL0,#0FFH -------------11
: S( w# B4 @5 i8 k4 J* P CLR TF0 -------------12
2 R! `; X4 X' E4 _. j! M4 i% B SETB TR0 -------------132 L5 p f) k6 \, x7 n
SETB ET0 -------------14' ^2 I% o, V; G) U! b9 r* l; }0 Y
SETB EA -------------153 m( C. \( i- B) B( Z* Y& b, f
LOOP: SJMP LOOP -----------------16
$ }6 b- {: z( T1 F$ V9 l; -------------17
7 o1 M/ p4 p/ L7 UTO_ISR: CPL P1.0 -------------18
" @0 ^" ?) u% L CLR TF0 -------------19) j+ H" H6 q& ~+ y
MOV TH0,#0DBH -------------20, _ e; |. z+ S4 ~
MOV TL0,#0FFH -------------21
* h" }1 y' e1 W$ ]/ U5 u2 a RETI -------------22
3 n5 f8 e6 {, A3 g! E: i END -------------23 |
|