第一,要理解中断在这里的作用是固定磨滑的“一小段”时间进入一次。
第二,PWM_ON在程序中的作用很大,盯辩它会由0------>CYCLE------>0并且一直循环下去。可以把它看成一个有规律的变化的量。
第三,每进入中断一次count++,满足瞎则腊条件count==PWM_ON或count==CYCLE时改变LED的当前状态。作用是给小灯亮或灭的时间不同。
第四,LED的亮度与其通电时间有关,也可以说成是占空比。上面的条件要理解成是呈线性增加或减小的频率。可以理解成三角波,对应的面积就是通电时间。
不知能不能给你讲明白!
CYCLE=10;在初始化中,在程序中不会改变;pwm周期PWM_ON只在主循环来改变;延时程序很长delay(1000)中断函数执行很多次,第一次count=0时,就把led灭了,当PWM_ON=2时,有了亮姿基锋度,此亮度保持到,PWM_ON=2,锋乎加亮,迹晌直到PWM_ON=10,最亮,开始执行变暗程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)