MSP430学习笔记(二)

第二章 中断

中断边缘选择寄存器PxIES

Bit = 0 上升沿触发
Bit = 1 下降沿触发
注意:当向PxIES写入时,当前的PxIN状态将会影响中断触发

PxIES PxIN PxIFG
0→1 0 触发
0→1 1 不触发
1→0 0 不触发
1→0 1 触发

中断使能寄存器PxIE

BIT = 0 中断不使能
BIT = 1 中断使能

中断标志寄存器PxIFG

BIT = 0 中断未发生
BIT = 1 中断已发生

注意:要使用中断,首先添加头文件#include "msp430.h" 然后_EINT(); 打开中断总开关
以下为P1.1开启中断初始化语句:

  P1IE |= BIT1;    //中断使能
  P1IES |= BIT1;   //选择下降沿触发
  P1IFG &= ~BIT1;  //清除中断标志位
  P1REN |= BIT1;   //设置p1.1为上拉电阻使能
  P1OUT |= BIT1;   //将P1.1输出拉高

以下为中断服务子程序示例,注意要手动清除中断标志位:

#pragma vector = PORT1_VECTOR
__interrupt void P1_IRQ(void)
{
    
    
  delay(255);       //按键消抖,延时程序自写
  if(P1IFG&0x02)	//判断中断来源
  {
    
    
    P4OUT^=BIT7;    // 翻转输出
    P1IFG &= ~BIT1; //清除中断标志位
    
  }  
}

猜你喜欢

转载自blog.csdn.net/qq_43710693/article/details/104094944
今日推荐