历史上的今天

今天是:2025年02月08日(星期六)

正在发生

2020年02月08日 | MSP430G2553(一)IO外部中断说明

发布者:Changfeng520 来源: eefocus关键字:MSP430G2553  外部中断 手机看文章 扫描二维码
随时随地手机看文章

这一篇文章将说明MSP430G2553的IO中断配置,整个P1的IO都可以配置IO中断,但中断处理函数只有一个,MSP430和大多数MCU一样提供上升沿、下降沿选择。


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


所有寄存器的具体名称和地址,可以查看M430G2553 datasheet 第 21页中对于P1的寄存器定义


在实例代码中,配置了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;

}

关键字:MSP430G2553  外部中断 引用地址:MSP430G2553(一)IO外部中断说明

上一篇:MSP430利用IO中断方式来实现按键检测
下一篇:MSP430的IO配置

推荐阅读

2月8日消息,亚马逊正在设计的这个机器人“postmen”又有哪些独特之处呢?据了解,它可以随时送货上门,甚至可以打开智能门锁,这感觉就像是外挂了AmazonKey的送货机器人一样,就算你没在家,它也能将物品送到你家里。今日的机器人行业还有哪些值得关注的重要内容呢?下面一起来了解详情。机器人写春联见过没?宛如书法家这场人机同台比拼,吸引了不少群众...
2019年2月4日,达尔科技(Diodes)宣布和德州仪器(TI)已达成收购协议,将收购德州仪器位于苏格兰格里诺克的晶圆制造厂GFAB。预计将于2019年第一季度末完成。 GFAB的占地面积为318782平方英尺,洁净室面积82226平方英尺,月产能为21666片约当8英寸晶圆(或256000个等效8寸光罩层)。达尔科技将承接GFAB的所有员工,在德州仪器转移GFAB的产品到其他晶圆厂...
一、目的由于项目需求,要实现S3C2440串口与PC机的通讯。通过实验手册上的串口通讯示例了解串口的工作原理,实现简单的串口通讯实验。为进一步利用串口编程实现更加复杂的功能做准备。实验效果:PC机上按下任意键,通过串口将字符传送至2440,2440又通过串口返回至PC机,并在DNW终端或超级终端显示该字符。二、实验原理PC机 <-------> S3C2...
随着无人驾驶的兴起及自动化程度的提高,传感器在各领域发挥着不可替代的作用。激光雷达通过多束激光高频发射获取的反射数据形成周边物体的高清3D的“点云”图像,激光雷达已经被广泛认为是实现无人驾驶的必要传感器。以车载系统为例,激光雷达、毫米波雷达、超声波、摄像头、红外线等各类传感器作为 “人类的眼睛”存在,确定物体的位置、大小、外部形貌...

史海拾趣

小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻
厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved