這是部分程序,前面的程序沒有任何問題,當執行
( X, S! T! f5 [9 s8 w9 F5 V, rcase 1: * s/ x _$ Q7 Y
PWM0_0=1;
. G, g7 D8 Z" p- f9 L' Z) K TH0=-PWM_Value1[0]/256;6 |" i( ?* D& A* @. z
TL0=-PWM_Value1[0]%256;
, L) d( e# b1 Y0 `: g9 f break;
/ y C0 k9 x4 o7 F% t# u4 F, p' p時,break沒有起作用,反而直接到了case 12中的這一步5 q, l3 r0 k5 v6 b; b$ l5 p
TL0=-(3300-PWM_Value1[5])%256;: }4 O5 R4 v5 w0 }7 ~
order1=0;9 O- O3 }* B) f# u$ m
TR1=0;' L3 ?9 V- K9 }/ q5 g+ v3 M4 k
break;
6 a+ n4 y* P! O# e$ @, b: Y }
, y! e% I: G$ V% @" u8 jorder1++;2 |% a5 P4 ^/ m( _- [; i
在case12中結束循環的
3 o7 ^+ j2 h$ I! j4 ?8 P6 a/*===================================================================================6 i$ F: ^ b# r' K
定時器T0的中斷服務程序
; q6 f2 h" I3 ?. A7 |0 d/ C& i 一個循環20MS ≈ 6*3.33ms
! |8 `* a7 }- z K6 q9 A( Q6 Q=====================================================================================*/# w( a* L/ n' e1 U; X) R
void timer0(void) interrupt 1 using 1
0 R) \- R/ j( [# W/ _ Y& c{
! H$ J! L7 V9 V+ c$ K" S+ e" ] switch(order1)
* p3 y5 P+ _& u& `/ Q{7 V/ ]4 k ?* B7 c; M
case 1:
' a2 j2 K3 g7 Q PWM0_0=1;
1 ^) E. [& ^& T, D# J TH0=-PWM_Value1[0]/256;
8 x6 i: Q7 Y; D; r* I( q% U+ W TL0=-PWM_Value1[0]%256;# a2 n/ P: D7 e; T& D
break;, l4 e% \- [$ J4 g
case 2: 1 G! b3 n7 F& d$ ]2 ~, _+ L
PWM0_0=0; % y+ R6 L5 ?5 N
TH0=-(3300-PWM_Value1[0])/256;( y, F, X) H7 a& b( [, N
TL0=-(3300-PWM_Value1[0])%256;
+ \: r M( e" N: @$ `. e2 m: z6 [ break;
, T9 b! ^7 R$ J) jcase 3:
, J4 M) T1 H$ o7 A: _ PWM0_1=1; i8 r2 t& S8 F" b4 c* s
TH0=-PWM_Value1[1]/256;8 K P) f3 [5 {& c* T0 e! j5 n
TL0=-PWM_Value1[1]%256;
1 a0 |* p& x/ k- {9 `, J; n' c break;3 V& r7 p7 [0 r6 @: h& B7 M0 C
case 4: ' a) g R; ^: b1 S
PWM0_1=0;
\* ^1 o. b* C/ u9 T TH0=-(3300-PWM_Value1[1])/256;2 w5 k, j y5 v4 g" \! R
TL0=-(3300-PWM_Value1[1])%256;/ X5 \" G' a3 C0 l1 x
break;
- }; d" E$ ~3 @% b) Ocase 5:
! F& Y: C. |* J$ ~8 T. h PWM0_2=1;8 l. J8 y$ Y1 s
TH0=-PWM_Value1[2]/256;0 p6 i, t9 Y s; P* P4 R# ]
TL0=-PWM_Value1[2]%256;
; M* M; T: i Q" q4 C0 W7 k2 F/ g: r break;& D+ Q$ J) j, A7 x* j. T0 L7 c! J
case 6: 7 o3 H; `) y" L# P: z* E3 T
PWM0_2=0 ;
. o P9 R) t% F$ R4 u( v TH0=-(3300-PWM_Value1[2])/256;
0 W) \, l* B7 l TL0=-(3300-PWM_Value1[2])%256;
$ k0 g k, H9 R break;& t' a% i3 j/ S9 i7 @9 A2 P
case 7: + {7 H J+ K. K" ?" Q$ E3 H9 o
PWM0_3=1;
, R7 j5 d9 H L9 x( w TH0=-PWM_Value1[3]/256;/ `! F% W. a y9 E
TL0=-PWM_Value1[3]%256;
0 y5 l. A2 V" Y8 s5 h break;
; r1 x# q9 l/ ?* J# _case 8:
" p( L9 x+ a, A3 S PWM0_3=0;
( j; U$ b1 m+ ~* S6 _" N TH0=-(3300-PWM_Value1[3])/256;7 X! u% V+ s. y q. T- C& I
TL0=-(3300-PWM_Value1[3])%256;
5 W/ u: Y0 ?: O# z! u" c% D break;
/ V$ h9 O5 e! y& K- Vcase 9:
: Q, O" V4 |' ~ PWM0_4=1;& M* }2 e8 _5 J. ]: C
TH0=-PWM_Value1[4]/256;+ Q( V3 p) t$ n1 W. j
TL0=-PWM_Value1[4]%256;
" e- i) a! c* t6 v8 J break;
* v1 n4 W- o3 s% ~$ Z$ m; j# rcase 10:
* s" Y- s2 |3 O5 p% U! U3 L PWM0_4=0;
! I/ G. ^4 D, j TH0=-(3300-PWM_Value1[4])/256;
8 _2 I; t* f3 [- E$ L: S m6 B$ i* ^ TL0=-(3300-PWM_Value1[4])%256;
! J/ k( k z& s* G break;
) v l) w. u/ J* F0 P, xcase 11: ! V3 h+ Y- A1 G$ i, ^9 g, Y% C
PWM0_5=1;/ E3 J+ X! M- ]" P) Y7 t
TH0=-PWM_Value1[5]/256;
: E. c; [. e2 D& o TL0=-PWM_Value1[5]%256;7 \+ F4 t+ O L0 L, u
break;1 Z0 T, H6 X! T9 E
case 12:
; q6 c- q/ M. r6 j" W% e PWM0_5=0 ;$ P& |0 S2 Y+ o5 H$ B
TH0=-(3300-PWM_Value1[5])/256;
- A1 ~; g) [7 f0 W2 p1 { TL0=-(3300-PWM_Value1[5])%256;2 _& A1 \: D- X4 a! ]
order1=0;
7 G- V3 |% s9 ? TR1=0;
6 f, E& K1 ~5 ]7 j9 v break;
: s; j' C/ K. @" @- ]5 k8 Y- y* @ }
+ y5 f& ~6 _* O M% lorder1++;
) S/ H7 h- s7 U, K& G( V} |