51定时器初值不可以用变量么?

[复制链接]
 楼主| sankyo_feng 发表于 2011-9-8 08:18 | 显示全部楼层 |阅读模式
#include<reg52.h>
sbit pp20=P2^0;
int a;
void main(void)
{
   a=250;
   TH0=(65536-250)/256;
   TL0=(65536-250)%256;
   TMOD=0X01;
   ET0=1;
   EA=1;
   TR0=1;
      while(1)
   {
    ;
    }
}
void time(void) interrupt 1
{
   TH0=(65536-a)/256;
   TL0=(65536-a)%256;
      a=a-10;
      if(a<5)
       {a=5;}
   pp20=~pp20;

}
初值用了变量a,可以P20的脉冲输出没有变化?为何?
dengm 发表于 2011-9-8 14:07 | 显示全部楼层
应该变一点点,  很难测量出来的!!!
 楼主| sankyo_feng 发表于 2011-9-8 14:22 | 显示全部楼层
为什么?变化挺大啊!
yumpie 发表于 2011-9-8 19:45 | 显示全部楼层
可以,不过250 时间太短了吧,应该用个大点的值,步长也应该大点
 楼主| sankyo_feng 发表于 2011-9-9 08:09 | 显示全部楼层
知道问题出在哪了,谢谢!
谢谢分享 发表于 2011-9-9 08:57 | 显示全部楼层
分享出来、、
日暮惜乔 发表于 2013-1-14 20:09 | 显示全部楼层
能告诉我解决方法吗???我也遇到了相同的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

203

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部