标题: 51单片机pwm调制程序与Proteus仿真图 适合初学者 [打印本页]

作者: 1045964948    时间: 2021-7-31 10:32
标题: 51单片机pwm调制程序与Proteus仿真图 适合初学者
来51黑电子论坛很久了,在众多大佬大牛的资料分享下我学习到了很多,我目前也是一个初学者,最近搞懂了以前很久没搞懂的pwm脉冲调制,个人觉得我这应该是最通俗易懂的,程序通过仿真和示波器测试,下面分享一下自己的源代码,如果有哪里不是很好希望有大佬提出

下面是单片机代码   
  1. #include <REGX51.H>
  2. unsigned int condition=10;//这里高电平占一份
  3. unsigned int cnt;
  4. sbit pin=P2^0;
  5. sbit led=P1^0;
  6. sbit key=P3^0;
  7. void button();
  8. void delay(unsigned int t)
  9. {
  10. while(t--);
  11. }

  12. void main()
  13. {
  14.     TMOD=0x01;
  15.     TL0 = 0x38;                //设置定时初值
  16.         TH0 = 0xFF;
  17.         EA=1;
  18.         ET0=1;               
  19.         TR0 = 1;
  20.                 while(1)
  21.                 {
  22.                      if(cnt>=100)//整个周期100
  23.     {
  24.         cnt=0;
  25.     }
  26.     if(cnt<condition)              
  27.     {
  28.     pin=1;
  29.     }
  30.     else
  31.     {
  32.     pin=0;
  33.     }  button();
  34.   }
  35. }
  36. void Isr01() interrupt 1
  37. {

  38.         TL0 = 0x38;                //设置定时初值
  39.         TH0 = 0xFF;
  40.         cnt++;
  41. }

  42. void button()           //按下开关改变上升沿的时间
  43. {
  44. if(key!=1)
  45. {
  46.   delay(50);
  47.   if(key!=1)
  48.   {
  49.    condition=condition+10;
  50.    led=!led;
  51.    if(condition==100)
  52.    {
  53.             condition=0;
  54.    }
  55.    while(!key);
  56.   }
  57. }
  58. }
复制代码



附件在2楼下载

作者: 1045964948    时间: 2021-7-31 10:33
51黑电子论坛pwm波调制.zip (48.6 KB, 下载次数: 37)




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