请教各位大师 51定时器初值定义变量后没有变化呢?

[复制链接]
 楼主| wang_liang 发表于 2011-9-9 15:51 | 显示全部楼层 |阅读模式
#include <AT89X52.H>
#define   uint  unsigned  int
uint ps, s ;
void main()
{


s=500;

TMOD=0x01;

TH0=(65536-s)/256;

TL0=(65536-s)%256;

EA=1;

ET0=1;

while (1)

{


                          if(X1==0)S=90;



          f(X1==1)S=500;
      




};

}

void t0int()  interrupt 1
{


TH0=(65536-s)/256;

TL0=(65536-s)%256;



    if(ps!=2000)Y0=~Y0;




}
chen3bing 发表于 2011-9-9 16:31 | 显示全部楼层
没启动定时器。
sgj245609615 发表于 2011-9-10 10:22 | 显示全部楼层
得加个TR0=1; 语句
 楼主| wang_liang 发表于 2011-9-12 23:40 | 显示全部楼层
哦,我漏写了启动定时器了,我是说改变变量值后脉冲输出没有变化,而不用变量直接输入数值脉冲输出频率就有变化
Salfe 发表于 2011-9-13 22:48 | 显示全部楼层
依在下愚见,没有变化,毕竟S的初值并未放入循环之中!

评分

参与人数 1威望 +1 收起 理由
wang_liang + 1

查看全部评分

 楼主| wang_liang 发表于 2011-9-14 22:59 | 显示全部楼层
哦,我知道了!  多谢指教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

3

帖子

1

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