标题: 关于 定时器 控制 LED的一些 菜问题,请求解答 。。。 [打印本页]

作者: zlq999    时间: 2008-7-31 20:08
标题: 关于 定时器 控制 LED的一些 菜问题,请求解答 。。。

#include <reg52.h>
sbit D1=P1^0;
unsigned char tt;
void main()
{
   D1=1;
   tt=0;
   EA=1;
   ET0=1;
   TMOD=0x01;
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   TR0=1;

   if(tt==20)
     D1=!D1;
        
  while(1);


  

}

void time0() interrupt 1
{

   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;

   tt++;
}



这个程序错在什么地方了呢 ,是不是用定时器 就不能直接给 LED 赋值了呢  ??
作者: a13758777532    时间: 2008-8-1 13:08
书写有问题
作者: 纳米小芯    时间: 2008-8-1 13:16
你的这个程序只能是闪一下!就没了!
因为你的WHILE(1)!!!
作者: chenkesu    时间: 2009-4-6 11:19
 TR0=1;

   if(tt==20)
     D1=!D1;

把这个写在while(1)内
作者: 天天下雨    时间: 2009-4-19 22:40
yes
中断时只是闪一下
作者: william    时间: 2009-4-22 13:38
这样写,是只闪一下,主要是变量tt的值一直加,加到20闪一下,之后再加,一直加到255后,溢出,然后再加到20才闪。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1