|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:
& R! W f$ G, J" V/ u |4 r(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?, y5 ^5 y% a+ ~3 j/ S, j* l
(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?
* q' Q( _6 Z! g(3)其中第七行程序是在什么时候开始执行的?; o7 \0 d/ D. M: F6 b3 {
(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????
# ~" p: E" k; m/ h+ w 在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P
1 q/ _0 r0 b' W2 t+ n. P$MOD51 -------------1
: v D' l! R8 ~, k ORG 0000H -------------2$ R5 E1 M% G" Z+ U5 x# {; H3 k
LJMP START -------------30 A" G3 }& Y0 E5 S
ORG 000BH -------------44 v+ m. K3 ^0 t
LJMP TO_ISR -------------5/ o' I) S8 y" q/ X
; -------------6( U. w! e% M$ A5 N7 [1 c
ORG 0030H -------------7' }" J. B, ~( q U& q+ h
START: SETB P1.0 -------------8* e9 |' _, d4 `7 M
MOV TMOD,#11H -------------9
- P* s1 h* s, Q* v8 Y MOV TH0,#0DBH -------------10; M3 |% A: e9 b7 l" w) E6 A6 c5 M
MOV TL0,#0FFH -------------11& J7 A6 Z& v+ L2 R; Z
CLR TF0 -------------12
5 x8 Y4 N# b4 L SETB TR0 -------------13
' O- a: S0 h, |$ M& k7 u$ ] SETB ET0 -------------14
+ N, C1 U0 U3 ]8 E0 o2 [; [0 N SETB EA -------------15$ X" I* t# L0 y! L
LOOP: SJMP LOOP -----------------16" I/ _2 i+ g# ?$ J6 I, @5 F8 D
; -------------171 q5 M6 p7 ~3 q! i/ U5 x9 Z t+ d
TO_ISR: CPL P1.0 -------------18
* o* F5 h2 I0 o$ w CLR TF0 -------------19
9 ~& P' j% C2 J% s2 R MOV TH0,#0DBH -------------204 m! v6 l1 i8 z' H" m: u1 P; K
MOV TL0,#0FFH -------------21! T: z# p. Z# b
RETI -------------221 b/ g {% M* k3 u% `9 {
END -------------23 |
|