|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:2 l8 V3 x0 Y3 o" ?* }6 V' R# F! D$ r
(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?8 f1 B6 n& g5 r9 r% ?* m
(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?
. w9 z+ I) L& h' @0 L: K(3)其中第七行程序是在什么时候开始执行的? J6 A. _; K8 K# i
(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????+ s W2 D+ V F$ }* y* C& s
在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P , V; y. S# O+ ~+ {% S3 [4 G. z8 b& i# M
$MOD51 -------------1
% e# b* r$ L+ T5 q% d7 k ORG 0000H -------------2
5 N; \7 _4 r, A1 N LJMP START -------------3
! I! B6 z) I7 Z# g7 X ORG 000BH -------------45 U5 ?9 R1 `9 o2 n, Y
LJMP TO_ISR -------------5" f/ b! h; n4 T/ o4 q& k
; -------------66 [; g6 {* w2 M* s' G% C3 g
ORG 0030H -------------73 \/ G2 [' z: G7 z" Y
START: SETB P1.0 -------------82 t7 W# U2 Y4 c
MOV TMOD,#11H -------------9
) G' A) ^# B3 J4 g MOV TH0,#0DBH -------------10
v' `8 V5 _ I. W: ~; Y" L. }; T8 m MOV TL0,#0FFH -------------11
' l% r5 O/ F+ K. x& ]- T CLR TF0 -------------123 F" l- }8 c+ |# N/ D! [/ X" R
SETB TR0 -------------13
5 ^3 M7 N% t( y- I2 D! ~ SETB ET0 -------------14' E; s/ X6 d) H5 g: |; h) W. u
SETB EA -------------15* [* L3 _' H# x5 \$ q+ v5 Q9 \
LOOP: SJMP LOOP -----------------16
6 ~5 A, f8 A6 [9 \2 ~% |3 P; -------------179 s$ X! S9 a8 o0 `5 {/ q/ T! u
TO_ISR: CPL P1.0 -------------18
0 N- V( v8 v3 h2 z CLR TF0 -------------19
. d, i% N; w* g MOV TH0,#0DBH -------------20) @4 v# z* N& _; d( }" L2 l
MOV TL0,#0FFH -------------21
$ m" }, C2 f2 Y9 F# d' C RETI -------------22
+ E0 ]( ` p: Q$ W) B END -------------23 |
|