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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機 LCD12864

          51單片機 LCD12864

          作者: 時間:2016-11-25 來源:網(wǎng)絡 收藏
          有了LCD12864,人機交互就友好的多了。

          原理圖:

          本文引用地址:http://www.ex-cimer.com/article/201611/321317.htm





          上代碼:

          //程序可能,驅(qū)動12864液晶顯示文字
          //本程序有問題,見實際效果,1數(shù)碼管在接入串口線亂碼;2無法多頁顯示
          #include
          #define uint unsigned int
          #define uchar unsigned char
          //端口聲明
          sbit duanxuan=P2^6; //數(shù)碼管段選端
          sbit weixuan=P2^7; //數(shù)碼管位選端
          sbit lcd12864_RS=P3^5; //12864數(shù)據(jù)/指令選擇端
          sbit lcd12864_WR=P3^6; //讀/寫選擇端
          sbit lcd12864_E=P3^4; //信號時能端
          sbit lcd12864_PSB=P3^7; //串/并選擇端
          //顯示數(shù)據(jù)定義
          uchar display_date0[]="閆偉 luobin 彭超:"; //第一行顯示文字
          uchar display_date1[]="歡迎你們來到我家"; //第二行顯示文字
          uchar display_date2[]="我們是朋友--永遠"; //第三行顯示文字
          uchar display_date3[]="王春林2012-7-6-N"; //第四行顯示文字

          //相關函數(shù)聲明
          void delay(uint); //延時函數(shù)聲明
          void system_init(); //系統(tǒng)初始化函數(shù)
          void writting_order(uchar); //寫入指令函數(shù)
          void lcd_init(); //初始化函數(shù)
          void writting_date(uchar); //寫入數(shù)據(jù)函數(shù)
          void display1(); //顯示函數(shù)
          //void display2();
          //主函數(shù)
          void main()
          {
          system_init(); //系統(tǒng)初始化
          lcd_init(); //lcd初始化-指令設置
          display1(); //顯示
          while(1);
          }
          //延時函數(shù)主體
          void delay(uint s)
          {
          uint i,j;
          for(i=s;i>0;i--)
          {
          for(j=110;j>0;j--)
          {
          }
          }
          }
          //系統(tǒng)初始化函數(shù)主體
          void system_init()
          {
          //防止數(shù)碼管亂碼,關閉數(shù)碼管
          duanxuan=0;
          weixuan=0;
          }
          //lcd12864寫入指令函數(shù)主體
          void writting_order(uchar order_date)
          {
          lcd12864_WR=0; //WR-0,寫
          lcd12864_RS=0; //RS-0,寫指令
          lcd12864_E=0;
          P0=order_date;
          delay(5);
          lcd12864_E=1; //E高脈沖有效
          delay(5);
          lcd12864_E=0; //回到0,是為了防止誤寫入數(shù)據(jù)
          }
          //lcd12864初始化函數(shù)主體
          void lcd_init()
          {
          lcd12864_PSB=1; //選擇并口
          writting_order(0x01); //AC指針歸零
          delay(5);
          writting_order(0x03); //指針歸零,游標原點
          delay(5);
          writting_order(0x0d); //顯示開,游標關,循序反白
          delay(5);
          writting_order(0x06); //寫入數(shù)據(jù)AC自動加以,游標自動右移一位
          delay(5);
          writting_order(0x30); //8位數(shù)據(jù),基本指令操作
          delay(5);
          }
          //lcd12864寫入顯示數(shù)據(jù)函數(shù)主體
          void writting_date(uchar disolay_data)
          {
          lcd12864_WR=0; //寫
          lcd12864_RS=1; //數(shù)據(jù)
          lcd12864_E=0;
          P0=disolay_data; //寫入數(shù)據(jù)
          delay(5);
          lcd12864_E=1; //E高脈沖有效
          delay(5);
          lcd12864_E=0;
          }
          //顯示函數(shù)主體__第一頁
          void display1()
          {
          uint number;
          //寫第一行數(shù)據(jù)
          writting_order(0x80);
          for(number=0;number<16;number++)
          {
          writting_date(display_date0[number]); //循環(huán)寫入第一行文字
          }
          //寫第二行數(shù)據(jù)
          writting_order(0x90);
          for(number=0;number<16;number++)
          {
          writting_date(display_date1[number]);
          }
          //寫第三行數(shù)據(jù)
          writting_order(0x88);
          for(number=0;number<16;number++)
          {
          writting_date(display_date2[number]);
          }
          //寫第四行數(shù)據(jù)
          writting_order(0x98);
          for(number=0;number<16;number++)
          {
          writting_date(display_date3[number]);
          }
          }

          以上,結束。



          關鍵詞: 51單片機LCD1286

          評論


          技術專區(qū)

          關閉
          看屁屁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); })();