单片机——AT89C51——外中断、定时/计数器初始化

1.外中断

#代表0或1

必选: IT#  =  #    // 选择触发方式,0为电平触发方式,1为跳沿触发方式   

            EX#  =  1   // 外中断允许

            EA  =  1    // 总中断允许

可选: P#  =  #   // 再设一级优先级

2.定时/计数器

图来源于网络

必选:

  //   以T0为例:

  TMOD=0x01;     //选择使用T0还是T1;设为定时器还是计数器(c/t);选择工作方式;选择开启限制

  TH0=0xee;

  TL0=0x00;     //设置初值

   TR0=1;     // 开启使用(gate为0下,只由此处控制)

可选:

    ET0=1;  // 中断允许

    EA=1;  // 总中断允许

    

另:中断函数写法

void 任意名字 (void ) interrupt 0~4  using  1~4   

{

}

//  参数为空;interrupt后的数字,用来确定是谁的中断 { 0=外0,1=T0,2=外1,3=T1,4=串口  }

// using选工作栈,也可不写

                 

猜你喜欢

转载自blog.csdn.net/u013595395/article/details/84558055