這是部分程序,前面的程序沒有任何問題,當執行
9 C7 `8 g" w. M Z; f/ Ecase 1: . H4 v- q# g* G+ i3 Z, Q
PWM0_0=1;
' C: G% R4 G6 m9 z TH0=-PWM_Value1[0]/256;
# B) f% l4 d u1 V; E$ h TL0=-PWM_Value1[0]%256;( _& e- I, \# p: K% s7 J
break;
5 @) n# x3 ]& |/ f# L. q時,break沒有起作用,反而直接到了case 12中的這一步
& k" i% u4 o3 |/ V) h2 u' |TL0=-(3300-PWM_Value1[5])%256;
) Z: L, d! l1 k" Q: D+ {5 q+ F: [ order1=0;& m& G- [4 E( B, o
TR1=0;
& q% X, s& ~0 D5 Z$ P2 n9 S break;2 C1 [; l \! \8 ~$ s
}
5 q$ l8 @$ U5 f, Sorder1++;
4 P m# Y2 g5 z在case12中結束循環的; W6 X) s* F8 n+ ]* r
/*===================================================================================
4 r# P/ \) J! a7 n" I+ |9 ^ 定時器T0的中斷服務程序
) S! ?4 k5 ]3 Y2 O h7 b 一個循環20MS ≈ 6*3.33ms
2 V, C" i' b0 @=====================================================================================*/
6 E$ q" O% `! ?, uvoid timer0(void) interrupt 1 using 1" l2 R6 ?! P5 E; h$ E% ]
{, K0 b" p7 e' N g) v/ c* k# @
switch(order1)
. Y7 O& J" {8 V{
( G: y0 n0 c! p- Ecase 1:
$ X) j, y/ Q p PWM0_0=1;0 X6 R9 t' n1 P4 M& Q1 \% U
TH0=-PWM_Value1[0]/256;: g3 }& {9 L; _- I& T2 @5 w
TL0=-PWM_Value1[0]%256;; b) o$ Q5 c3 g( J6 w
break;2 ]& ^. [9 r( Z ~7 Q5 C( H# S
case 2: ; o& h, r1 |3 X M+ y
PWM0_0=0; . ^( J6 K& W# y4 X
TH0=-(3300-PWM_Value1[0])/256; {5 G& ?4 K! L
TL0=-(3300-PWM_Value1[0])%256;
# M$ h% p: ~( P4 X; d _ break;
8 W& k. _1 s& [1 y' [! D, z; Jcase 3: 6 u/ [8 q; p* [. n' t x; ?4 `* s7 C' i
PWM0_1=1;
5 [9 ~; V: V1 B' p& Y8 O TH0=-PWM_Value1[1]/256;1 @2 N1 E+ m8 Y! J
TL0=-PWM_Value1[1]%256;$ e& `# I1 g1 Z/ d1 h
break;& m; j: F5 L, v4 X/ i; w5 Z' v, Y. k
case 4: 4 o0 A0 O2 A0 _0 y9 e* `( c- j% a
PWM0_1=0;9 t& I7 i* l; C
TH0=-(3300-PWM_Value1[1])/256;
7 t$ x2 p7 M: H$ s. F TL0=-(3300-PWM_Value1[1])%256;' g" ]3 @1 N8 f/ j2 @+ `8 Y
break;
( w0 Q; \6 ?# ]0 a" y8 T# _7 ~5 ?case 5: $ X" a9 E7 Z2 D
PWM0_2=1;
5 a4 c' J5 k3 K' ^, `8 A8 n TH0=-PWM_Value1[2]/256;- f c7 {3 Y4 r3 V8 q' F) L4 V
TL0=-PWM_Value1[2]%256;0 ~, y; l5 k* |& q- Q# i/ a
break;' {# i/ l8 ]# Q5 P
case 6:
" ]0 D4 G- _4 z* m/ n5 U PWM0_2=0 ;1 G# c5 A5 N7 X# b8 E! J4 h* ~" S2 [
TH0=-(3300-PWM_Value1[2])/256;" q1 S# A% r! ?8 r" Q9 \/ ?- x4 i$ T
TL0=-(3300-PWM_Value1[2])%256;7 ]/ _4 Z( i( j. x
break;9 [! A8 X$ W+ i) C8 ^8 F- e! r
case 7: 3 b5 { g' C' U0 p! I
PWM0_3=1;' l1 A4 {( I0 J$ t0 C
TH0=-PWM_Value1[3]/256;1 q6 R5 y6 H+ I/ l0 d
TL0=-PWM_Value1[3]%256;3 \7 r5 E- a- o- b, B
break;
# e# t( B% E$ H& M( y. w) a& ]case 8: ; h% j4 i8 {& k/ N4 ]
PWM0_3=0;
' t' Q( [, k a8 R% v2 F' [1 B; t$ X TH0=-(3300-PWM_Value1[3])/256;
7 a+ I: c0 i' X1 H7 y/ t) ^0 ^' t TL0=-(3300-PWM_Value1[3])%256;
! K" S; d2 x8 D% X9 V break;
/ U u0 I0 w+ }5 T* c0 _; ucase 9: ) m# T) K; f/ I
PWM0_4=1;, W" j' r9 I( T/ e" ~1 [
TH0=-PWM_Value1[4]/256;
3 n' [8 S4 ]: t M1 i TL0=-PWM_Value1[4]%256;
- m# ~) R1 `+ Q* i break;
V% L; Q) Z8 k4 F1 `case 10:
/ G; h/ b: U- W- P" A4 K PWM0_4=0;
1 V W, _7 I0 Q0 _9 i) h2 V& [4 m TH0=-(3300-PWM_Value1[4])/256;) B8 Z; w) K8 U0 [6 `2 X
TL0=-(3300-PWM_Value1[4])%256;1 \/ `) ~+ i. N9 A6 t8 f" d' S2 |* a
break;# S, f- {* a2 y7 D
case 11:
# P$ \" ?/ l4 T( q s PWM0_5=1;
0 n. K# \" ^& Y5 p j% g" d/ I/ L+ ^- c TH0=-PWM_Value1[5]/256;
: A5 H. D+ M$ y9 M TL0=-PWM_Value1[5]%256;
/ e, [4 ]% x: e0 ` break;& N! |3 x# C8 o4 L/ S
case 12:
, J0 D$ |6 {/ d4 C) O4 U PWM0_5=0 ;
7 k0 x4 r/ U4 \1 o TH0=-(3300-PWM_Value1[5])/256;
+ ^' r3 r3 N# v# ]9 X. ~+ z TL0=-(3300-PWM_Value1[5])%256;" u: {0 J Y/ A3 v
order1=0;
, p. Q# E. Y3 [% R; w E TR1=0;, b& h0 | Q" m O7 a
break;
. J" U/ @, @' S" E, f `8 w }$ v" I4 d# V5 a. w: \5 K3 z5 {* A
order1++;9 Y9 h# t& D& O: W( B& t+ a
} |