MSP430F149按键中断寄存器配置

本文介绍了如何在MSP430F149微控制器上配置P1端口的中断,特别是针对P11按键。通过设置P1IE、P1IES和P1IFG寄存器,实现按键按下一次导致LED状态反转的中断功能。在配置过程中,强调了开启全部中断的重要性,并提及中断响应函数的定义。
摘要由CSDN通过智能技术生成

P20~P23为LED,P11为按键。按下为低电平。

使用中断函数按下一次按键则LED状态反转一次。

#include "io430.h"
#include "in430.h"

void select_xt2(void){
  unsigned char i;
	/*------选择系统主时钟为8MHz-------*/
    BCSCTL1 &= ~XT2OFF;                 	
    do{    
        IFG1 &= ~OFIFG;                 	//清除晶振失败标志
        for (i = 0xFF; i > 0; i--);     //等待8MHz晶体起振
    }while ((IFG1 & OFIFG));             		
    BCSCTL2 |= SELM_2 + SELS  ;        //MCLK和SMCLK选择高频晶振	
}

void main()
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  P1DIR = 0XFD;   //P1 in or out
  P1IE = 0X02;     //开启P1中断
  P1IES = 0X02;   //中断触发方式
  P1IFG = 0X00;   //中断标志清零
  
  P2DIR = 0XFF;
  P2OUT = 0XFF;
  _EINT();
}

#pragma vector = PORT1_VECTOR
__interrupt void PORT1_ISR(void)
{
  __delay_cycles(50000);
  if((P1IN&0X02) == 0)
    P2OUT = ~P2OUT;
  __delay_cycles(50000);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值