專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

msp430 Input / Output Port

作者:佚名   來(lái)源:不詳   點(diǎn)擊數(shù):  更新時(shí)間:2014年08月31日   【字體:

 #include  <msp430x14x.h>

#include  "BoardConfig.h"
void DelayMs(unsigned int ms)
{
  unsigned char i;
  while(--ms)
  {
    for(i=110;i>0;--i);
  }
}
void main(void)
{
  BoardConfig(0xF7);
 // BoardConfig(0xb8);
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  //P3DIR |= BIT3;                            // Set P3.4 to output direction
  P2DIR |= 0xff;
  unsigned char i;
  for (;;)
  {
      for(i=0x01;i<0x80;i<<=1)
      {
        P2OUT = ~i;
        //WDTCTL = WDTPW + 0x0d;
        DelayMs(100);
      }
     
      for(i=0x80;i>0x00;i>>=1)
      {
        P2OUT = ~i;
        //WDTCTL = WDTPW + 0x0d;
        DelayMs(100);
      }     
  }
}
 
/////////////////////////////////////////////////////////////////
 
//用軟件定時(shí)使發(fā)光二級(jí)管閃爍。
 
#include <msp430x14x.h>
 
void main (void)
{
  unsigned int i;
  WDTCTL=WDTPW+WDTHOLD; // 關(guān)看門(mén)狗
  P3DIR |= 0X10; // P3.4作輸出
 
  while(1)
  {
    i=50000;
    P3OUT ^= 0X10;//低電平燈亮
    while(i--); // 軟件定時(shí)
  }
}
/////////////////////////////////////////////////////////////////////////////////////////
 
//按一次按鍵,對(duì)應(yīng)的發(fā)光二極管狀態(tài)改變一次。
#include <msp430x14x.h>
#include "BoardConfig.h"
void main(void)
{
  BoardConfig(0xf7);
  WDTCTL=WDTPW+WDTHOLD;
  P2DIR = 0XfF;
  P2OUT = 0Xff;
  P1OUT = 0xff;
  P1DIR = 0xf0 ; // All pins but button to output
  P1IES = 0x0f; // Button int on falling edge
  P1IFG = 0;
  P1IE = 0x0f; // enable P1.0--P1_3 interrupt
  _EINT(); // 開(kāi)總中斷
  while(1)
  _BIS_SR(LPM4_bits); // 進(jìn)入低功耗模式4
}
 
#pragma vector = PORT1_VECTOR
__interrupt void PORT1_ISR(void) // 鍵盤(pán)中斷
{
  unsigned int i;
  unsigned char temp;
  temp = P1IFG;
  for(i=0;i<0x1fff;i++); // 消抖
  if((P1IN&temp)==(!temp))
  {
    switch(temp)
    {
      case 1: P2OUT ^=0X01;break; //P4.4狀態(tài)改變,即LED1狀態(tài)改變
      case 2: P2OUT ^=0X02;break; //P4.4狀態(tài)改變,即LED2狀態(tài)改變
      case 4: P2OUT ^=0X04;break; //P4.4狀態(tài)改變,即LED2狀態(tài)改變
      case 8: P2OUT ^=0X08;break; //P4.4狀態(tài)改變,即LED2狀態(tài)改變
    }
  }
  P1IFG = 0; // 清除中斷請(qǐng)求位
}
關(guān)閉窗口

相關(guān)文章