MSP430F5529 (一)通用I/O口的设置-2

发布者:WhisperingGlow最新更新时间:2015-08-20 来源: eefocus关键字:MSP430F5529  通用IO口  设置 手机看文章 扫描二维码
随时随地手机看文章
这一部分讲外部中断。
看介绍再加弄懂程序才是王道
外部中断是MSP430优先级最低的中断而且是可屏蔽中断。用起来比较简单。
 
1.2.7  简单的端口中断(外部中断)
                     P1、P2的所有端口都具有中断能力,可以通过寄存器PxIFG,PxIE和PxIES来配置。其他端口则需参照具体的引脚说明书。所有的P1中断标志是最优先的(相比其它引脚的外部中断),其中P1IFG.0又最优。
                     PXIV中断向量寄存器:只有P1IV和P2IV。最高优先级使能中断在P1IV寄存器中产生一个序号,这个数字会被程序计数器识别或者加入其中,然后自动的执行合适的中断服务程序。关闭P1口中断不会影响P1IV寄存器中的值。P2口具有相同的功能。PxIV寄存器只能字访问。
                     PxIFGx  中断标志寄存器:只有相应的中断使能PXIE打开且总中断GIE打开,该寄存器才有效。
                                   低电平表示没有中断请求等待响应;
                                   高电平表示有中断请求等待响应;
                            注意:使用端口的中断功能期间,如果进行PXIN、PXOUT等操作可能使中断变化。
注意:中断标志需要软件清零。有一种情况例外:两个中断同时发生,先响应优先级高的中断,当该中断服务程序结束后,该位的中断标志会自动清零,然后去响应另外一个中断。
 
PxIE    中断使能寄存器
                                   低电平表示中断关闭;
              高电平表示中断允许;
PXIES  中断触发方式选择寄存器
                                   低电平表示上升沿触发;
                                   高电平表示下降沿触发;

外部中断应用示例:/*采用中断的方式,开关S2(接于P2.2)控制LED(接于P1)一个一个点亮(看PCB图接线)*/
#include  
int s=0;    //s用来表示按键次数
int num =0; //num表示LED值
void main(void){
   WDTCTL=WDTPW+WDTHOLD; //关闭看门狗
   P1DIR=0xff;   //P1全部接输出
   P1OUT=0x00;        //接LED初始化故全拉低,这样开始灯是灭的
   P2DIR=0x00;        //P2全部设为输入。因为要接受外部中断
   P2IFG=0x00;        //清除P2口的中断标志
   P2IE=BIT2;         //P2.2开启中断
   P2IES=0xff;     //P2为下降沿触发
   P2IN=BIT2; //P2.2输入拉高,因此开关闭合时会拉低产生下降沿(即中断)
   P2OUT=0xff;
   P2REN=0xff;     //作为输入的时候一定要配置上拉电阻(很重要,容易忘记,我就在这错了-_’)
   __enable_interrupt(); //开总中断
   while(1)
{
      num=s%5;
      switch(num){
         case 0:P1OUT=BIT1;break;
         case 1:P1OUT=BIT2;break;
         case 2:P1OUT=BIT3;break;
         case 3:P1OUT=BIT4;break;
         case 4:P1OUT=BIT5;break;}}}
#pragma vector=PORT2_VECTOR     //固定格式,声明中断向量地址
__interrupt void Port2_ISR(void)  {//中断子程序
      unsigned int temp;    //局部变量
      int i;
      for(i=0;i<12000;i++); // 延时消抖
      if((P2IN&0xff)!=0xff){   //如果有键按下
         temp=P2IFG;        //读取中断标志
         P2IFG=0x00;        //标志位清零
         if(temp==0x04)     //如果P2.2产生中断
            s++;}} //这一部分其实有几句话很多余,主要是为了体现每个端口中断的知识
备注中断子程序调用格式:
#pragma vector=中断向量地址
__interrupt void 中断服务程序名(void) 

//中断处理程序
 } 
1.2.8  未使用的I/O
                     未使用的I/O管脚最好被设置为普通I/O功能、输出方向并且在PCB板上不连接这些管脚,以防止浮动的输入和降低功耗。因为这些管脚没有被连接,所以它们的输出值没有必要在意。或者可以通过设置未使用管脚的PxREN寄存器来使能置高/置低寄存器以避免浮动输入的干扰。
关键字:MSP430F5529  通用IO口  设置 引用地址:MSP430F5529 (一)通用I/O口的设置-2

上一篇:MSP430F5529 (二)看门狗的设置
下一篇:MSP430F5529 (一)通用I/O口的设置-1

推荐阅读最新更新时间:2024-03-16 14:29

约束设置与逻辑综合在SoC设计中的应用
  摘 要: 介绍了约束设置与逻辑综合在SoC设计中的应用,并以一款SoC芯片ZSU32的设计为例,详细讨论了系统芯片的约束设置与逻辑综合策略。   系统芯片SoC是目前超大规模集成电路设计的发展趋势,其集成度高、功能复杂、时序要求严格。逻辑综合是SoC设计不可缺少的一环,它是将抽象的以硬件描述语言所构造的模型转化为具体的门级电路网表的过程。逻辑综合的质量直接影响芯片所能达到的性能,因而在综合过程中必须根据设计要求在时序、面积和功耗方面设置正确的约束。   本文针对中山大学ASIC设计中心自主开发的一款系统芯片ZSU32,以Synopsys公司的Design Compiler为综合工具,探索了对SoC芯片进行综合的设计流程和方
