|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:& }% M& }/ m2 z6 ~) Z
(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?7 [$ Z4 G( q: V2 Y: ~9 M+ c
(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?% p p ^5 Y7 t0 K
(3)其中第七行程序是在什么时候开始执行的?9 V$ u; `8 C; {7 W
(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????
3 w* M0 |0 v7 f# h; \6 A 在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P , D! P1 \; D$ K9 k5 _( V
$MOD51 -------------1& C+ ]# I0 t. ^( M) L3 a' @* C
ORG 0000H -------------2
, Q9 B. P0 N% T _ LJMP START -------------33 V! O& Z$ w4 X, L" F9 m: ]0 X- ]
ORG 000BH -------------4/ B7 e+ F7 P; P y- H0 N& k
LJMP TO_ISR -------------5) t$ F7 k4 q# n
; -------------6
8 o0 i' R$ Z d ORG 0030H -------------7) x1 R7 _4 b Y
START: SETB P1.0 -------------8
! V, T/ H0 N3 Z2 s3 y$ r MOV TMOD,#11H -------------9* X# U8 b0 h) E4 ~9 P
MOV TH0,#0DBH -------------10* B5 c K' f! s' n# `
MOV TL0,#0FFH -------------11* @1 _# d$ } B2 T- j; K
CLR TF0 -------------12. C' ]8 e. b5 Q C
SETB TR0 -------------13
$ T( Y$ n2 @3 x SETB ET0 -------------149 t' K/ k" i+ x
SETB EA -------------156 K0 ]3 N+ u; y; E* R4 ~% A
LOOP: SJMP LOOP -----------------16& q+ b' I+ P! u* j! O
; -------------17
* ?% t$ S9 v( z: ?0 uTO_ISR: CPL P1.0 -------------18
5 c( M8 }1 f1 M1 Z# Y% c+ @8 y% Z CLR TF0 -------------19
5 Y" n% B9 s6 c% a& C MOV TH0,#0DBH -------------20! _. d9 c4 ^" R. V1 {( T6 y
MOV TL0,#0FFH -------------21# ^! @& |) Z. n
RETI -------------222 i% ?9 {8 g- f. b- x0 a
END -------------23 |
|