|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教各位,以下是一段51的普通定时中断程序,该程序产生一个10ms方波信号,由P1.0端输出。我有几个关于中断的问题不是很清楚,烦请各位指教:3 C3 Z& N2 I$ A4 V6 C
(1)中断子程序结束之后,即第22行之后,程序转向哪里?第几行?) M1 V, g7 E* A" F2 X# E6 R
(2)整个中断子程序的执行时间是不是由第20和第21行决定的?系统自动根据这两行决定子程序执行时间吗?如果将这两行删除之后,中断子程序的执行时间又是怎样决定的呢?
3 @( I5 E7 r0 h(3)其中第七行程序是在什么时候开始执行的?. z0 d" @: v* \7 Q( E
(4)程序执行路线是不是这样的:1---2---(8,9...16)---4---5---(18....22 ) 22之后呢??????
" z0 ~8 B/ z# E5 p& s8 h9 e, I- _ 在下先行谢过各位,还请各位不吝指教,谢谢 :P :P :P
4 j4 a/ H' [8 F) c$MOD51 -------------1
) ? ^# @- C+ J3 H, K% K3 j ORG 0000H -------------2. v2 F' j7 R: @+ {
LJMP START -------------3
! K* P& e4 \* [3 i; Q6 p2 M, s9 c7 O' S ORG 000BH -------------4
% X8 z% v6 _% a. E LJMP TO_ISR -------------5
% u0 L* u* {$ ]* h; N, I- i; -------------6
+ c: X2 z# {- G3 A; X) ~ ORG 0030H -------------7 t/ ]' H2 A" c: S N& @
START: SETB P1.0 -------------8
6 d+ c I: a! {% Z1 }! h) r( A9 d MOV TMOD,#11H -------------9
$ f8 N# o. L( J+ L MOV TH0,#0DBH -------------10
, h8 f8 M" G D$ _! K MOV TL0,#0FFH -------------11* f9 a9 Q2 W/ {1 Q5 O
CLR TF0 -------------12% t4 x2 C. l; G& A4 N7 a
SETB TR0 -------------13
7 |$ F* b4 _5 B- f, n( C SETB ET0 -------------14' l4 n9 `4 D8 {! k& F% l2 g2 B8 K
SETB EA -------------15
. L7 \3 a# J, V n; Z8 p6 XLOOP: SJMP LOOP -----------------16
* j3 P8 A& W# S7 l5 p$ I( ]5 k! Q' l# M; -------------17
/ \8 ^# |: m# J1 K b. C# rTO_ISR: CPL P1.0 -------------18
( I0 L7 i3 y% |8 @/ ?8 H4 C6 t! X CLR TF0 -------------19* B4 a- _* y5 g9 S- l
MOV TH0,#0DBH -------------208 ]( n0 ~5 m) W/ y' G4 s i
MOV TL0,#0FFH -------------21; |! Q; N4 f* ~: n$ a: A
RETI -------------22
8 I( d: n. C! `6 e' @ END -------------23 |
|