OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5355|回复: 9

MSP430三个例子,高手勿喷!

[复制链接]

126

主题

820

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
发表于 2013-4-27 21:12:23 | 显示全部楼层 |阅读模式

第一
//output mode
#include "io430.h"
#include "intrinsics.h"

int main(void)
{
 WDTCTL=WDTPW+WDTHOLD;//禁止看门狗记数
 1DIR=0X41;//配置两个LED引脚为输出状态
 1OUT=0X01;//初始化LED状态
 while(1)
  {
   __delay_cycles(500000);
   P1OUT^=0X41;
   }
}



第二

//intput mode
#include "io430.h"
#include "intrinsics.h"

int main(void)
{
  WDTCTL=WDTPW+WDTHOLD;
  P1DIR=0X41;
  P1OUT=0X09;
  P1REN=0X08;
  while(1)
   {
    if(!(P1IN&0X08))
     {
       __delay_cycles(5000);
       if(!(P1IN&0X08))
         {
           while(!(P1IN&0X08));
            P1OUT^=0X41;
         }
       }
     }
}








第三
//INTERRRUPT mode
#include "io430.h"
#include "intrinsics.h"

int main(void)
{
 WDTCTL= WDTPW+WDTHOLD;
 1DIR=0X41;
 1OUT=0X09;
 1REN=0X08;//设置上拉电阻
 1IE|=0X08;
 1IES=0X00;
 1IFG=0X00;
 __enable_interrupt();
  while(1)
   {
     ;
    }

}

#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
  P1OUT^=0X41;
  P1IFG&=~0X08;


}

坚持学习!就能成功!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-4-27 21:14:21 | 显示全部楼层
绝对是顶,不是喷。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

126

主题

820

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
 楼主| 发表于 2013-4-27 21:25:50 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
多谢
坚持学习!就能成功!
回复 支持 反对

使用道具 举报

126

主题

820

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
 楼主| 发表于 2013-4-27 21:39:24 | 显示全部楼层

按按扭P1.3,同时点亮或者熄灭两个LED

#include "msp430g2231.h"


void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD; 
  P1DIR&=~BIT3;         //P1.3为输入
  P1SEL&=~BIT3;
  P1REN|= BIT3;         //P1.3加上拉电阻
  P1OUT|=BIT3;         
 
  P1DIR|=BIT0+BIT6;
  P1OUT|=BIT0+BIT6;
 
  P1IE|=BIT3;           //P1.3设中断
  P1IES|=BIT3;   //上升沿中断
  P1IFG=0;              //中断清零
 _BIS_SR(LPM0_bits+GIE);  //
  while(1);  
}
#pragma vector=PORT1_VECTOR
__interrupt void P1_3(void)
{
  unsigned int i;
  if (!(P1IN&BIT3))
  {    
    for(i=100;i>0;i--);
    if (!(P1IN&BIT3));//确认是否按下
    {   
    while(!(P1IN&BIT3));
    }
    for(i=100;i>0;i--);
    while(!(P1IN&BIT3));//确认是否松开
    P1OUT^=BIT6+BIT0;
  }
}

坚持学习!就能成功!
回复 支持 反对

使用道具 举报

10

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2012-11-24
在线时间
0 小时
发表于 2013-4-27 21:41:03 | 显示全部楼层
顶一个~加油~
回复 支持 反对

使用道具 举报

0

主题

17

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2013-4-22
在线时间
0 小时
发表于 2013-6-10 10:46:28 | 显示全部楼层
:)
回复 支持 反对

使用道具 举报

54

主题

537

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2012-2-27
在线时间
7 小时
发表于 2013-6-25 15:53:40 | 显示全部楼层
__delay_cycles(500000);

哥们这个哪来的
回复 支持 反对

使用道具 举报

126

主题

820

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
 楼主| 发表于 2013-6-25 17:33:48 | 显示全部楼层
怎么了?
回复 支持 反对

使用道具 举报

54

主题

537

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2012-2-27
在线时间
7 小时
发表于 2013-6-28 11:07:19 | 显示全部楼层
回复【8楼】1501697860:
---------------------------------
系统自带的延时函数么?
回复 支持 反对

使用道具 举报

126

主题

820

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
 楼主| 发表于 2013-6-28 11:52:46 | 显示全部楼层
应该是吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表