|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:
/ f1 N/ \& T: N1 x I(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?1 @0 X3 `2 l2 M- ]2 {
(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?
: ]# u- K& Y8 S(3)其中第七行程序是在什么时候开始执行的?
4 Y* X* r4 r3 i7 g- p(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????
6 [$ K) w B6 X 在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P 0 m8 T6 U: v. r$ L: J+ d0 f8 i5 D
$MOD51 -------------1' v% b, y6 N/ M( d# ]* f
ORG 0000H -------------2
% V* J+ l5 b4 t1 Z k LJMP START -------------3. J+ M/ h# F7 r* c/ w; {) ? X
ORG 000BH -------------4. r5 R a% W& c0 W
LJMP TO_ISR -------------5
/ Z3 m( X$ b3 @" ?2 F# d# v; -------------6/ t2 G0 q- [1 j( J
ORG 0030H -------------75 Z; B8 n |6 g1 [5 \5 b8 i# l
START: SETB P1.0 -------------8
% I1 Y- b+ Q D3 c& c4 p MOV TMOD,#11H -------------91 a5 `& n" l/ ]' X
MOV TH0,#0DBH -------------107 t) j/ x' }8 H4 s7 b; X
MOV TL0,#0FFH -------------11% \1 d% P" | U) ^$ }) I
CLR TF0 -------------12+ K8 k) i* l" n0 h; I/ Q$ l6 Y
SETB TR0 -------------13
p# \* s# R; h; _ SETB ET0 -------------149 O' `5 `: J a9 i ^# `, o# x4 y3 _
SETB EA -------------159 C6 V Y P' K" D- V* b. `9 p
LOOP: SJMP LOOP -----------------16! z8 B+ ]6 h! Y( T0 D/ Q
; -------------17
9 Q" P, `& z- u; y' iTO_ISR: CPL P1.0 -------------18
7 P$ T% n" q1 ^" z) {. ~3 J/ `9 q2 C CLR TF0 -------------19: ]2 M7 N4 C, t* X; O& D! S
MOV TH0,#0DBH -------------20
7 X! g! ?" b9 @; y) R MOV TL0,#0FFH -------------21
1 t; m9 i; ~& E& O# k" o RETI -------------22& V3 V) c& w$ C* ?
END -------------23 |
|