MSP430 G2553 LaunchPad GPIO中断

发布者:清晨微风最新更新时间:2022-04-25 来源: eefocus关键字:MSP430  G2553  LaunchPad  GPIO中断 手机看文章 扫描二维码
随时随地手机看文章

P1、P2端口上的每个管脚都支持外部中断。P1端口的所有管脚都对应同一个中断向量(Interrupt Vector),类似的,P2端口的所有管脚都对应另一个中断向量;通过PxIFG寄存器来判断中断来源于具体哪个管脚。


相关的寄存器如下表所示。

  Register                          Short Form      Register Type      Initial State          
  Interrupt Flag  PxIFG  Read/write  Reset with PUC
  Interrupt Edge Select  PxIES  Read/write  Unchanged
  Interrupt Enable  PxIE  Read/write  Reset with PUC

PxIFG:中断标志,1表示有中断事件待处理

PxIES:中断边沿选择,0表示上升沿触发,1表示下降沿触发

PxIE:GPIO中断使能,0表示禁用,1表示使能

程序示例

利用板上S2按键控制LED1灯闪烁,每按下一次,LED1灯闪烁一次。该程序还缺少按键消抖的功能。(G2 LaunchPad Rev1.5上P1.3没有连接电容及上拉电阻


 1 #include "io430.h"

 2 

 3 #define LED1 BIT0

 4 #define PUSH2 BIT3

 5 

 6 //function declarations

 7 void delay(void);

 8 

 9 void main(void)

10 {

11     // Stop watchdog timer to prevent time out reset

12     WDTCTL = WDTPW + WDTHOLD;

13     

14     //set P1.3 to input with pullup

15     P1OUT = 0;

16     P1OUT |= PUSH2; //initialize the pullup state

17     P1REN |= PUSH2; //enable internal pullup

18     

19     //set P1.0 to output

20     P1DIR |= LED1; //P1.0 out to LED1, P1.3 remains input for PUSH2 button

21     

22     //set the interrupt registers

23     P1IES |= PUSH2; //select high -> low transition

24     P1IFG &= ~PUSH2; //clear the flag for P1.3 before enabling the interrupt,

25     // to prevent an immediate interrupt

26     P1IE |= PUSH2; //enable interrupt for P1.3

27     

28     __enable_interrupt(); //turn on the interrupts

29     

30     while(1)

31     {

32     }

33 

34 }

35 

36 void delay(void)

37 {

38     volatile unsigned int i;

39     for(i = 0; i < 50000; i++);

40 }

41 

42 //interrupt service routines

43 #pragma vector  = PORT1_VECTOR

44 __interrupt void P1_ISR(void)

45 {

46     if((P1IFG & PUSH2) == PUSH2)

47     {

48         P1IFG &= ~PUSH2; //clear the interrupt flag

49         

50         P1OUT |= LED1; //turn on LED1

51         delay();

52         P1OUT &= ~LED1; //turn off LED1

53     }

54     else

55     {

56         P1IFG = 0;

57     }

58 }


关键字:MSP430  G2553  LaunchPad  GPIO中断 引用地址:MSP430 G2553 LaunchPad GPIO中断

上一篇:MSP430 G2553 基本时钟模块+ (Basic Clock Module+)
下一篇:MSP430 G2553 LaunchPad设置GPIO

推荐阅读最新更新时间:2024-11-11 11:36

MSP430F5529火箭板 ---> 控制时钟系统输出频率实验(含时钟系统分析)
实验内容:上电控制MSP430F5529 Launch Pad上的主时钟系统达到25Mhz 实验准备: 1、硬件:MSP430F5529 Launch Pad 2、软件:Code Composer Studio集成开发工具(CCS) 3、提升MSP430F5529核心电压的办法及介绍请参考《MSP430F5529火箭板 ----> 关于核心电压提升实验(含电源管理模块和供电监控系统介绍)》文章链接link 一、时钟系统 1、MSP430F5529 Lanuch Pad晶振的物理层分析   在进入时钟系统之前我们先对MSP430F5529的时钟晶振做一个介绍。    MSP430F5529 Launch Pad 板载了1个3
[单片机]
<font color='red'>MSP430</font>F5529火箭板 ---> 控制时钟系统输出频率实验(含时钟系统分析)
MSP430F5529 入门心得
一、环境搭建 1.软件下载 本人使用的IAR开发MSP430,当然大家使用CCS也可以。我将IAR软件的安装包分享到评论区的链接中,如有需要自取。 2.安装方法 大家参考这篇文章即可 IAR7.8 安装教程 教程大家就按照这个来,在破解时一定要选择MSP430以免破解失败。 3.烧录程序配置 我们在接触新的开发板时,第一个碰到的问题就是如何烧录程序,JLINK? USB?还是有专门的烧录器? 烧录时,我们只用将开发板上的USB端口与PC段相连,电脑中自动就会下载相应的驱动。但是你写好了代码直接点击IAR中的烧录按钮,发现会碰到许多莫名奇妙的问题,如下所示。之所以碰到这些问题其实是我们IAR软件中有些东西
[单片机]
<font color='red'>MSP430</font>F5529 入门心得
MSP430F5438A Timer_A 操作实验
简介: 1,学会在比较和捕获模式下操作 Timer_A,熟练对寄存器进行配置 2,编程实现 Timer_A 定时 3,功能:Timer_A 在 TAR 计数相同间隔定时,当每次定时到来 LED1 亮(灭) 4,现象:LED1 相同频率闪烁 1,定时器 A 介绍: 定时器 A是一个十六位的定时/计数器,其捕获/比较寄存器多达七个。定时器 A 支持支持多重捕获/比较,PWM 输出和内部定时。定时器还有扩展中断功能,中断可以由定时器溢出产生或由捕获/比较寄存器产生。 定时器 A的特性包括: ○四种运行模式的异步 16 位定时/计数器 ○可选择配置的的时钟源 ○多达七个可配置的捕获/比较寄存器 ○可配置的 PW
[单片机]
<font color='red'>MSP430</font>F5438A Timer_A 操作实验
基于MSP430的直流接地检测系统
  直流电源系统主要负责为电力生产过程中的控制设备、保护设备等供电。绝缘性能下降和直流母线接地是直流电源系统常见的故障。一旦直流电源发生故障后,会影响控制设备和保护设备的正常工作,故障严重时甚至会导致控制设备的错误控制和保护设备的拒保护,从而引发生产事故。因此对直流电源系统的绝缘性能检测和接地检测是值得重视的问题。常见的直流接地检测系统,多采用平衡电桥原理检测母线的绝缘电阻,采用双频探测原理检测支路的绝缘电阻,并查找接地支路。但平衡电桥原理不能检测正负母线绝缘电阻等比例下降情况下的电阻值,而双频探测原理需要向系统中注入交流信号,会加大直流电源系统的纹波。本文介绍的直流接地检测系统采用“平衡-不平衡法”检测母线电压,采用漏电流传感器
[单片机]
基于<font color='red'>MSP430</font>的直流接地检测系统
msp430与TLC5620实现AD_DA
  刚刚弄了一个AD_DA的转换。拿来和大家分享一下。这个东西没有太多的使用价值,只是初学者的练手而已。   先说一下器件吧,话筒一个,LM324N放大器将一个,TDA2822音频放大器一个,扬声器一个(不要太大,耳麦上就可以),TLC5620与msp430学习板,电容、电阻自不用说。 框架图如下: 话筒 》LM324N 》msp430(ADC12) 》tlc5620 》TDA2822 》扬声器(输出) lM324N的电路图如下(由于没用PCB绘图,画的很难看,还请见谅) 关于TDA2822呢参照手册上的带你路途即可,这里不再画出。 下面是程序代码部分: //=====================
[单片机]
用<font color='red'>msp430</font>与TLC5620实现AD_DA
MSP430G2553单片机使用printf函数进行串口打印输出
以前在使用keil编写51单片机程序的时候,经常使用printf函数打印输出一些关键的过程数据到电脑,方便监控程序的运行状况。最近使用IAR for MSP430 调试 MSP430G2553 程序的时候,发现了一些小问题,MSP430G2553单片机并没有按照我的预期输出数据到电脑。 带着疑惑我查看了keil的帮助文件里面的printf函数说明,原来printf函数最终是调用putchar函数来实现打印输出字符的。 putchar,该函数将制定的表达式的值所对应的字符输出到标准输出终端上。表达式可以是字符型或整型,它每次只能输出一个字符。我们来看keil标准函数库里的putchar函数的函数体。 根据说明提示,我在
[单片机]
<font color='red'>MSP430</font>G2553单片机使用printf函数进行串口打印输出
基于MSP430F133单片机的改进型浮子式液位计
  在对传统浮子式液位计优缺点进行分析的基础上,介绍了采用TI公司MSP430F133单片机改进传统浮子式液位计液位测量的方法,给出了具体电路的设计方法和软件设计注意事项。   引言   为了用较低的成本完成大量程液位的长期可靠测量,笔者利用MSP430单片机的低功耗特性结合光电液位的绝对位置测量功能设计了一种新型液位计—磁光液位计,现简要介绍如下。   1 机械工作原理   本液位计同普通光电液位计一样有一个光电码盘(如图1所示),码盘白色部分反射光线,而黑色部分吸收光线,图2所示的光耦和图1所示的码盘间距约2mm,并采用圆心安装。光耦随电路板固定在液位计外壳上,液位变化时浮子牵引水位轮转动,安装在同一轴上的码盘也随水位
[单片机]
基于<font color='red'>MSP430</font>F133单片机的改进型浮子式液位计
基于uC/OS与MSP430的手持数据采集系统
摘要:本文介绍了使用TI公司的超低功耗MSP430单片机与uC/OS相结合设计数据采集系统的方法,采用了uC/OS的多任务的软件设计方式代替了传统的前后台式的嵌入式软件设计方法,使得软件系统模块化,并且克服了前后台式软件设计的弊端,增前了系统的实时性。 1前言 近年来随着IC设备功耗和体积的不断减小,手持设备的应用领域变的越来越广泛。但是另一方面,传统的前后台式的软件设计方法却限制了硬件系统功能的充分发挥,影响了系统的实时性与稳定性。本文介绍了一种基于嵌入式操作系统uC/OS上设计系统软件的方法,即克服了原有前后台式软件设计的一些弊端,又充分发挥了硬件特性,增强了系统稳定性,很好的解决了手持数据采集设备多任务软件系统实时性不强
[单片机]
基于uC/OS与<font color='red'>MSP430</font>的手持数据采集系统

推荐帖子

招人共同组建团队,不是外包,月五万,招有志者,共同创业,知识转化为金经,你不要看不起我们
团队公开所有源码,和调试技术,包括财务,所有的利润除去费用后,全属个人成员,优秀者我们重用招聘要求:* 热爱旭日TOP团队,坚信旭日TOP团队会象WinRAR那样装入每一台电脑!* 会做人,能做事,有敬业精神* 有五年以上C++编程工作经历,练VisualC++编程,有上万行代码的项目编程经验* 熟练使用常用的OD或CE调试工具有游戏反调试经* 熟练使用常用的反编译工具,具有一定的逆向分析能力*了解pe
tsfllf 嵌入式系统
请教一个CCS6.2,调用汇编的出错的问题
我在ADC初始化程序里加了一句汇编指令,asm(RPT#10||NOP);可是编译一直显示有错误,但我把该指令改为asm(”NOP);编译可以通过,但会有警告。实在不知道错误出在哪里了,有没有大神能指点一下啊,下面是出错的截图。初始化程序:voidInitAdc(void){externvoidDSP28x_usDelay(Uint32Count);//TopoweruptheADCtheADCENCLKbit
sizumiyazhao DSP 与 ARM 处理器
【ACM32G103RCT6开发板测评】+ RTC测试
测试ACM32G103RCT6的RTC时钟,设置和读取日期时间,串口和OLED显示。一、RTC时钟内部框图1.1、主要特性可计算00~99年之间的秒、分、时、日、周、月、年BCD时间显示自动闰年调整数字校准功能:通过调整最小时间单位(最大可调精度0.95ppm)来进行日历校准,调校后理论精度+/-0.477ppm周期唤醒中断闹钟功能可从管脚输出XTLF时钟信号供用户校准RTC计时器部分不复位2路输入上下沿(侵入)时间戳
TL-LED 国产芯片交流
出ST官方的STM8和STM32F0开发板,送几本书
不定期清理一下,现在用不到的都出了板子基本都没用过,都只通了一下电下面的书大多都是全新的,付邮费送,邮费一般是首重10块,超1KG5块哦了,洗洗睡,明天还要继续搬砖下面是淘宝链接出ST官方的STM8和STM32F0开发板,送几本书楼主,你好!请问书籍是送的吗?如果可以的话,我想要以下几本:1、ARMCortex-M0从这里开始2、模拟电子技术3、EAGLE电路原理图与PCB设计方法及应用4、嵌入式系统原理与实践会不会太贪心了!?谢谢!------------
石玉 淘e淘
动手学深度学习(八):计算机视觉
#(一)图像增广对图像进行随机变化(翻转和裁剪)能够扩大训练集的规模也能减少模型对某些属性的依赖,提高泛化能力.`torchvision.transforms`模块提供了翻转和裁剪的方法-`RandomHorizontalFlip()`50%几率使得图像向左或向右翻转-`RandomVerticalFlip()`50%几率使得图像向上或向下翻转-`RandomResizedCrop((200,200),scale=(0.1,1),ratio=(0.5,2))`
EliorFoy 嵌入式系统
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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