这是部分程序,前面的程序没有任何问题,当执行
- r: z' I3 S# L g: e( S- dcase 1:
5 d0 [- j7 h4 t* H2 }$ S6 G' u PWM0_0=1;$ X' J2 V2 I# S) J# c5 \6 e; K* c
TH0=-PWM_Value1[0]/256;
3 a# i) H9 c. W$ F+ n% N% b5 x TL0=-PWM_Value1[0]%256;$ o. e h% R% e$ M S0 \
break;
9 E; O# r# y3 B2 k+ A时,break没有起作用,反而直接到了case 12中的这一步
, O8 q3 |' `( H& d3 {* ATL0=-(3300-PWM_Value1[5])%256;
( o) [4 `! p ~6 d l5 e order1=0;
' F( ]& ]8 V, e% F- G$ b% Y TR1=0;/ g% v; ]; q( j- J+ I
break;: q; j, w" V- y0 M! P4 U- D
}9 P& ^! K* |$ X2 t
order1++;& Y9 \( C, i! {
在case12中结束循环的% j, ?6 H% N" K1 {
/*===================================================================================; ]# Z3 i3 k6 A; M/ U7 B- @2 f
定时器T0的中断服务程序
% [# F u7 r$ L8 g2 }7 @$ w 一个循环20MS ≈ 6*3.33ms
, r, t2 R h/ h) O# I; r3 V. N=====================================================================================*/5 _% L5 M/ I3 a% Z3 V2 V) B
void timer0(void) interrupt 1 using 1) X4 B! y y! M* |
{
, \8 c0 L' F- I1 @ switch(order1)
& X0 O! g8 c' \2 v/ C/ O$ G{3 e! t/ F# |, a& A1 T) w" }
case 1:
4 ]7 m' o8 u! C* T: d% @" p" E: d PWM0_0=1;
: r& M. n" X4 t. V9 g* k( C8 k TH0=-PWM_Value1[0]/256;, h: |) l# Z z: r" G
TL0=-PWM_Value1[0]%256;5 R T3 {, p4 ?8 C/ g
break;
7 x5 ^% @8 {! g! x+ H& t9 ecase 2:
: S; V8 f& S5 W1 G6 ^ PWM0_0=0;
' `( h0 `/ k1 W TH0=-(3300-PWM_Value1[0])/256;* i% S# E" A+ B* k
TL0=-(3300-PWM_Value1[0])%256;7 L( t" r) b) m- k) g
break;
/ l7 {4 `+ R2 Z, C/ icase 3: - j; R# E0 ]. W7 F# T- q U
PWM0_1=1;+ t1 Z$ i9 A% q$ Y3 y
TH0=-PWM_Value1[1]/256;3 U" E; J' B8 @7 V' Z+ f, e
TL0=-PWM_Value1[1]%256;
+ m8 N/ T0 s. T break;
5 U+ @, o0 s* R O5 O: ncase 4:
e" o+ x0 O: o5 J6 W PWM0_1=0;+ K& [5 A( A7 `6 }" H% [
TH0=-(3300-PWM_Value1[1])/256;
' }: V, a1 i; p: [( U. k TL0=-(3300-PWM_Value1[1])%256;' J* } ~/ ^( `1 O- b2 l2 e* W/ `" C
break;
% m& |, l' z- \' `4 Kcase 5:
8 u( v7 Y' y! v2 u9 o0 S& J PWM0_2=1;. ?& X8 A H8 O9 s: k& G- Y
TH0=-PWM_Value1[2]/256;) b9 C8 Y' T3 w6 T3 k2 G _4 I2 t
TL0=-PWM_Value1[2]%256;
6 C: ?3 A) J- |. S' w7 [; O+ K break;. N, H2 Y8 g8 X. [7 u$ |. ?. C
case 6:
- f7 E8 z' q" t, F. z* r PWM0_2=0 ;
. S2 m- C) i t5 P, [) s6 z TH0=-(3300-PWM_Value1[2])/256;
! e( J: H& T8 c% c/ N4 f1 i TL0=-(3300-PWM_Value1[2])%256;
" {+ t* O) }/ v1 s1 R break;7 H! K& n0 r7 D2 x& a+ ?1 N
case 7: ( s# u. H; e) _4 b T
PWM0_3=1;+ H" {1 n! n2 \ N( z+ U! F
TH0=-PWM_Value1[3]/256;
`; z z- y" K1 x& n' p0 L TL0=-PWM_Value1[3]%256;
i0 K0 t* F' w. x break;7 y& F! i7 Z8 t2 S/ K9 k) H! S
case 8: $ e3 l3 v% O u8 B j5 S' x2 [
PWM0_3=0; * Z9 p( L+ a4 X! A
TH0=-(3300-PWM_Value1[3])/256;
9 o' C8 Z, |7 }- n TL0=-(3300-PWM_Value1[3])%256;; p! e2 x/ d! v% y
break;/ L' l1 ^3 l4 \5 {
case 9: & o+ K9 |: }0 |
PWM0_4=1;, e p4 O4 G/ S5 [& Y& P
TH0=-PWM_Value1[4]/256;% \1 F) @ c7 b# a# a6 @+ o$ d# ^
TL0=-PWM_Value1[4]%256;
7 a. Q# O' F4 z6 m* h break;
/ r3 E* `; |3 \8 _( X: M# r' hcase 10:
9 X0 |: _5 L! Z. G# |! p PWM0_4=0;: g" Y9 w$ c$ M* D0 b$ p
TH0=-(3300-PWM_Value1[4])/256;
6 \# }* p2 ]( f9 i% x* s* V% y TL0=-(3300-PWM_Value1[4])%256;
+ D0 c1 _* J. ?. P0 e! e, } break;- [3 u Q" s7 ~8 `/ }
case 11:
9 f7 H! S% A5 u* K4 t, { PWM0_5=1;
: @: |# R7 D N6 H) A* A TH0=-PWM_Value1[5]/256;
7 ?: b1 ?* w4 V% B6 k TL0=-PWM_Value1[5]%256;
# R- t9 r2 O; n! [% U( k7 s2 p; N break;) b) X% E# f" S4 M9 |
case 12: e5 |8 A/ P! ^, U- I5 K
PWM0_5=0 ;8 B# }, U4 B% j6 Q
TH0=-(3300-PWM_Value1[5])/256;! K4 O0 e- t1 K
TL0=-(3300-PWM_Value1[5])%256;
& [1 }. E* _6 \/ P* {% o order1=0;
% C9 V' ?3 F0 R- z. p( i! a TR1=0;. V: V* b5 }0 @' z, q
break;9 }6 C0 L" T6 m+ z/ N
}" ?0 m7 \! S# j( |8 Z
order1++;
$ e' _; s# R& S' K} |