您的位置 首页 基础

根据MSP430G2553的IO外部中止装备阐明

基于MSP430G2553的IO外部中断配置说明-在Launchpad上有按键S2,接在P1.3口,当按下后P1.3将接入高电平,从而触发中断。
在实例代码中,配置了P1.3和P1.6的LED灯,当按下P1.3的按键产生中断,LED灯将切换点亮

这一篇文章将阐明MSP430G2553的IO中止装备,整个P1的IO都可以装备IO中止,但中止处理函数只要一个,MSP430和大多数MCU相同供给上升沿、下降沿挑选。

在Launchpad上有按键S2,接在P1.3口,当按下后P1.3将接入高电平,然后触发中止。

在实例代码中,装备了P1.3和P1.6的LED灯,当按下P1.3的按键发生中止,LED灯将切换点亮

1.按键的中止装备

要装备按键中止,需求先设置P1.3口为输入,而且设置上拉电阻以保证稳定性,

P1DIR &= ~BIT3;//设置P1.3为输入

P1REN |= BIT3;//启用P1.3电阻

在启用电阻后,由P1OUT来装备下拉仍是上拉

P1OUT |= BIT3;//设置上拉电阻

经过P1IES寄存器设置上升沿,0为下降沿

P1IES |= BIT3;//P1.3中止边际挑选

需求对P1的中止进行使能,除了这儿还有总中止需求使能(在main函数中)

P1IE |= BIT3;//P1.3中止使能

=====================================================================

2.中止处理函数

在中止处理函数中处理LED程序

编译器指示

#pragma vector=PORT1_VECTOR

__interrupt void PORT1_ISR(void)

{

delay(100);//约100ms

P1OUT ^= (1《《6);//反向P1.0和P1.6

P1OUT ^= (1《《0);

P1IFG = 0;//铲除中止标识

}

=====================================================================

源代码:

//P1.0———Red Led

//P1.3———Button

//P1.6———Green Led

#include “msp430g2553.h”

//称号:delay(int TIme)

//功用:延时程序

void delay(int TIme)

{

staTIc int i,j;

for(i=0;i

for(j=0;j《100;j++)

{

}

}

//称号:InitLed()

//功用:初始化LED

void InitLed()

{

P1DIR |= BIT0+BIT6;//设置BIT0和BIT6为输出

P1OUT &= ~0x01; //设置BIT0和BIT6低电平

P1OUT |= 0x40; //设置BIT0和BIT6低电平

}

//称号:IniTIOInterrupt()

//功用:初始化P1的按键中止装备

void InitIOInterrupt()

{

P1DIR &= ~BIT3;//设置P1.3为输入

P1REN |= BIT3;//启用P1.3电阻

P1OUT |= BIT3;//设置上拉电阻

P1IES |= BIT3;//P1.3中止边际挑选

P1IE |= BIT3;//P1.3中止使能

P1IFG = 0x00;//铲除中止标识

}

//称号:PORT1_ISR(void)

//功用:按键中止的处理函数

#pragma vector=PORT1_VECTOR

__interrupt void PORT1_ISR(void)

{

delay(100);//约100ms

P1OUT ^= (1《《6);

P1OUT ^= (1《《0);

P1IFG = 0;//铲除中止标识

}

int main( void )

{

WDTCTL = WDTPW + WDTHOLD;

InitLed();//初始化LED端口

InitIOInterrupt();//初始化IO中止

_EINT();//开总中止

while(1);

return 0;

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/346919.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部