打印

用两了定时器做方波信号的问题

[复制链接]
1684|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaohq|  楼主 | 2008-8-8 17:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用TIMER0定波形的周期(高电平时间+低电平时间),用TIMER1定高电平的时间,用中断方式,帮我看看程序那里有问题?
波形从P1.7输出.

#include<reg52.h>
#define uint unsigned int
sbit P1_7=P1^7;
uint count0;
uint count1;
void inter0()interrupt 1       /*timer0*/

  
  count0++;
  if(count0==10000)
  {
    P1_7=1;
    TR1=1;
 }
     TR0=1;
}
void inter1()interrupt 3       /*timer1*/
{
 
  count1++;
  if(count1==5000)
  {
  P1_7=0;
  
  }
  TR1=1;
}
void main()
{
     TMOD=0X22;
     TR0=1;
     TR1=0;
     EA=1;
     ET1=1;
     ET0=1;
    
     TH1=-1000/256;
     TL1=-1000%256;
     TH0=-1000/256;
     TL0=-1000%256;
     P1_7=0;
     while(1);
  }

相关帖子

沙发
computer00| | 2008-8-8 17:46 | 只看该作者

没有对count清0。

void inter0()interrupt 1       /*timer0*/

  
  count0++;
  if(count0>=10000)
  {
    P1_7=1;
    count0=0;
    count1=0;
  }
}

不要在中断中操作TR0和TR1,在main中设置TR0和TR1都为1即可

使用特权

评论回复
板凳
5880527| | 2008-8-8 19:55 | 只看该作者

一个就够了

使用特权

评论回复
地板
allen2006| | 2008-8-9 09:40 | 只看该作者

写这样的程序,一定是初学者

使用特权

评论回复
5
gaohq|  楼主 | 2008-8-9 13:07 | 只看该作者

感谢楼上几位!!!

4楼说对了,我刚学.才有N多幼稚的问题在这里麻烦各位.谢谢!!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

378

主题

3763

帖子

5

粉丝