|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:8 }* w* h n' o" y8 ^1 h" u: x
(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?/ c0 l' e9 N3 E/ e6 M# r
(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?4 @7 \5 S g e* Q2 L
(3)其中第七行程序是在什么时候开始执行的?/ J3 h* S4 {" a3 f8 K5 {$ O" ~3 P
(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????
' `6 @. F$ B5 O! D 在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P
* h3 J0 @6 o8 X$MOD51 -------------1! l g/ ]# e5 ]5 {/ T. V# M
ORG 0000H -------------26 U' v5 n8 x2 Q
LJMP START -------------37 N1 U# v* l0 X; V! S
ORG 000BH -------------4
& r. z Z6 _5 u) c6 P8 ^ LJMP TO_ISR -------------5
( \. v' V J" A" j% M2 b, M5 V; -------------6- s9 ^0 q( D0 R b1 N
ORG 0030H -------------7
) p& B1 R( N/ B* G# S6 M1 ]START: SETB P1.0 -------------8
; T6 m) d, J8 p$ g- j MOV TMOD,#11H -------------9
/ X) j) G. B7 W0 M. `7 R MOV TH0,#0DBH -------------10# y9 j+ N' M- ^4 J6 o1 h0 B
MOV TL0,#0FFH -------------11: c) ?3 c, {) q1 ]2 I- N! Z! _2 t
CLR TF0 -------------128 z1 }% K1 r' {; }0 X
SETB TR0 -------------13
3 H0 I; d7 L1 ? \8 t( L& l SETB ET0 -------------14
, ?* m% V: K/ V7 F r& `! x SETB EA -------------15( ?' L% V% Q9 M$ @
LOOP: SJMP LOOP -----------------16
! [" ^! x3 S5 ?% c6 k) e& y J; -------------17
/ b) B* |+ S: c5 O$ C* V$ e" yTO_ISR: CPL P1.0 -------------18( c# S1 X' L9 _& y, g
CLR TF0 -------------19
?( l" C$ u# p. V MOV TH0,#0DBH -------------20
2 e3 m* {' r, u/ y7 M, n/ d# H MOV TL0,#0FFH -------------21
) E! R6 ^4 G1 F1 W6 E! ~5 l; j% m' C2 H! @4 B RETI -------------22
- e8 H/ f3 `, g1 H y# } END -------------23 |
|