<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)驅(qū)動(dòng)LCD12864液晶顯示閃動(dòng)字體程序

          PIC單片機(jī)驅(qū)動(dòng)LCD12864液晶顯示閃動(dòng)字體程序

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

          /****************************************************************************
          * 名 稱:wr_zb()
          * 功 能:顯示設(shè)置
          * 入口參數(shù):
          * 出口參數(shù):
          * 說 明:
          ****************************************************************************/
          void wr_zb()
          {
          send_i(lcd_y);
          send_i(lcd_x);
          }

          /****************************************************************************
          * 名 稱:flash()
          * 功 能:顯示閃爍
          * 入口參數(shù):
          * 出口參數(shù):
          * 說 明:
          ****************************************************************************/
          voidflash()
          {
          send_i(0x08); //關(guān)顯示
          delay1(); //延長一定時(shí)間
          send_i(0x0c); //開顯示
          delay1();delay1(); //延長關(guān)顯示兩倍的時(shí)間
          send_i(0x08); //關(guān)顯示
          delay1();
          send_i(0x0c); //開顯示
          delay1();delay1();
          send_i(0x08); //關(guān)顯示
          delay1();
          send_i(0x0c); //開顯示
          delay1();delay1();

          }

          /****************************************************************************
          * 名 稱:clear_p()
          * 功 能:清屏
          * 入口參數(shù):
          * 出口參數(shù):
          * 說 明:
          ****************************************************************************/
          void clear_p()
          {
          send_i(0x1); //清除所有顯示
          send_i(0x34); //擴(kuò)展指令操作
          send_i(0x30); //基本指令操作
          }

          /****************************************************************************
          * 名 稱:send_d()
          * 功 能:寫一個(gè)字節(jié)數(shù)據(jù)到LCD
          * 入口參數(shù):unsigned char x 字符
          * 出口參數(shù):
          * 說 明:
          ****************************************************************************/
          void send_d(unsigned char x)
          {
          chk_busy(); //檢測(cè)LCD是否工作繁忙
          rs = 1; //設(shè)置該字節(jié)數(shù)據(jù)是顯示數(shù)據(jù)
          rw = 0; //設(shè)置該次操作為寫
          PORTD = x; //送數(shù)據(jù)口PORTD
          e = 1; //使能
          nop();
          nop();
          nop();
          e = 0; //禁止
          }

          /****************************************************************************
          * 名 稱:send_i()
          * 功 能:寫一個(gè)字節(jié)命令到LCD
          * 入口參數(shù):unsigned char x 字符
          * 出口參數(shù):
          * 說 明:
          ****************************************************************************/
          void send_i(unsigned char x)
          {
          chk_busy(); //檢測(cè)LCD是否工作繁忙
          rs = 0; //設(shè)置該字節(jié)數(shù)據(jù)為控制命令
          rw = 0; //設(shè)置此次操作為寫
          PORTD = x; //送數(shù)據(jù)口PORTD
          e = 1; //使能
          nop();
          nop();
          nop();
          e = 0; //禁止
          }

          /****************************************************************************
          * 名 稱:chk_busy()
          * 功 能:檢測(cè)LCD是否工作繁忙
          * 入口參數(shù):
          * 出口參數(shù):
          * 說 明:
          ****************************************************************************/
          void chk_busy()
          {
          busy = 1; //先置位繁忙標(biāo)志位
          TRISD = 0XFF; //更改通信為輸入
          rs = 0; //設(shè)置該字節(jié)數(shù)據(jù)為命令代碼
          rw = 1; //設(shè)置此次操作為讀
          while (busy)
          {
          nop();nop();nop();
          e = 1; //使能
          nop();nop();nop();
          if (!RD7) busy = 0; //檢測(cè)LCD是否工作繁忙
          nop();nop();nop();
          e = 0; //禁止
          }
          e = 0; //禁止
          TRISD = 0X00; //恢復(fù)通信為輸出
          }

          /****************************************************************************
          * 名 稱:delay()
          * 功 能:延時(shí)
          * 入口參數(shù):
          * 出口參數(shù):
          * 說 明:
          ****************************************************************************/
          void delay()
          {
          int i;
          for (i = 0;i < 5000;i++);
          }

          /****************************************************************************
          * 名 稱:delayl()
          * 功 能:延時(shí)
          * 入口參數(shù):
          * 出口參數(shù):
          * 說 明:
          ****************************************************************************/
          void delay1()
          {
          int i;
          for (i = 0;i < 10;i++)
          {
          delay(); //調(diào)用延時(shí)函數(shù)
          }
          }

          /****************************************************************************
          * 名 稱: writelcd()
          * 功 能: 在LCD上顯示字符串
          * 入口參數(shù):const unsigned char *pt 字符串的首地址
          * 出口參數(shù):
          * 說 明:
          ****************************************************************************/
          void writelcd(const unsigned char *pt)
          {
          while(*pt) //檢測(cè)是否達(dá)到了字符串最后
          send_d(*pt++); //發(fā)送數(shù)據(jù)給lcd
          }


          上一頁 1 2 下一頁

          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();