18
66
198
中级技术员
使用特权
4393
5935
2048
初级工程师
if(LED_PWM>=0) { .... }
void TO_int() interrupt 1 //定时100次,20ms,调整一次LED的占空比 { TH0=(65536-200)/256; TL0=(65536-200)%256; num++; if (num==100) { num=0; /* 20ms才来一次,你如何进行200us为单位的IO翻转 */ } }
sedatefire 发表于 2013-9-1 23:48
sedatefire 发表于 2013-9-1 23:51 思路理清,才下手写代码 不要抓瞎乱写
14
154
465
资深技术员
getmore 发表于 2013-9-2 10:06 2楼说的很清楚了,LED_PWM是uchar类型,所以用if判断,永远是>=0的,这和if(1)是没什么区别了 ...
22
72
34
禁止发言
fzkqi 发表于 2013-9-2 11:42 好好看看PWM和灯渐渐变亮是什么原因造成的。你程序什么地方能实现LED_PWM数值越大,输出的平均电压值越高。 ...
1
17
51
初级技术员
1289
4852
中级工程师
dengzhiyangren 发表于 2013-9-2 16:19 改的看看行不行 大神 话说楼主要控制8个灯的暗灭吗?
joyme 发表于 2013-9-2 17:13 LZ都没有理解占空比和周期的概念 LS的改动理论上是可以,实际也是有问题,每20ms就变化一次占空比,100级 ...
5
687
2146
发表回复 本版积分规则 回帖后跳转到最后一页
人才类勋章
时间类勋章
等级类勋章
发帖类勋章
0
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注21ic项目外包
扫码关注21ic视频号
扫码关注21ic抖音号
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才 | 论坛帮助
京公网安备 11010802024343号