中断产生的PWM控制LED,怎么成了闪灯呢.

[复制链接]
2685|4
 楼主| 纳米半导体 发表于 2010-12-20 12:08 | 显示全部楼层 |阅读模式
各位高手:我用1602+PCF8563写了一个时间,时间好不容易完了.按键方面用到了定时器T0,还有一个T1没有用到,就想用来控制1602的背光灯(彩灯),由亮变暗,想起来可以,于是就有了下面这代码...
void t0(void)interrupt 1
{
      TH0=(65536-1000)/256;
      TL0=(65536-1000)%256;
       cnt++;
       if(cnt>=20) cnt=0;
       if(cnt>=1) P1_0=0;
       else P1_0=1;
}
但问题也就来了..单独新建一个工程运行.还可以.但在我把他放在我的时间里很显的感觉就是定时间超过了1MS.可能是几秒,P1_0输出便成了闪光灯:L

说明一下.我是新手,用的DELAY1MS();有点多,但都在主函数里用.中断里没有用过.就上面那代码我也没有用到啊,为什么时间变长了很多呢,请高手,解释一下..新手谢过....
liang7143 发表于 2010-12-20 13:03 | 显示全部楼层
仔细查查程序,应该是结构的问题
coody 发表于 2010-12-20 13:32 | 显示全部楼层
程序问题
liumapple 发表于 2010-12-20 14:04 | 显示全部楼层
CNT值在程序其他地方有改过?
hdp7891000 发表于 2010-12-20 16:30 | 显示全部楼层
你的占空比不是很对吧,就一个0的时候才高?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

6

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部