1217|0

1140

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

MSP430F5529 上手小例程 [复制链接]

 将F553 设置按键脉冲
按下P1.1,P1.4产生一个脉冲,时间为5s
按下p2.1,P1.4产生一个脉冲,时间为1.2s
#include <msp430.h> 
#include <msp430f5529.h>

/**
* main.c
* 将F553 设置按键脉冲
* 按下P1.1,P1.4产生一个脉冲,时间约为5s
* 按下p2.1,P1.4产生一个脉冲,时间约为1.2s
*/
int main(void)
{
   WDTCTL = WDTPW | WDTHOLD;   // stop watchdog timer

//设置输入输出
   P2DIR &= ~BIT1;
   P1DIR &= ~BIT1;
   P1DIR |= BIT4;
   P4DIR |= BIT7;

//按键无预先设置的值,故先将悬空设为1,防止之前为0。P1.1,P2.1按键
   P1OUT |= BIT1;
   P2OUT |= BIT1;

//设为输入时必须加上此寄存器配置(上下拉电阻)
   P1REN |= BIT1;
   P2REN |= BIT1;

//中断允许,下降沿中断

   P1IE |= BIT1;
   P2IE |= BIT1;
   P1IES |= BIT1;
   P2IES |= BIT1;
   P1IFG &= ~BIT1;
   P2IFG &= ~BIT1;

   _EINT();

   return 0;
}

#pragma vector = PORT1_VECTOR
__interrupt void PORT1(void)
{
   if(!(P1IN & BIT1))      //按下按键P1.1,
   {
       P1OUT |= BIT4;      //P1OUT寄存器的第5位置一,P1.4电压抬高
       __delay_cycles(5000000);
       P1OUT &= ~BIT4;
   }
   P1IFG &= ~BIT1;
}

#pragma vector = PORT2_VECTOR
__interrupt void PORT2(void)
{
   if(!(P2IN & BIT1))
   {
       P4OUT |= BIT7;
       __delay_cycles(120000);
       P4OUT &= ~BIT7;
   }
   P1IFG &= ~BIT1;
}

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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