打印

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

[复制链接]
1783|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值在程序其他地方有改过?

使用特权

评论回复
5
hdp7891000| | 2010-12-20 16:30 | 只看该作者
你的占空比不是很对吧,就一个0的时候才高?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

6

帖子

1

粉丝