这是部分程序,前面的程序没有任何问题,当执行
1 T2 i/ {6 U5 p2 tcase 1: , W, B4 n! R+ Z3 M U* M
PWM0_0=1;0 \1 W1 F% S4 K
TH0=-PWM_Value1[0]/256;# P. x' w+ w5 t k
TL0=-PWM_Value1[0]%256;
& I9 L5 I1 h9 t; A. k break;
; f, `/ \- m- ]) S时,break没有起作用,反而直接到了case 12中的这一步# X& Y0 f$ V+ a% r" |( b7 f
TL0=-(3300-PWM_Value1[5])%256;
4 b/ |/ T) E- ^+ R order1=0; N8 U# T4 h' v* O2 p7 z
TR1=0;; v6 {4 S4 \) ^+ T6 C# U& Q& d
break;
* I+ o8 p( i0 H& c! o- o }6 r- S5 y/ g$ G% w
order1++;
. b b3 Z! s7 v8 B% T3 t6 Z在case12中结束循环的+ w3 |6 E6 D0 g$ K% h$ n
/*===================================================================================1 m/ v9 u. d g! x3 t' N0 f
定时器T0的中断服务程序3 F, q2 x9 ?$ M
一个循环20MS ≈ 6*3.33ms
! q `! M' B6 [9 v# @=====================================================================================*/: R3 H; d# }, U3 c
void timer0(void) interrupt 1 using 1; a) [2 u2 t: q. x6 _3 t
{
- _2 `2 L. l' d8 _ switch(order1)
2 r/ f: d/ Y5 T{& w: F7 n: j% `' U
case 1:
+ q3 b( j* C/ Z3 @; C8 |% G1 _ PWM0_0=1;
! N3 ` s, j1 {$ g TH0=-PWM_Value1[0]/256;# D' S% b9 F; d$ g# |
TL0=-PWM_Value1[0]%256;3 ~& J9 l4 G3 L
break;$ ^6 o; F% W9 z, |1 P( ^
case 2: " _( {$ e+ G" M e5 l# C) R& q" u
PWM0_0=0; % S/ ?+ ]" p( q' k" B
TH0=-(3300-PWM_Value1[0])/256;+ A# w- k6 o: Z
TL0=-(3300-PWM_Value1[0])%256;
* X! B7 ~9 s0 t! I3 V4 l break;2 ~ [( Z/ U- Q0 w0 P# N& B
case 3: 6 l8 V+ C2 x8 S* H7 G
PWM0_1=1;
/ ?5 h5 t" U5 L! w5 @ TH0=-PWM_Value1[1]/256;
$ d& p/ `( e1 W( M% x TL0=-PWM_Value1[1]%256;
3 G$ r/ k, h9 p2 U+ e) u* o: \ break;
V; H8 l# V) N' S2 b- [case 4: % W E# o* v3 g- M9 Q8 ?
PWM0_1=0;4 C" L- L, r7 `5 i G
TH0=-(3300-PWM_Value1[1])/256;
9 c3 E! X$ p. ~* z TL0=-(3300-PWM_Value1[1])%256;7 J [/ B. M. m# B5 [
break;! ^& \- Q) o9 J
case 5:
% K! B. n* p7 i) B PWM0_2=1;
: T4 O% E0 I' V# r6 @& R- Q TH0=-PWM_Value1[2]/256;
5 F( ]; d$ @: m1 @$ C4 N TL0=-PWM_Value1[2]%256;
* r9 g* D/ [, i( o) E0 C break;* Q- x, h- A2 Z, v& {$ s, I) B
case 6: 5 ?; V1 Y' m. w+ G" ~9 [% m4 l
PWM0_2=0 ;
! Y4 D0 J4 I8 Q# A! @( y6 f; j TH0=-(3300-PWM_Value1[2])/256;' ^& y5 o3 t) p5 N2 E
TL0=-(3300-PWM_Value1[2])%256;7 F9 \! f' r V" m) n' Z/ \
break;$ n. i g$ q& t% W+ Z1 S, |
case 7:
+ I2 G7 ]/ ^: B PWM0_3=1;; \: V. r5 n' X$ J
TH0=-PWM_Value1[3]/256;
7 m1 F6 B; i+ s+ i$ O p$ Z TL0=-PWM_Value1[3]%256;
# m$ J+ p; w2 k" l2 J- ] break;4 v' v8 Y4 q* M: |6 N9 u. b
case 8: / c1 d) }' a) m$ R! E2 F5 W
PWM0_3=0;
* e- s# `# `2 b! D TH0=-(3300-PWM_Value1[3])/256;
( `% D0 }* M+ T5 W6 ~' b+ i* o TL0=-(3300-PWM_Value1[3])%256;+ z% O1 H. U" \4 a# l
break;
3 ]1 g1 ~ V2 h3 }! Ecase 9:
& V* c+ O8 [9 s9 z* h" T. S PWM0_4=1;! g" i* j! ], q
TH0=-PWM_Value1[4]/256;, ]& S) [' b. h9 H" x) m3 o) z* E
TL0=-PWM_Value1[4]%256;- w9 `- ?) S; X0 y
break;
% R6 {! m( N9 r* {case 10:
$ O* b3 m7 o- P PWM0_4=0;
" [9 I1 w, H8 e8 p8 Z% \$ ? TH0=-(3300-PWM_Value1[4])/256;6 ~/ J3 w/ W2 c; Q* \+ |
TL0=-(3300-PWM_Value1[4])%256;
# [' O7 r- n1 ]. i7 k2 h break;
6 e( k2 N5 y: V) _case 11:
! d3 u$ x$ _' S9 g; [) w PWM0_5=1;5 F& h" V& W; ?/ M
TH0=-PWM_Value1[5]/256;
* ?4 Z+ g) o6 @2 U- b TL0=-PWM_Value1[5]%256;
9 J3 x5 q u3 G7 Y break;
; i b, g3 K' }6 g: ~$ |case 12:
5 W* @6 P% x( ?7 p# O% ~ PWM0_5=0 ;
8 {9 j& u. l9 n6 @ TH0=-(3300-PWM_Value1[5])/256;- ~3 I$ r. I9 G) e
TL0=-(3300-PWM_Value1[5])%256;" }. S# q5 n7 S! n b2 @* i
order1=0;7 \- S( |! a0 D- K+ p: m! S, x
TR1=0;, Z6 f8 _' V; h5 U
break;
0 b9 T$ c0 E' G+ [" e4 B }2 h9 d# J. Q) _! _5 y1 i( h% b% }% M
order1++;% Z! J; Y# Z8 X& j# H3 p
} |