找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1902|回复: 2
打印 上一主题 下一主题
收起左侧

单片机定时器脉宽和设定脉宽不一样,是哪有问题?

[复制链接]
跳转到指定楼层
楼主
51单片机使用定时器定时40微秒。C++; 累积255个清零。应该是10.2MS。一个周期。在C》=200,时LED=0;否就LED=1.使用防真一个周期只有3.57MS。这是什么问题?

关闭定时器使用机器周期累加和定时器是一样的效果。这是为什么?





void main()
{
        
        led0 = 0;
        led1 = 0;
        led2 = 0;
        TMOD = 0x02;        
  TH0 = 0x00;
  TL0 = 0xD8;
        TR0 = 1;
        while(1)
        {
                if(TF0==1)
                        {
                                C++;
                                if(C == 255) C = 0;   
                                if(C >= 200)  led0  = 0;  else led0 = 1;
                        }
        }
}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:97438 发表于 2017-9-18 14:38 | 只看该作者
你用的什么单片机?还有晶振频率?最好把代码贴出来看看。
回复

使用道具 举报

板凳
ID:149683 发表于 2017-9-18 14:53 | 只看该作者
luoluoluo136 发表于 2017-9-18 14:38
你用的什么单片机?还有晶振频率?最好把代码贴出来看看。

51单片机。实验板上的。12MHZ晶振。这就是全部代码了。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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