標題: msp430f5529簡易計數(shù)器 [打印本頁]

作者: sfbuyfsui    時間: 2020-4-29 19:34
標題: msp430f5529簡易計數(shù)器


#include "MSP430F5529.h"       //MSP頭文件
#include "key.h"               //包含按鍵檢測功能文件
#include "IIC.h"               //包含IIC通信功能與顯示函數(shù)文件

void IOInit();
  

  void IOInit(){   //初始化端口函數(shù)



/*******
  
獨立按鍵部分IO口定義填空

********/

//設(shè)置P1.1和P2.1為輸入模式
    P1SEL &= 0xFD;
    P1DIR &= 0xFD;
    P2SEL &= 0xFD;
    P2DIR &= 0xFD;

//設(shè)置P1.1和P2.1使能上拉/下拉模式
    P1REN |= 0x2;
    P2REN |= 0x2;
//設(shè)置P1.1和P2.1為上拉模式
    P1OUT |= 0x2;
    P2OUT |= 0x2;


/*********

LED燈部分IO口定義填空

*******/


//設(shè)置P1.0和P4.7為輸出模式
    P1SEL &= 0xFE;
    P1DIR |= 1;
    P4SEL &= 0x7F;
    P4DIR |= 0x80;
  }
int main( void )
{
  enum key_type key;
  unsigned long old_num=1;
  unsigned long pre_num=1;
  
  
  WDTCTL = WDTPW+WDTHOLD;  // Stop WDT

  LCD_Init();          //顯示屏初始化
  IOInit(); //初始化各種端口
  LCD_ShowNum(0,0,2020,5,16);  //初始化在(0,0)處顯示數(shù)字2019長度為5
  

  

  while(1)
  {
    key = KeyScan();
    if( key != NOKEY )
    {
      switch(key)
      {
        case KEYLEFT  : pre_num--;
        break;
/*******
        
   判斷右鍵按下填空
  
*******/
        
        //如果是右鍵按下 則數(shù)字加1
         case KEYRIGHT : pre_num++;
         break;
      }
    }
/*******
      
顯示部分填空
      
********/
      if(old_num!=pre_num)
      {
      //指定位置顯示數(shù)字
          LCD_ShowNum(0,0,pre_num,5,16);
      
      }
      old_num=pre_num;
      
/*******
      
如果為偶數(shù)設(shè)置LED亮滅狀態(tài)填空

*******/
      
      if (pre_num%2 == 0)
      {
        P1OUT &= 0xFE;
        P4OUT |= 0x80;
        // P1.0滅且P4.7亮
      }
      
/******
     
如果為奇數(shù)設(shè)置LED燈亮滅狀態(tài)填空
      
******/
      
      else
      {
        P1OUT |= 1;
        P4OUT &= 0x7F;
        //P1.0亮且P4.7滅
      }
      
    }
  }

作者: admin    時間: 2020-4-30 14:02
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
作者: 呼哈呼哈hi    時間: 2021-4-11 19:25
兄弟,能不能看看你的IIc.h和key.c文件




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1