为什么定时器1管住了外部中断0?

2019-03-24 18:42发布

当运行程序时,P0^0在闪?
程序如下:
#include <reg51.h>
#include <string.h>

#define uchar unsigned char
#define uint unsigned int


sbit issue_exist_flag=P0^0;


/*延时子程序*/
void delay_ms(uint t)  //约延时n(ms)
{
  uint i;
  while(t--)
  {
    for(i=0;i<125;i++){}
  }
}


void t_init()
{
  TMOD=0x21;   //定时器  方式1
  TH0=(65536-50000)/256;  TL0=(65536-50000)%256;
  TH1=0xff;  TL1=0xff;
  EA=1;ES=1;ET1=1;EX1=1;ET0=1;//EX0=1;
  TR0=0;
  TR1=1;
  IT0=1;IT1=1;
  SCON=0x70;
  PCON=0x80;
}

void isr() interrupt 0
{
  issue_exist_flag=1;
  delay_ms(1000);
  issue_exist_flag=0;
  delay_ms(1000);
}
void main()
{
  t_init();
  while(1)
  {

  }
}



51单片机和PROTUES文件在附件中。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。