|  | 
| #include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义) m. q/ @( [3 M 
 ! P0 X7 b- l! H- C, f/ p***it LED0=P1^0;// 用***it 关键字 定义 LED到P1.0端口,LED是自己任意定义且容易记忆的符号! _3 M3 V% f; f2 c1 m& O/ Y  X: h9 ]; y9 \
 ( {. `) m- X2 u9 h4 A5 X$ H
 / Q8 ], j! t7 c7 h3 B
 void Delay(unsigned int t); //函数声明
 " q* ]# }& q. Y7 T/ h! ?& G/*------------------------------------------------
 7 a9 X9 j6 _1 J                    主函数
 8 u% E$ h& d" i3 A0 Y& U------------------------------------------------*/
 / L+ O4 H# {  \void main (void)
 6 I, k2 M& C/ B& Q{
 + V: ]+ V- A  \, [3 {% @                  & |! D- l5 H  H4 `$ L5 L
 unsigned int CYCLE=600,PWM_LOW=0;//定义周期并赋值6 J; y1 `. L, S* D9 K
 while (1)         //主循环
 ( X1 V% o4 w) q3 `" f# W: ~  {
 7 `# R- h) c' ^& z2 Q1 [LED0=1;
 $ h2 i2 D* o7 U6 e8 b  WDelay(60000);        //特意加延时,可以看到熄灭的过程
 * a+ a' ^6 R7 j7 \- Qfor(PWM_LOW=1
  WM_LOW //电平时间,这个循环中低电平时长从1累加到CYCLE(周期)的值,即600次9 ~. K. s/ Y* H ( S5 |  ?& b' |) s1 Q& i+ }9 \
 LED0=0;        //点亮LED
 6 J! K$ l5 ^" u  H) o1 H                   Delay(PWM_LOW);//延时长度,600次循环中从1加至599
 - `# j4 A9 Z' y! z                   LED0=1;        //熄灭LED
 : T+ K0 c8 h- O4 |2 L4 P% {0 l              Delay(CYCLE-PWM_LOW);//延时长度,600次循环中从599减至1/ s7 `0 s5 ?& e; f( Y6 F" x3 E, \
 ; r( ^# N! p3 I1 |
 }
 * S6 P2 M3 ^3 j, A1 `; C1 ~LED0=0;
 - P: L: V2 c" a7 G# s# v5 Qfor(PWM_LOW=CYCLE-1
  WM_LOW>0  WM_LOW--){ //与逐渐变亮相反的过程0 S$ _& U5 \1 ~/ T + }( ?5 e$ `2 D
 LED0=0;
 / i' q$ |/ W3 m7 m                   Delay(PWM_LOW);
 % e/ o* {9 v  X' x1 Z" v                   LED0=1;
 ' g+ s8 {1 ^. o" x" q              Delay(CYCLE-PWM_LOW);
 ! y$ @7 \2 @6 U* Q5 B     + d6 i) G) E7 `: z8 \9 d
 }% f  H3 i4 D, i4 g! t+ F9 o: P
 //主循环中添加其他需要一直工作的程序
 0 H: R& t% r! z  P  }
 # d' y4 C1 @& t2 A6 N}1 r, m7 x) e0 Y' s& |' P
 /*------------------------------------------------/ g, E% `8 s3 D, W
 延时函数,含有输入参数 unsigned int t,无返回值
 0 t/ Y; d/ n5 gunsigned int 是定义无符号整形变量,其值的范围是! @: R( B8 N/ A5 h3 i5 j" i* V6 n
 0~65535
 % A( a$ S8 h# O! i- ]------------------------------------------------*/
 1 J5 t! v5 P7 U& _1 C$ b) ]% |void Delay(unsigned int t)
 & z9 S. Y- g7 P( s2 p$ S, D{
 % R7 E  j) B7 n% ^2 p& [0 m& zwhile(--t);% _/ |" A: E8 @9 {$ b  y
 }
 | 
 |