片机用定时器输出PWM、红外按键控制。按键按下灯(低亮度)就会抖动,抬起正常?

如题。请问一下各位大佬。只要按键按下,灯就会发生抖动。定时器模拟PWM输出设置频率为200hz。灯在最亮时不抖动。


有没有解决方法

  1. /*****************************************************
    * Timer1中断服务函数
    *****************************************************/
    void Timer1_isr (void) interrupt 3  
    {
        /* set Tim_Br1 as mode0 (13-bit) */
        TL1 = 0x1d;       //初始值低字节,TL0 的高 3 位是无效的
        TH1 = 0xfd;         //初始值高字节(50us@16MHz)
    	// todo ...
    	Tim_B++;					//占空比设置80
    	Tim_R++;
    	Tim_G++;
    	count++;
    	//Diy_Cnt++;
    	cnt_Grad++;
    	if(Tim_B >= 80)			//占空比80
    		Tim_B = 0;
    
    	if(Tim_B < Bout)		//设置占空比值
    		P35 = 1;
    	else
    		P35 = 0;
    	
    	if(Tim_G >= 80)			//占空比80
    		Tim_G = 0;
    
    	if(Tim_G < Gout)		//设置占空比值
    		P11 = 1;
    	else
    		P11 = 0;
    	
    	if(Tim_R >= 80)			//占空比80
    		Tim_R = 0;
    
    	if(Tim_R < Rout)		//设置占空比值
    		P10 = 1;
    	else
    		P10 = 0;
    	
    	Timer0_Way = 1;
    }

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。

​​​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。