|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:6 z0 S$ g7 G5 X% |. L4 l+ m
(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?
2 Y, p1 M& `4 q, j: h) H. y(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?
& ]- j4 n& w6 e3 S1 U(3)其中第七行程序是在什么时候开始执行的?
0 P0 k3 ^; g3 C' J' P6 H' r(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????3 Z; h. Z8 t+ r3 k9 e9 O* {# I9 \
在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P 3 A. l! N, S1 ^5 O
$MOD51 -------------1
% T$ y) w3 h2 w! e% _ a ORG 0000H -------------2
+ G0 G. R7 O3 ` LJMP START -------------39 Q% c5 {( P D
ORG 000BH -------------4
$ {- F4 j' D. M9 q& E LJMP TO_ISR -------------5
; I$ G' N# X3 `8 H9 h3 m; -------------6
8 u; _/ ~/ x; E9 S- M4 A; A ORG 0030H -------------7& |3 Z6 j0 C% e) Z9 p( B& E* r
START: SETB P1.0 -------------8: X# n$ d$ P) v& _
MOV TMOD,#11H -------------9. k7 q9 o2 E4 J% ^4 l, k- K/ n+ G
MOV TH0,#0DBH -------------10/ t3 d/ ~' k2 S9 q, ]
MOV TL0,#0FFH -------------11* C+ G# |0 a" |+ Y$ ]
CLR TF0 -------------12 I! q6 R E* o8 r0 J+ i$ N
SETB TR0 -------------13
3 u3 t, k" R q SETB ET0 -------------14+ g& ~2 L3 r2 P& v5 _/ Z/ k
SETB EA -------------153 t" p. u% H# w
LOOP: SJMP LOOP -----------------16+ M3 j: X. G( N1 s
; -------------17" C- M1 d; r" _1 I2 A, v
TO_ISR: CPL P1.0 -------------18% M. B* b) V3 J2 x
CLR TF0 -------------19
8 i/ h+ M3 ]9 r+ s8 L" L MOV TH0,#0DBH -------------20
8 H0 n3 \- @2 @1 ~4 j MOV TL0,#0FFH -------------21
6 M7 M+ A! t$ R# f9 G RETI -------------225 _& c7 \1 N' t% B( D# f5 G
END -------------23 |
|