找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

为什么我用T1定时器比T0定时器,LED要闪烁快很多呢?

[复制链接]
zhouwy_88 发表于 2016-12-9 14:04:47 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
#include <reg52.h>
sbit LED=P1^0;        //指定LED为P10口
sbit LED1=P1^1;
      

  void main()
{
  unsigned char n=0; //定义一个无符号字符型变量 n ,记录TO定时器溢出次数
  unsigned char n1=0;



  TMOD=0x01;                   //设置TO定时器为模式1
  TH0=0xB8;                           //位TO赋初始值0x800
  TL0=0x00;
  TR0=1;                          //启动T0定时器
  TH1=0xB8;                           //为TO赋初始值0x800
  TL1=0x00;
  TR1=1;                          //启动T1定时器

while(1)
  {
   /* if  (TF0==1)                //判断定时器0是否溢出
     {
          TF0=0        ;                 //将定时器0清零
          TH0=0xB8;                 //为TO赋初始值0x800
          TL0=0x00;
          n++;                         //计数开始
          if (n>=50)     //判断n是否达到10次
             {
              n=0;                   // 达到10次后计数值清零
                  LED=~LED;           //  点亮LED
                  }
                 }         */

           if  (TF1==1)
                {
          TF1=0        ;
          TH1=0xB8;
          TL1=0x00;
          n1++;
      if (n1>=50)
                  {
                  n1=0;
                  LED1=~LED1;
                  }
       }
        }         
        }
张伟灵 发表于 2016-12-23 21:02:18 | 显示全部楼层
本帖最后由 张伟灵 于 2016-12-24 20:34 编辑

楼主没有中断服务吗?好像你还没开启定时器中断?
zrb5688 发表于 2017-1-3 07:40:35 | 显示全部楼层
TMOD=0x11;
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-23 06:34 , Processed in 0.060127 second(s), 12 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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