找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9734|回复: 6
收起左侧

关于 定时器 控制 LED的一些 菜问题,请求解答 。。。

[复制链接]
ID:3295 发表于 2008-7-31 20:08 | 显示全部楼层 |阅读模式

#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 赋值了呢  ??
回复

使用道具 举报

ID:3271 发表于 2008-8-1 13:08 | 显示全部楼层
书写有问题
回复

使用道具 举报

ID:34 发表于 2008-8-1 13:16 | 显示全部楼层
你的这个程序只能是闪一下!就没了!
因为你的WHILE(1)!!!
回复

使用道具 举报

ID:10777 发表于 2009-4-6 11:19 | 显示全部楼层
 TR0=1;

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

把这个写在while(1)内
回复

使用道具 举报

ID:6343 发表于 2009-4-19 22:40 | 显示全部楼层
yes
中断时只是闪一下
回复

使用道具 举报

ID:11584 发表于 2009-4-22 13:38 | 显示全部楼层
这样写,是只闪一下,主要是变量tt的值一直加,加到20闪一下,之后再加,一直加到255后,溢出,然后再加到20才闪。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表