[嵌入式]
约束<font color='red'>设置</font>与逻辑综合在SoC设计中的应用
MSP430F5529定时器中断
计时器中断控制LED灯亮灭 void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 // get_clk(); P1DIR |= 0x01; // 将P1.0设为输出 TA0CCTL0 = CCIE; // CCR0中断允许 TA0CCR0 = 50000; TA0CTL = TASSEL_2 + MC_1 + TACLR; // 参考时钟选择SMCLK, 增计数模式, 清除TAR计数器 __bis_SR_register(LPM0_bits + GIE); // 进入LPM0并使能全局中断 } //TA0中断服务程序 #pragma vector=TIMER0_A0_VECTOR
[单片机]
S3C2440裸机------LCD_LCD设置
1.lcd_4.3.c 首先我们根据芯片手册对LCD所需要的参数赋初值。 #define LCD_FB_BASE 0x33c00000 lcd_params lcd_4_3_params = { .name = lcd_4.3 .pins_polarity = { .de = NORMAL, /* normal: 高电平时可以传输数据 */ .pwren = NORMAL, /* normal: 高电平有效 */ .vclk = NORMAL, /* normal: 在下降沿获取数据 */ .rgb = NORMAL, /* normal: 高电平表示1 */ .hsync = INVERT, /*
[单片机]
S3C2440裸机------LCD_LCD<font color='red'>设置</font>
05:OLED模块【MSP430F5529
实物图 下面图片中,可以看到OLED模块的四个接口:GND,VCC,SCL,SDA 字模取字 字模软件 PCtoLCD2002,直接百度搜索软件进行下载。 取模步骤 1.设置软件 点“设置” 点阵格式:阴码 取模方式:列行式 每行显示数:16、16 取模走向:逆向 输出数制:十六位进制数 自定义格式:C51 像素大小:10 可参考下列图片进行设置 2.取模 点击“文件”,再点击“新建”,设置新建图像尺寸16*16,再点“确定”,然后会出现一个第二张图片的这个东西,再到上面画你想显示的字符或者图案了(只有一个字的大小的图案)。点鼠标左键为放置,右键为取消。 3.输出数据 绘制结
[单片机]
05:OLED模块【<font color='red'>MSP430F5529</font>】
STM32 SPI通信时钟极性和相位设置
通过 SPI_CR1 寄存器中的 CPOL 和 CPHA 位,可以用软件选择四种可能的时序关系。 CPOL(时钟极性)位控制不传任何数据时的时钟电平状态。此位对主器件和从 器件都有作 用。如果复位 CPOL,SCK 引脚在空闲状态处于低电平。如果将 CPOL 置 1,SCK 引脚在 空闲状态处于高电平。 如果将 CPHA(时钟相位)位置 1,则 SCK 引脚上的第二个边沿(如果复位 CPOL 位,则 为下降沿;如果将 CPOL 位置 1,则为上升沿)对 MSBit 采样。即,在第二个时钟边沿锁存 数据。如果复位 CPHA 位,则 SCK 引脚上的第一个边沿(如果将 CPOL 位置 1,则为下降 沿;如果复位 CPOL 位,则为
[单片机]
示波器的触发功能怎么设置
触发设置指示示波器何时采集和显示数据。例如,可以设置在遇到模拟通道 输入信号的上升沿时触发。通过旋转 触发电平 旋钮,可以调整用于模拟通道边沿检测的垂直电平。 除边沿触发类型外,还可以设置根据上升/下降时间、第 N 个边沿猝发、码型、脉冲宽度、矮脉冲、设置和保持冲突、TV 信号和串行信号触发(如果安装了选件许可证)。 示波器一共有11类触发:边沿触发、依次按边沿触发、脉冲宽度触发、码型触发、或触发、上升/下降时间触发、第N个边沿触发、矮脉冲触发、建立和保持触发、视频触发、串行总线触发。示波器默认的通常都是边沿触发。他们有什么区别?又怎样设置呢? 什么是触发? 即使用者设定一个条件,当被测信号 满足该条件的时候,示波器被
[测试测量]
示波器的触发功能怎么<font color='red'>设置</font>
如何为波特图设置频率响应分析仪
  环路增益是描述开关模式电源特性的一个重要参数。使用频率分析仪来测定环路增益能让您稳定电源并优化瞬态响应。   在测定波特图之前,您需先断开环路并在断点处插入一个小型电阻器,如图1所示。该频率分析仪有一个信号源,可跨该小型电阻器注入交流(AC)干扰信号vds。   图1:典型的波特图测定设置   其结果是,AC波动出现在跨该断点的两个节点(A和B)处。该频率分析仪具有两个接收器,能测量节点A和节点B处的信号vA和vB。您可用方程式1计算出该系统环路增益TV:   方程式1   为了准确测量TV,该分析仪必须准确测量vA和vB。频率分析仪接收器已限制了信号测量分辨率。在本文中,笔者将用来自AP Instruments公司
[测试测量]
如何为波特图<font color='red'>设置</font>频率响应分析仪
DXOMARK:视频测试采用最佳视频质量设置
此前小米9给DXOMARK送测的时候,就鸡贼的把视频拍摄默认为4K画质,最后测试结果出来后,小米9因为默认4K,得分第一,但是除了小米之外的友商在视频拍摄全部是默认1080P......因此小米在视频拍摄上的得分是最高的,友商排名只能靠后。 不少手机同行看了小米9因默认4K录像而喜提DXOMARK榜单第一名的行为,真是有些又气又恨,于是乎我们在网上看到不少吐槽小米此举不地道的言论,不过因为有小米这个始作俑者,所以后续的厂商们也跟着送测DxOMark时,默认4K录像了,比如三星Galaxy S10 5G、一加7 Pro等。 随着越来越多的手机厂商效仿小米的行为,这让DXOMARK官方坐不住了,开始修改视频测试的
[手机便携]
DXOMARK:视频测试采用最佳视频质量<font color='red'>设置</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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