这是部分程序,前面的程序没有任何问题,当执行4 h4 h+ ~( E6 O' g
case 1:
+ e; m; J5 l% \- T4 Y" R PWM0_0=1;/ S8 L/ X/ S* B7 t8 m6 P E& |* J2 _
TH0=-PWM_Value1[0]/256;. [* T( K# k# F* A+ V, k
TL0=-PWM_Value1[0]%256;% Y' N4 I. j. U' v9 z
break;/ R+ B ? C& v/ w1 r; p4 F
时,break没有起作用,反而直接到了case 12中的这一步
7 q) m+ j3 A1 Z6 Q' V5 F- tTL0=-(3300-PWM_Value1[5])%256;
4 s: O2 U" `! Q& W2 r order1=0;. [. d; S: l2 H! F, |' Y9 a
TR1=0;
P2 j3 a% s) `: E! N% s break;
* S; m" o1 U! o+ r7 }( q( E }
$ I! X; ~$ ^8 ~) f" [" q Sorder1++;
7 i7 l0 Q& |. Z) I$ H" a0 `在case12中结束循环的1 u/ R3 @ L! c _
/*===================================================================================
1 q& T2 Q2 W: ~5 `2 j& ] 定时器T0的中断服务程序& ]+ c9 Q0 f: T" O6 L, C, |
一个循环20MS ≈ 6*3.33ms8 M! w& e/ r# r( c* M2 w
=====================================================================================*/
/ y9 Z8 r: ?- o, \void timer0(void) interrupt 1 using 1+ y' F% Y. m& C
{
% n1 T5 [6 F9 B- n2 q3 z; O switch(order1)% s8 i0 L5 W7 I/ Q
{
, [5 u+ q; U$ h' p8 K7 I* j4 Lcase 1: ; F, j& `; V' X. V8 \3 b' I2 `
PWM0_0=1;
D. P p$ m r3 z( F TH0=-PWM_Value1[0]/256;
. q$ {6 h- w6 X TL0=-PWM_Value1[0]%256;( ]" `" N& I, M
break;
+ y7 {; t. B2 y- x# ^case 2: + D# d. I1 b; ~6 k) @1 Q
PWM0_0=0;
" D5 r7 Z; _& s4 R7 M4 u TH0=-(3300-PWM_Value1[0])/256;) Y- e2 w- l U4 b' \
TL0=-(3300-PWM_Value1[0])%256;5 g, ^+ l, l' ]# r4 f
break;
3 k9 B' g, o7 S/ ~* J" ~case 3: . q+ I: w, e# l/ l6 p
PWM0_1=1;9 I4 v& b6 u/ N, j% j2 a; y
TH0=-PWM_Value1[1]/256;
) [! U! S: X+ L8 ?* S( v+ w- v TL0=-PWM_Value1[1]%256;4 g8 M! R0 W8 y3 X9 V# r" V
break;
; E5 Y/ X3 u7 b2 s; dcase 4: 7 T. K! ^$ ]% @. k: P! S
PWM0_1=0;8 F" W8 E, m7 h1 ^6 h
TH0=-(3300-PWM_Value1[1])/256;8 O/ P4 f+ V5 e" j6 _% U/ n6 A- \
TL0=-(3300-PWM_Value1[1])%256;+ r$ ]- [ ] b! j- z; F' @0 K
break;, x! g/ v- ?! l1 Q- w# Q' B
case 5: $ z/ R! t5 D, R: f5 [2 y0 E
PWM0_2=1;
, |* Y1 k' J5 W8 ` TH0=-PWM_Value1[2]/256; A3 m; t5 t$ q* C; E' z) H
TL0=-PWM_Value1[2]%256;
) B; |3 ]/ u i" @, F break;/ l. M! B2 j+ C5 \
case 6:
0 B- W, Z4 h, O8 t! S PWM0_2=0 ;; A' X6 p% w: s: ~( j% P" z6 T) g: s
TH0=-(3300-PWM_Value1[2])/256;+ A* ?7 {2 Q! ^' l
TL0=-(3300-PWM_Value1[2])%256;
9 V* [9 S$ ^& N$ ^# J8 B break;( V( [) \, w$ ?! T% P
case 7:
* j% T* v4 @1 |6 I5 }/ t PWM0_3=1;* ?3 u: N: [" T9 y3 R) n* G
TH0=-PWM_Value1[3]/256;
( ?+ k4 x& R, z) b/ v& v. Z TL0=-PWM_Value1[3]%256;* N) O& |, l( q& h" X
break;4 o% b. o, V/ G" d0 J
case 8:
# z- \2 h- ]: j- q8 m PWM0_3=0; 1 [* x+ y8 A1 {0 }8 @" M- [
TH0=-(3300-PWM_Value1[3])/256;
9 r( A: }' V7 ~5 G: G TL0=-(3300-PWM_Value1[3])%256;( t2 L; b, P$ P
break;# S, |" c5 o" H: F5 A3 o) c
case 9: ! Y) D2 x; r4 }) l( K! ~
PWM0_4=1;) v2 H8 y$ r; U4 V) o! O
TH0=-PWM_Value1[4]/256;$ d$ ~$ E6 Y% B% n9 s2 k5 I* e
TL0=-PWM_Value1[4]%256;$ W. f9 V! J, j( i# ~, E- o6 T
break;. w, J! N- X* x5 g: d" A. m2 q
case 10:
1 U; h2 F; `# k9 K) ?6 k) |3 U$ A7 B' o PWM0_4=0;
% I: H6 r4 W- b+ j$ H& ~* V# p: \% E TH0=-(3300-PWM_Value1[4])/256;
: t, Z- s: b; q- c TL0=-(3300-PWM_Value1[4])%256;
+ f2 O% q8 N0 c1 b9 H4 Z) A break;
t0 R8 X. ?1 d( {$ w! rcase 11: $ [1 l" X$ _% V# C. Q _/ X
PWM0_5=1;
2 r1 e! b; e0 C6 q1 m TH0=-PWM_Value1[5]/256;
) f: n/ t6 i2 H+ L TL0=-PWM_Value1[5]%256;. k/ o9 ^3 {0 ?3 ]: K
break;7 u/ Z& l' t# _/ A! e, H
case 12:
: A9 q, u2 M+ x8 m- l/ j PWM0_5=0 ;
0 Y8 J: f& k) t$ o: r) B' K TH0=-(3300-PWM_Value1[5])/256; J) T9 E4 V- C( W: P. @
TL0=-(3300-PWM_Value1[5])%256;$ b) ]* S( {* \& |
order1=0;
$ M; m) x; k- d7 l5 x" y/ f. j TR1=0;
) Z d0 L5 ^0 D0 ^* ^" A: _1 @ break;) U1 a0 U6 @! ~+ `$ k. e
}
4 m) Z, k3 s, Y/ L7 Q7 d( Xorder1++;
/ i8 U* o8 ^! R% `: v/ }' X} |