|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:4 D! C$ `9 v7 F
(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?
' G, o1 g- N2 I4 D0 ~5 ?(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?
' _* v5 ]* r" M. p" |5 H1 D(3)其中第七行程序是在什么时候开始执行的?
8 }7 b- A- ?6 P. \(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢?????? Z0 w' n ^; v
在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P
1 v3 ?2 b& e, [0 v$MOD51 -------------1
0 \/ V- V3 q; r5 t" ~& J ORG 0000H -------------2
! \' g' W5 x5 A/ Y* z" x4 g% c' B LJMP START -------------37 X7 f: F) v! S6 ]9 s
ORG 000BH -------------4
9 T# U7 G4 u+ {2 j) M7 D! u& u" U LJMP TO_ISR -------------5
, L( l6 V+ g/ D1 G& F5 A; -------------6
: K: Y; i+ A7 s' z ORG 0030H -------------74 W9 V: M- P" T4 T$ b3 o
START: SETB P1.0 -------------8
) T# r' n E% p) W MOV TMOD,#11H -------------9* w# V6 H$ P3 |, g: H. d' t
MOV TH0,#0DBH -------------10: O5 R% r* \5 ^
MOV TL0,#0FFH -------------11
% }- l3 s* L: u! p CLR TF0 -------------12
2 o/ l- I1 U' b6 [ SETB TR0 -------------13
5 J0 M% z. r: g, P SETB ET0 -------------14+ v+ f# i3 N7 C$ @ S3 h4 C
SETB EA -------------15; @6 n: [2 w2 I f
LOOP: SJMP LOOP -----------------164 O! a0 _4 ^+ T6 o b
; -------------17- ^3 U/ U2 U1 O% V) \
TO_ISR: CPL P1.0 -------------18# v8 E9 A) k3 }& E7 ^8 T
CLR TF0 -------------19
3 g: ?( \" s$ m( y, M( W MOV TH0,#0DBH -------------20
' q* K) q8 X( m+ S2 q+ w: O5 ~7 V MOV TL0,#0FFH -------------21# R. u# W+ Y+ @
RETI -------------228 }. j7 O7 t* D1 G6 X: l! m6 P
END -------------23 |
|