标题: 51单片机pwm方波输出 [打印本页]

作者: angle丶皮皮虾    时间: 2018-8-14 12:52
标题: 51单片机pwm方波输出
今天想找个调制pwm方波源码

看了很多都不太理解

了解后自己写了一份

现在把自己的送上

不太会发帖

请多海涵


/*   P1.0口输出pwm方波  P1.1口连接用来对比的led  两个led共阳,低电平点亮  */
#include<reg51.h>                                  //定义单片机库函数      


#define uint unsigned int                    //定义无符号整形
#define uchar unsigned char                        //定义无符号字节型                                 
sbit pwm = P1^0;         //PWM输出端口
sbit led = P1^1;         //对比输出端口
uint count,a,b,th,tl,number,i;


void main()
{


  count = 2;                     //占空比
  a = 12/11059200;            //计算机器周期
  b = 1000/a;                    //计算每个数需要的时间 us
  th = (65536-b)/256;        //计算填入TH的值
  tl =(65536-b)%256;        //计算填入TL的值
  EA = 1;                                //开总中断
  ET0 = 1;                                //打开T0中断
  TMOD = 0x01;                        //设置T0计数器工作方式为16位计数器
  TH0 =th;                                //给TH0填入th
  TL0 =tl;                                //给TL0填入tl
  TF0 = 1;                                //表示T0有中断产生
  TR0 = 1;                                //表示T0开始运行
  led = 0;                                //点亮led灯做对比


while(1){                                //开启死循环等待中断
         if( number==300){                //每进入中断1000次就将占空比加一
                 number=0;                        //复位参考值
                 count=count+1;          //占空比加一
   }
  }
}






void timer()interrupt 1{
  TH0 = th;         //重新填入th
  TL0 = tl;         //重新填入tl
  
   i++;
if(i<count)          //count为占空比
  {
   pwm=0;                     //输出低电平点亮led灯
            
  }else{


      pwm=1;   //输出高电平熄灭led灯
               
         }


if(i>=10){
    i=0; //参考值置零

}
   number++;


}


                  





51单片机pwm方波输出.zip

27.15 KB, 下载次数: 43, 下载积分: 黑币 -5

源码文件


作者: Fader    时间: 2019-3-6 09:58
听说回复有黑币
作者: 古典风格的    时间: 2019-3-6 13:18
还不错的噢,试了一下
作者: Foggy    时间: 2019-3-6 20:00
不错哦,谢谢分享
作者: Foggy    时间: 2019-3-6 20:00
不错哦,谢谢分享
作者: 历练小小    时间: 2019-3-6 20:51
感觉不错哦,谢谢分享
作者: MDZZzzzzz    时间: 2019-4-2 14:39
还不错呀
作者: 宁小小    时间: 2019-5-12 15:33
请问怎么用51输出频率和占空比可调的pwm波?
作者: 843603159    时间: 2019-5-12 17:56
还不错
作者: yywysd    时间: 2019-5-12 20:17
谢谢分享,好好学习学习。
作者: 二狼神666    时间: 2019-5-13 19:36
虽然比较简单,但是定义的变量有点多




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