标题: 51单片机用软件的方法实现pwm源码 [打印本页]

作者: hul    时间: 2013-10-16 01:36
标题: 51单片机用软件的方法实现pwm源码
PWM演示.zip (37.74 KB, 下载次数: 218)
  1. ///////////////////////////////////////////////////////////
  2. //呼吸灯演示程序(PWM脉宽调制模型)
  3. ///////////////////////////////////////////////////////////
  4. #include<reg52.h>

  5. #define uint unsigned int
  6. #define uchar unsigned char

  7. uint cycle=500;  //PWM周期
  8. uint pwm=0;      //高电平持续时间

  9. sbit led=P1^0;   //LED端口
  10. sbit sw=P2^5;    //74HC573锁存端口

  11. void delay(uint t)
  12. {
  13.         unsigned int i;
  14.         for(i=0;i<t;i++);  //之前演示时灯闪烁的原因是此处延时太大
  15. }

  16. void pwm_demo(void)
  17. {
  18.         sw=1;  //数据不锁存       
  19.        
  20.         led=1;
  21.         delay(60000);
  22.         for(pwm=1;pwm<cycle;pwm++)//在这个循环里pwm的值逐渐升高(pwm的值代表高电平持续时间),占空比增大,灯由暗变亮。
  23.         {
  24.                 led=0;
  25.                 delay(pwm);
  26.                 led=1;
  27.                 delay(cycle-pwm);
  28.         }
  29.        
  30.         led=0;
  31.         delay(60000);
  32.         for(pwm=cycle-1;pwm>0;pwm--)//在这个循环里pwm的值逐渐减小(pwm的值代表高电平持续时间),占空比减小,灯由亮变暗。
  33.         {
  34.                 led=0;               
  35.                 delay(pwm);
  36.                 led=1;
  37.                 delay(cycle-pwm);
  38.         }       
  39. }
复制代码



作者: 钱情锦绣    时间: 2013-10-23 20:20
最需要这个,楼主谢谢你
作者: 游侠(单片机开    时间: 2013-10-23 22:33
很好 学习 谢谢
作者: ▓逍〓遥◆    时间: 2013-10-31 20:24
学习下,,,,,,,,,,,,
作者: 黄效忠    时间: 2013-11-7 13:48
谢谢楼主奉献!!!
作者: 宏凯凯    时间: 2013-11-20 21:25
不错  很实用
作者: 追寻的记忆    时间: 2014-5-10 19:34
感谢楼主分享
作者: 追寻的记忆    时间: 2014-5-10 19:46
还要?74HC573锁存端口?
作者: jjbboox    时间: 2014-5-19 12:33
看上去占空比是线性调节的。用三角函数进行调节会更像呼吸灯的效果。
作者: zlo007    时间: 2014-6-1 17:17

感谢楼主分享
作者: radiance    时间: 2014-7-14 18:03
这是个好东东。谢谢。
作者: hcwl991    时间: 2014-9-26 18:53
很有用
作者: 286458071    时间: 2014-9-30 13:58
谢谢拉!!!!
作者: zycheng    时间: 2014-10-2 08:41
谢啦,挺好滴
作者: 成森林    时间: 2015-4-8 10:43
很好 学习 谢谢
作者: runlin1    时间: 2015-12-9 18:04
单片机学习中,谢谢!!
作者: 迷恋520冬天    时间: 2016-2-19 13:12
谢谢楼主
作者: qwh7349080    时间: 2017-8-10 12:06
我的效果出来怎么是闪烁的




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