51单片机中断设置

外部中断系统框图:

这些中断请求源的中断请求标志位分别有特殊功能寄存器TCON和SCON的响应位锁存

1、TCON寄存器

与中断有关的是低四位。

1)IT0和 IT1——外中断请求触发标志位:

      0——为低电平触发;

     1——为下降沿触发

    可由软件置位和清除

2)IE0 和 IE1——外部中断请求标志位

     1——表示有中断请求,CPU要响应中断请求,跳向中断服务程序,按优先级处理中断程序,跳入中断服务程序时,由硬件清0;

      0——表示没有中断请求。

复位值TCON都为0。

SCON为串口控制寄存器,详见串口。

2、中断允许寄存器IE,可以位寻址,复位为0:

各位为1时允许相应位的中断,为0时禁止响应中断。EA是总中断开关。

注意: 单片机响应外部中断后,会自动将外部中断标志位清0,。但由于外部中断请求触发方式的特点,在使用外部中断中要避免重复请求问题。

外部中断0编程步奏;

1、设置外部中断请求允许位,设置IE寄存器中的EA EX0位;

2、选择合适的外部中断请求方式,即设置TCON中的IT0 (或者IT1);

3、编写中断服务函数。

实例:

main()

{

    IT0 = 1; //设置外中断0为下降沿触发    
    EX0 = 1; //开放外部中断0
    EA = 1; //开总中断
    
 
    while (1)
        ;
   }
void ext_interrupt(void)  interrupt 0
{
    delay(5);
    if (button0 == 0) {
        led = !led;
    }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章