找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3001|回复: 4
收起左侧

c语言定时器T0方式2控制led点亮时间1s 仿真led闪得很快

[复制链接]
ID:893765 发表于 2021-4-30 10:28 | 显示全部楼层 |阅读模式
想知道自己的代码问题出在哪里
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
uchar count=0;
uchar led;
void time0(void)interrupt 1
{   TH0=-100000/250;
    TL0=-100000%250;
    count++;
    if(count==10)
    { count=0;
      led=_crol_(led,1);
      P1=led;
    }
}
void main(void)
{  led=0xfe;
   TMOD=0x02;
   TH0=-100000/250;
   TL0=-100000%250;
   ET0=1;
   TR0=1;
   EA=1;
   while(1);
}

回复

使用道具 举报

ID:275826 发表于 2021-4-30 13:19 | 显示全部楼层
  把TH0=-100000/250;   TL0=-100000%250; 改成TH0=-10000/256;   TL0=-10000%256;
再把if(count==10)改成if(count==100) 就可以了
回复

使用道具 举报

ID:893765 发表于 2021-4-30 14:43 | 显示全部楼层
tyrl800 发表于 2021-4-30 13:19
把TH0=-100000/250;   TL0=-100000%250; 改成TH0=-10000/256;   TL0=-10000%256;
再把if(count==10)改 ...

还是很快 话说方式2最多255us吧 不知道怎么办
回复

使用道具 举报

ID:213173 发表于 2021-4-30 18:11 | 显示全部楼层
田所浩二单推人 发表于 2021-4-30 14:43
还是很快 话说方式2最多255us吧 不知道怎么办

定时器方式2是8位自动重装初值模式,12M晶振最大256us。并且TH0=TL0,如果预装值6,可以定时250us,定时1秒需要累加中断4000次。
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. unsigned int count=0;//无符号整型数据(16位)
  5. uchar led;
  6. void time0(void)interrupt 1
  7. {
  8. //无需再对TH0 TL0 赋值
  9.         count++;
  10.         if(count==4000)
  11.         {
  12.                 count=0;
  13.                 led=_crol_(led,1);
  14.                 P1=led;
  15.         }
  16. }
  17. void main(void)
  18. {
  19.         led=0xfe;                //赋初值
  20.         P1=led;
  21.         TMOD= 0x02;                //设置定时器自动重装模式
  22.         TL0 = 0x06;                //设置定时初值
  23.         TH0 = 0x06;                //设置定时重载值
  24.         TR0 = 1;                //定时器0开始计时
  25.         ET0=1;
  26.         EA=1;
  27.         while(1);
  28. }
复制代码
回复

使用道具 举报

ID:893765 发表于 2021-5-1 21:23 | 显示全部楼层
wulin 发表于 2021-4-30 18:11
定时器方式2是8位自动重装初值模式,12M晶振最大256us。并且TH0=TL0,如果预装值6,可以定时250us,定时1 ...

谢谢您!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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