日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機控制LCD1602顯示字符(測試通過)

          單片機控制LCD1602顯示字符(測試通過)

          作者: 時間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          本次測試的是常用LCD1602顯示屏,操作流程很簡單,但有些小問題要注意,如該LCD處理速度有些慢,單片機在發(fā)送控制指令時需要適當延時,否則可能操作失敗。

          一、硬件簡介

          本文引用地址:http://yuyingmama.com.cn/article/201611/322667.htm

          1>引腳介紹

          具體引腳如下:

          單片機需要操作的引腳有:RS、RW、E及DB0~7

          2>指令介紹

          在這里,僅僅介紹下什么是CGRAM、什么是DDRAM?

          CGRAM:是用戶自定義字符存放存儲器,可以自己在指定地址定義字符

          DDRAM:是對應(yīng)屏幕位置的存儲器,設(shè)定了該地址,就確定了從屏幕什么位置開始顯示字符

          二、軟件部分

          #include
          #include
          #define DATA P0
          sbit RS=P2^6;
          sbit RW=P2^5;
          sbit EN=P2^7;
          unsigned char zifu[]={"Hello,World!0"};
          unsigned char wangzhi[]={"http://shop108408772.taobao.com/"};
          void delayms(unsigned char m) //適當延時
          {unsigned char i;
          while(m--)
          {
          for(i=0;i<=250;i++)
          {_nop_();
          }
          }
          }
          void WRITE_BYTE(unsigned char canshu) //寫1個字節(jié)
          {
          RW=0;
          _nop_();
          _nop_();
          EN=1;
          _nop_();
          DATA=canshu;
          EN=0;
          _nop_();
          _nop_();
          }


          void main()
          {
          unsigned char *point;
          RS=0;
          WRITE_BYTE(1);//清屏
          delayms(10);//約延時23ms
          WRITE_BYTE(2);//光標歸位
          delayms(10);
          WRITE_BYTE(6);// AC自動增1,屏幕不動
          delayms(10);
          WRITE_BYTE(0x0F);//光標顯示閃爍
          delayms(10);
          WRITE_BYTE(0x14);//光標右移
          delayms(10);
          WRITE_BYTE(0x38);//兩行顯示,5X7字符
          delayms(10);
          WRITE_BYTE(0x80);//設(shè)定DDRAM地址
          delayms(10);
          _nop_();
          point=wangzhi;
          while(*point!=