|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:
! P- M3 f3 n2 y" j(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?
8 y. E* z( B" W9 S(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?9 U$ |, h" N* v/ H- k8 S4 |; q8 J
(3)其中第七行程序是在什么时候开始执行的?
4 q" P: M) f5 x) M# N3 v- f) m(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????
: ^$ M1 A4 d# K( I6 S" |, T( F1 a5 y 在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P 4 E) B @0 @( o1 V/ [0 x: c
$MOD51 -------------1
+ o, n, i" B! Q* _4 w# W. _/ x% X6 s ORG 0000H -------------2
8 B9 _' W4 j/ O LJMP START -------------3
$ S! @0 D5 q/ r5 o ORG 000BH -------------4/ L( E6 C& j* c" i1 {
LJMP TO_ISR -------------5* B* [* t }, H3 l6 t: b
; -------------6
8 M O8 x$ H& G/ i4 E% Q ORG 0030H -------------7
! ^9 d! R. ~/ |5 u* x2 `START: SETB P1.0 -------------8" c( T+ E! a" `5 S7 z& E7 N# ^
MOV TMOD,#11H -------------9
5 L! s: T c S& P MOV TH0,#0DBH -------------10
# z; ^; v. X; T- U+ u MOV TL0,#0FFH -------------11
/ @- e- Z$ R9 Y: {1 o8 K CLR TF0 -------------122 o/ N7 O% |. o/ m* x: Q! O
SETB TR0 -------------13
1 e! B# ~. [( I/ I/ r! y SETB ET0 -------------14
3 e# F" m: i' \ SETB EA -------------15% R) R* Q# y! D6 Y+ D0 G
LOOP: SJMP LOOP -----------------16
( i+ C: F5 S. H2 v, e- I; -------------17
& S+ m5 U* U( W' q/ c* ]. L S5 pTO_ISR: CPL P1.0 -------------18
G" g E. f+ j' c CLR TF0 -------------19
' ~, ^- o/ `( n8 m# K2 i MOV TH0,#0DBH -------------20
. m$ Z% n, F1 B* A# x9 J) H MOV TL0,#0FFH -------------21
: s- A1 F7 p; e" g" u! P RETI -------------22
3 M; V- G- _' U: ?% m: `1 k END -------------23 |
|