标题: 单片机PWM输出程序 [打印本页]

作者: Ysmooth    时间: 2016-8-31 21:42
标题: 单片机PWM输出程序
  1. #include "reg52.h"
  2. typedef unsigned char u8;
  3. typedef unsigned int u16;
  4. sbit scl=P2^1;
  5. u16 tim=0,count=0;
  6. void Tim1_init()
  7. {
  8.         TMOD=0X10;
  9.         TH1=0XFF;
  10.         TL1=0XFF;//1us
  11.         TR1=1;
  12.         ET1=1;
  13.         EA=1;
  14. }
  15. void tim1() interrupt 3
  16. {       
  17.         TH1=0Xff;
  18.         TL1=0Xff;//1ms
  19.         tim++;
  20.         count++;               
  21. }
  22. void main()
  23. {
  24.         u8 fx=1;
  25.         u16 value=0;
  26.         Tim1_init();
  27.         while(1)
  28.         {
  29.                 if(count>=500)
  30.                 {
  31.                         count=0;
  32.                         if(fx==1)
  33.                         {
  34.                                 value++;
  35.                                 if(value==500)
  36.                                 {
  37.                                         fx=0;
  38.                                 }
  39.                         }
  40.                         else
  41.                         {
  42.                                 value--;
  43.                                 if(value==0)
  44.                                 {
  45.                                         fx=1;
  46.                                 }
  47.                         }
  48.                 }       
  49.                 if(tim>=500) //PWMΪ0.5s
  50.                 {
  51.                         tim=0;
  52.                 }
  53.                 if(tim<=value)
  54.                 {
  55.                         scl=1;
  56.                 }
  57.                 else
  58.                 {
  59.                         scl=0;
  60.                 }
  61.         }               
  62. }
复制代码


102.PWM输出.zip (16.67 KB, 下载次数: 6)







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1