码迷,mamicode.com
首页 > 其他好文 > 详细

PWM调整2个LED的亮度00--FF,255级亮度自动调节 【原创】

时间:2015-09-27 06:35:28      阅读:463      评论:0      收藏:0      [点我收藏+]

标签:pwm调整2个led的亮度00--ff   255级亮度调节 【原创】   

把STC12C5A60S2.H 、STC12C2052AD.H头文件放到 C:\Keil\C51\INC\

STC单片机头文件【51CTO-->单片机-->STC单片机官方头文件】

下载链接 链接:http://pan.baidu.com/s/1pJKK4w7 密码:a0re


测量2个LED的端的电压 0 ~ 4.8V 逐渐增减变化



/*
工程创建MCU选取,Atmel 89C55
单片机: STC12C5A60S2  
晶振:12M
功能:PWM调整2个LED的亮度00--FF,255级亮度调节
连接说明:LED1正极串接1K 电阻到VCC,负极接 STC12C5A60S2 的4脚 P1.3 PWM0
        LED2正极串接1K 电阻到VCC,负极接 STC12C5A60S2 的4脚 P1.3 PWM1

        
如果是STC12C2052AD,STC12C4052AD单片机
#include <STC12C2052AD.H> 
LED1正极串接1K 电阻到VCC,负极接 STC12C4052AD  的11脚 P3.7 PWM0
LED2正极串接1K 电阻到VCC,负极接 STC12C4052AD  的 9脚 P3.5 PWM1
*/


#include <STC12C5A60S2.H> 

void PWM_init (void){
CMOD=0x02;//设置PCA定时器	
	CL=0x00;
	CH=0x00;
	CCAPM0=0x42;   //PWM0设置PCA工作方式为PWM方式
	CCAP0L=0x00;   //设置PWM3初始值与CCAP0H 相同
	CCAP0H=0x00;   //PWM3初始值为0

	CCAPM1=0x42;  //PWM1设置PCA工作方式为PWM方式
	CCAP1L=0x00;  //设置PWM3初始值与CCAP0H 相同
	CCAP1H=0x00;  //PWM3初始值为0

	//CCAPM2=0x42; //PWM2设置PCA工作方式为PWM方式
	//CCAP2L=0x00; //设置PWM3初始值与CCAP0H 相同
	//CCAP2H=0x00; //PWM3初始值为0

	//CCAPM3=0x42; //PWM3设置PCA工作方式为PWM方式
	//CCAP3L=0x00; //设置PWM3初始值与CCAP0H 相同
	//CCAP3H=0x00; //PWM3初始值为0
CR=1;    //启动PCA定时器
}

//占空比设置函数
void PWM0_set (unsigned char a) {
	CCAP0L= a; // 设置直接写入CCAP0L
	CCAP0H= a; // 设置直接写入CCAP0H
}

void PWM1_set (unsigned char a) {
	CCAP1L= a; // 设置直接写入CCAP0L
	CCAP1H= a; // 设置直接写入CCAP0H
}

//延时函数
void DELAY_MS (unsigned int a)
{
    unsigned int i;
    while ( --a != 0 )
    {
        for (i=0;i<=600;i++);
    }
}



void main(void){
PWM_init(); //PWM初始化
	

 unsigned char i;
     
// LED1慢慢变亮, LED2慢慢变暗
// unsigned char i 的类型 0xff 的取反就是0x00
for(i=0x00;i<0xff;i++){
    PWM0_set(i); // 设置占空比
    PWM1_set(~i); // 设置占空比  
    DELAY_MS (150);//调整速度
    }

// LED1慢慢变暗, LED2慢慢变亮
for(i=0xff;i>0;i--){
    PWM0_set(i); // 设置占空比
    PWM1_set(~i); // 设置占空比  
    DELAY_MS (150);//调整速度
    }
  }

}





本文出自 “生命不息,折腾不止。” 博客,谢绝转载!

PWM调整2个LED的亮度00--FF,255级亮度自动调节 【原创】

标签:pwm调整2个led的亮度00--ff   255级亮度调节 【原创】   

原文地址:http://990487026.blog.51cto.com/10133282/1698461

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!