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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于MSC51系列的LCD1602通用程序

          基于MSC51系列的LCD1602通用程序

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

          #define PORT P2
          sbit RS = P3^5;//1602的數(shù)據(jù)/指令選擇控制線
          sbit RW = P3^6;//1602的讀寫控制線
          sbit EN = P3^7;//1602的使能控制線

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

          unsigned char code table[] = "LCD1602 check ok"; //要顯示的內(nèi)容1放入數(shù)組tablel
          unsigned char code table1[] = "study up"; //要顯示的內(nèi)容2放入數(shù)組table1


          void DelayXms(unsigned int time)//延時程序,大約1ms
          {
          unsigned char i;
          while(time--)
          {
          for(i = 0;i < 112;i++)//11.0592MHz晶振
          {};
          }
          }
          void LCDWriteCom(unsigned char com) //1602寫命令函數(shù)
          {
          RS = 0; //選擇指令寄存器
          RW = 0; //選擇寫
          PORT = com; //把命令字送入PORT
          DelayXms(5); //延時一小會兒,讓1602準備接收數(shù)據(jù)
          EN = 1; //使能線電平變化,命令送入1602的8位數(shù)據(jù)口
          EN = 0;
          }
          void LCDWriteDat(unsigned char dat) //1602寫數(shù)據(jù)函數(shù)
          {
          RS = 1; //選擇數(shù)據(jù)寄存器
          RW = 0; //選擇寫
          PORT = dat; //把要顯示的數(shù)據(jù)送入PORT
          DelayXms(5); //延時一小會兒,讓1602準備接收數(shù)據(jù)
          EN = 1; //使能線電平變化,數(shù)據(jù)送入1602的8位數(shù)據(jù)口
          EN = 0;
          }
          void LCDInit() //1602初始化函數(shù)
          {
          LCDWriteCom(0x38); //8位數(shù)據(jù),雙列,5*7字形
          LCDWriteCom(0x0c); //開啟顯示屏,關(guān)光標,光標不閃爍
          LCDWriteCom(0x06); //顯示地址遞增,即寫一個數(shù)據(jù)后,顯示位置右移一位
          LCDWriteCom(0x01); //清屏
          }
          void main() //主函數(shù)
          {
          unsigned char n,m = 0;
          LCDInit(); //液晶初始化
          LCDWriteCom(0x80); //顯示地址設(shè)為80H(即00H,)上排第一位
          for(m = 0;m < 16;m++) //將table[]中的數(shù)據(jù)依次寫入1602顯示
          {
          LCDWriteDat(table[m]);
          DelayXms(200);
          }
          LCDWriteCom(0x80+0x44); //重新設(shè)定顯示地址為0xc4,即下排第5位
          for(n = 0;n<8;n++) //將table1[]中的數(shù)據(jù)依次寫入1602顯示
          {
          LCDWriteDat(table1[n]);
          DelayXms(200);
          }
          while(1); //動態(tài)停機
          }



          關(guān)鍵詞: MSC51系列LCD1602通用程

          評論


          技術(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); })();