在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MSP430與DS1302之1602顯示

      MSP430與DS1302之1602顯示

      作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
      #include

      typedef unsigned char uchar;
      typedef unsigned int uint;
      /**************宏定義***************/
      #define DataDir P4DIR
      #define DataPort P4OUT
      #define Busy 0x80
      #define CtrlDir P3DIR
      #define CLR_RS P3OUT&=~BIT0; //RS = P3.0
      #define SET_RS P3OUT|=BIT0;
      #define CLR_RW P3OUT&=~BIT1; //RW = P3.1
      #define SET_RW P3OUT|=BIT1;
      #define CLR_EN P3OUT&=~BIT2; //EN = P3.2
      #define SET_EN P3OUT|=BIT2;

      本文引用地址:http://www.biyoush.com/article/201612/324673.htm

      /**************宏定義***************/
      #define DS_RST BIT7 //DS_RST = P2.7
      #define DS_SCL BIT5 //DS_SCL = P2.5
      #define DS_SDA BIT6 //DS_SDA = P2.6
      #define DS_RST_IN P2DIR &= ~DS_RST
      #define DS_RST_OUT P2DIR |= DS_RST
      #define DS_RST0 P2OUT &= ~DS_RST
      #define DS_RST1 P2OUT |= DS_RST
      #define DS_SCL_IN P2DIR &= ~DS_SCL
      #define DS_SCL_OUT P2DIR |= DS_SCL
      #define DS_SCL0 P2OUT &= ~DS_SCL
      #define DS_SCL1 P2OUT |= DS_SCL
      #define DS_SDA_IN P2DIR &= ~DS_SDA
      #define DS_SDA_OUT P2DIR |= DS_SDA
      #define DS_SDA0 P2OUT &= ~DS_SDA
      #define DS_SDA1 P2OUT |= DS_SDA
      #define DS_SDA_BIT P2IN & DS_SDA
      ucharflag;//定義一個讀標(biāo)志位
      uchar second,minute,hour,week,day,month,year;//秒、分、時、星期、日、月、年
      /*******************************************
      函數(shù)名稱:delay
      功 能:延時一段時間
      參 數(shù):time--延時長度
      ********************************************/
      void delay(uint time)
      {
      uint i;
      for(i = 0;i < time;i++) _NOP();
      }
      /*******************************************
      函數(shù)名稱:Delay5ms 功 能:延時約5ms
      ********************************************/
      void Delay5ms(void)
      {
      uint i=40000;
      while (i != 0)
      {
      i--;
      }
      }
      /*******************************************
      函數(shù)名稱:WaitForEnable
      功 能:等待1602液晶完成內(nèi)部操作
      ********************************************/
      void WaitForEnable(void)
      {
      P4DIR &= 0x00; //將P4口切換為輸入狀態(tài)
      CLR_RS;
      SET_RW;
      _NOP();
      SET_EN;
      _NOP();
      _NOP();

      while((P4IN & Busy)!=0); //檢測忙標(biāo)志
      CLR_EN;
      P4DIR |= 0xFF; //將P4口切換為輸出狀態(tài)
      }
      /*******************************************
      函數(shù)名稱:write_com
      功 能:向液晶模塊寫入命令
      ********************************************/
      void write_com(uchar cmd)
      {
      WaitForEnable(); // 檢測忙信號?

      CLR_RS;
      CLR_RW;
      _NOP();
      DataPort = cmd; //將命令字寫入數(shù)據(jù)端口
      _NOP();

      SET_EN; //產(chǎn)生使能脈沖信號
      _NOP();
      _NOP();
      CLR_EN;
      }

      /*******************************************
      函數(shù)名稱:write_data
      功 能:向液晶顯示的當(dāng)前地址寫入顯示數(shù)據(jù)
      參 數(shù):data--顯示字符數(shù)據(jù)
      返回值 :無
      ********************************************/
      void write_data( uchar data )
      {
      WaitForEnable(); //等待液晶不忙
      SET_RS;
      CLR_RW;
      _NOP();
      DataPort = data; //將顯示數(shù)據(jù)寫入數(shù)據(jù)端口
      _NOP();
      SET_EN; //產(chǎn)生使能脈沖信號
      _NOP();
      _NOP();
      CLR_EN;
      }
      void Write1602(uchar add,uchar dat)
      {
      write_com(add);
      write_data(dat);
      }

      void zifuchuan(uchar *ch)
      {
      while(*ch!=0)
      write_data(*ch++);
      Delay5ms();
      }

      /*******************************************
      函數(shù)名稱:LcdReset
      功 能:對1602液晶模塊進(jìn)行復(fù)位操作
      ********************************************/
      void LcdReset(void)
      {
      CtrlDir |= 0x07; //控制線端口設(shè)為輸出狀態(tài)
      DataDir = 0xFF; //數(shù)據(jù)端口設(shè)為輸出狀態(tài)

      write_com(0x38);//規(guī)定的復(fù)位操作
      Delay5ms();
      write_com(0x38);
      Delay5ms();
      write_com(0x38);
      Delay5ms();
      write_com(0x38);//顯示模式設(shè)置
      write_com(0x06);//寫字符時整體不移動
      write_com(0x0c);//顯示開,不開游標(biāo),不閃爍
      write_com(0x01);//顯示清屏

      Write1602(0x80,2);
      Write1602(0x81,0);
      Write1602(0x80+4,-);
      Write1602(0x80+7,-);
      Write1602(0x80+0x40+5,:);
      Write1602(0x80+0x40+8,:);


      }


      上一頁 1 2 3 下一頁

      關(guān)鍵詞: MSP430DS13021602顯

      評論


      技術(shù)專區(qū)

      關(guān)閉