鱼C论坛

 找回密码
 立即注册
查看: 3140|回复: 3

关于定时器

[复制链接]
发表于 2012-8-8 17:25:32 | 显示全部楼层 |阅读模式
15鱼币
#include <reg52.h>

typedef unsigned char uchar;
typedef unsigned int    uint;
sbit LED = P1^0;

void main()
{
      uint counter = 0;
      TMOD = 0x01;                       //用的定时器T0
      TH0 = 0xB8;                           //定时器定时20毫秒,后面把20毫秒循环50次,成为一秒
      TL0 = 0x00;
      TR0 = 1;
      while (1)
      {
            if (1 == TF0 )
            {
                    counter++;
                    TH0 = 0xB8;
                    TL0 = 0x00;
                    TF0 = 0;
            }
            if (50 == counter)
           {
                    LED = ~LED;
                    counter = 0;
           }
     }
}

这是让第一个小灯亮不停的亮1秒灭1秒的闪烁,当我把TMOD = 0x01改为0x10,TH0,TL0改为TH1,TL1,即用T1定时器的时候,就不是1秒了,成亮0.44秒灭0.44秒了,两个定时器难道不一样吗?

最佳答案

查看完整内容

下面的溢出TF0也要改成TF1吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-8 17:25:33 | 显示全部楼层
下面的溢出TF0也要改成TF1吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-8-8 20:16:40 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-8-12 10:47:57 | 显示全部楼层
TF1和TF0操作完全一样......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-16 16:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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