全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版

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

[复制链接]
5184 2

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

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

x
#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;
                  }
       }
        }         
        }

举报

回复

2 个评论

张***  新手上路  发表于 2016-12-23 21:02:18  | 显示全部楼层
本帖最后由 张伟灵 于 2016-12-24 20:34 编辑

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

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表