打印

谁有pwm调光的源代码,求救,好心人发一个给我吧.

[复制链接]
908|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mouzhicheng|  楼主 | 2014-5-5 22:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
超脱者| | 2014-7-27 01:34 | 只看该作者
/*通过PWM(脉宽调制)调节LED的亮度,用这种方法也可以调节其他器件的功率
                开发或设计功能时,先分析所在器件的电压、电流、脉冲频率的特点
                然后根据所需脉冲的频率特点,用程序语句来把它描述出来就可以实现相应的功能控制了*/
#include<reg51.h>//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit LED0=P1^0;        // 用sbit 关键字 定义 LED到P1.0端口,LED是自己任意定义且容易**的符号
void Delay(unsigned int t)
{
        while(--t);
}

void main()
{
        unsigned int CYCLE=600,PWM_LOW;//定义周期并赋值       
        while(1)//主循环
        {
                LED0=1;
                Delay(60000); //特意加延时,可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)        //PWM_LOW表示低电平时间,这个循环中低电平时长从1累加到CYCLE(周期)的值,即600次
                {
                        LED0=0;          //点亮LED
                        Delay(PWM_LOW);//延时长度,600次循环中从1加至599
                        LED0=1;                           //熄灭LED
                        Delay(CYCLE-PWM_LOW);//延时长度,600次循环中从599减至1
                }
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)//与逐渐变亮相反的过程
                {
                        LED0=0;
                        Delay(PWM_LOW);
                        LED0=1;
                        Delay(CYCLE-PWM_LOW);
                }
                        //主循环中添加其他需要一直工作的程序
        }
}

使用特权

评论回复
板凳
niurougan| | 2014-7-27 11:31 | 只看该作者
。。。

使用特权

评论回复
地板
bruse123| | 2015-2-10 13:08 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