|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:* y. ]2 K2 _1 D: F1 h, w
(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?* {/ B5 e/ y0 s' \7 E
(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?. X- x" w7 _5 o d- d$ {
(3)其中第七行程序是在什么时候开始执行的?
# u4 ?) s# @2 J: \(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????
" N# {4 F3 g3 C- L 在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P ( ^% m0 f/ h, w* p3 v' N
$MOD51 -------------1
- p/ q) ]* t* U5 D0 ?) { ORG 0000H -------------2
, `2 s! I7 P- ?0 Y* c1 k" |; t LJMP START -------------3! Y9 ^: \5 ]' E7 ?; C
ORG 000BH -------------4% w9 }! N7 w8 E; T+ t) E* ?
LJMP TO_ISR -------------58 c5 v1 I) ^& v2 N) g% f9 v
; -------------62 ?1 R* k1 z# J s- ]4 ?7 M
ORG 0030H -------------7 m3 c; X& X$ E$ _6 ] E" d
START: SETB P1.0 -------------82 Q( }4 B [, G) K
MOV TMOD,#11H -------------9; }5 q5 G; f* s w1 G3 H I) y
MOV TH0,#0DBH -------------10! @- j- r$ }1 r0 M# H
MOV TL0,#0FFH -------------11
" |# v: E4 K8 l, p7 {3 Y1 l CLR TF0 -------------12
/ A- j& W" J9 Y9 l) {: C' _3 f" H SETB TR0 -------------13" x! K5 T% ` H# C& `9 ?5 V
SETB ET0 -------------14
6 @& J" R1 `# Q( l/ ?5 k: P1 p SETB EA -------------15
8 ^% [' \& p- D* v' wLOOP: SJMP LOOP -----------------162 X J3 ?$ D& H* A( b9 s6 M4 a
; -------------17( c* |1 b+ ~! Y5 k
TO_ISR: CPL P1.0 -------------18
3 { K2 y- ]( P) ^ CLR TF0 -------------19
+ F2 o. U# B4 K; l6 } MOV TH0,#0DBH -------------20% [: h [. B1 ^6 a9 S* v
MOV TL0,#0FFH -------------21
( B Z, e0 w* W) ~ RETI -------------22
8 U9 h" X$ ?4 i7 E0 [ END -------------23 |
|