这个是我自己用的一个PWM控制LED灯的程序
没有呼吸灯的效果,但是,是有PWM效果的,你参考一下,我手上没有这个单片机了,没有办法验证你的代码
PWM端口为P3.3
void stc8g_pwm1_init()//stc8g_pwm初始化
{
CCON=0x00; //先关闭PCA计数器
CMOD=0x80; //pwm时钟为系统时钟/12,空闲模式下停止PCA计数
CCAPM1=0x42; //PWM模式,无中断
CL=0x00; //
CH=0x00; //
PCA_PWM1=0x00; //输出为8位PWM
CCAP1L=100; //比较值,当CL的值小于CCAP1L时,输出低电平
CCAP1H=254; //重载值,CCAP1L=CCAP1H
P_SW1=0x00;
CR=1;
}
更改占空比
CCAP1H=64; //75%占空比
CCAP1H=115; //55%占空比
CCAP1H=180; //30%占空比
首先,你要能输出PWM,这才是最重要的,能输出PWM了,呼吸灯就相对简单了,更改几次占空比,对比一下LED的亮度,就知道能不能输出PWM了
不需要什么其它工具的
|