新聞詳情

          OLED顯示屏HCS1624應用2

          日期:2025-05-14 11:42
          瀏覽次數:1419
          摘要:
          OLED顯示屏HCS1624應用2
          顯示效果圖如下:


          OLED顯示屏作為清達光電主要的一個研究方向,目前已經廣泛應用于工業現場!
          HCS1624與8051單片機典型應用電路如下:

          程序代碼段:
          /*******************************************      延時子程序  
          *******************************************/
          void delay(uint z)     //z=1 延時1ms
          {
          uint x,y;
          for(x=z;x>0;x--)
             for(y=124;y>0;y--);
          }
          void delay_100us(uchar z)
          {
          z=z*16;
          while(z--);
          }


          /*******************************************
                寫入指令和數據
          *******************************************/
          void wait(void)       // 忙等待;
          {
          RD1=0;        _nop_();
          CD=0;        _nop_();                   
          WR1=1;         _nop_();                         
          DATA=0xff;    _nop_();                       
          RD1=1;        _nop_();                          
          while(DATA&0x80);      _nop_();                       
          RD1=0;     _nop_();_nop_();
          }
          void wr_data(uchar b)    //寫數據  ;
          {
          wait();    _nop_();       
          CD=1;    _nop_();             
          WR1=0;    _nop_();             
          DATA=b;    _nop_();
          RD1=1;    _nop_();             
          RD1=0; _nop_();_nop_();           
          }
          void wr_com(uchar com)    //寫命令;
          {
          wait();        _nop_();                       
          CD=0;        _nop_();                       
          WR1=0;        _nop_();                       
          DATA=com;    _nop_();
          RD1=1;        _nop_();                          RD1=0;     _nop_();_nop_();               
          }
          uchar rd_data(void) //讀數據;
          {
          uchar temp;                               
          wait();         _nop_();               
          CD=1;        _nop_();                   
          WR1=1;        _nop_();                         
          DATA=0xff;    _nop_();                   
          RD1=1;      _nop_();                       
          temp=DATA;    _nop_();                   
          RD1=0;       _nop_();_nop_();               
          return temp;
          }


          /*******************************************
             定位地址(一個地址對應5*8字符和)
             x--> 水平方向地址數(0~39)    ;y-->  垂直方向字符數(0~1);
          *******************************************/
          void  dot(uchar x,uchar y)
          {
          if(y) x|=0x40;
          x|=0x80;
          wr_com(x);
          }
          /*******************************************
            全屏;
          *******************************************/
           void  fill(uchar z)   
           {
           uchar x,y ;
           for(y=0;y<2;y++)
              for(x=0;x<20;x++)
              {
              dot(x,y);
              wr_data(z);
              }
           }
          /*******************************************
            清屏;
          *******************************************/
          void clear(void)
          {
          wr_com(0x01);delay(5);
          }
          /******************************************* 字符的輸入(5*8)
          x--> 水平方向地址數(0~39)    ;y-->  垂直方向字符數(0~1);s-->字符代碼首地址;
          *******************************************/
          void en_c_r(uchar x,uchar y,uchar code  * s)  
          {
            dot(x,y);
            while(*s>0&&x<20)
             {
             wr_data(*s);
             s++;
             x++;
             }
          }
          /*******************************************
            初始化設置;
          *******************************************/
          void init(void)
          {
                delay(50);
          // 設置電源模式;
                wr_com(0x2a);
                wr_com(0x71);
                wr_data(0x00);
                wr_com(0x28);
          // 顯示開關;
                wr_com(0x08);     /* 關顯示 */
          // 設置Fosc和CDLK;
                wr_com(0x2a);
                wr_com(0x79);
                wr_com(0xd5);
                wr_com(0x70);     /* Fosc=7 CDLK=1 */     
                wr_com(0x78);
                wr_com(0x28);
          // 設置顯示模式;
                wr_com(0x2a);
                wr_com(0x08); /* 字寬=5   1/2行顯示 */
                wr_com(0x28);
          // 設置地圖模式;
                wr_com(0x2a);
                wr_com(0x06);               
          /* BCD=1(C0-->C31)   BDS=0(S99-->S0) (已規定,客戶不可自行修改) */
                wr_com(0x28);
          // 選擇內部ROM和CGRAM;
                wr_com(0x2a);
                wr_com(0x72);             
                wr_data(0x00);     /* ROM=A  CGRAM=8 */
                wr_com(0x28);
          // 設置OLED特性;
                wr_com(0x2a);
                wr_com(0x79);     /* 進入OLED設置 */
                wr_com(0xda);
                wr_com(0x10);             
          /* SEG硬件結構  (已規定,客戶不可自行修改) */
                wr_com(0xCD);
                wr_com(0x00);     /* 內部VSL  GPIO輸出無效 */
                wr_com(0x81);
                wr_com(0x7f);/* 共256級對比度,選一半 */
                wr_com(0xd9);
                wr_com(0xf1);/*P2=15CDLK P1=4CDLK */
                wr_com(0xdb);
                wr_com(0x30);    /* Vcom=0.83Vcc  */
                wr_com(0x78);
                wr_com(0x28);     /* 退出OLED設置 */
          //準備開顯示;
                wr_com(0x01);     /*  清屏 */
                wr_com(0x80);    /*  設置DDRAM地址  */
                wr_com(0x0c);    /*  開顯示 */
          }
          主站蜘蛛池模板: 久久精品日日躁夜夜躁欧美| 四虎影视永久免费视频观看| 一区二区三区高清在线| 欧美69xxxxx另类| 公和我做好爽添厨房| 98精品国产综合久久| 在线观免费看高清影视剧| 久久99青青精品免费观看| 欧美性视频18~19| 免费观看性行为视频的网站| 黄色三级在线播放| 国产韩国精品一区二区三区| 三级理论在线播放大全| 日韩精品一区二区三区毛片 | 国产丝袜视频一区二区三区 | 日韩精品专区在线影院重磅| 亚洲精品456| 精品视频麻豆入口| 国产在线视频网| 1111图片区小说区欧洲区| 女人18毛片免费观看| 中文字幕第五页| 最新国产乱人伦偷精品免费网站| 亚洲精品一级片| 精品伊人久久香线蕉| 国产人妖cdmagnet| 亚洲日本久久一区二区va| 在线永久免费观看黄网站| 三级黄色在线看| 日本爽爽爽爽爽爽在线观看免| 亚洲人成自拍网站在线观看| 波多野结衣电影一区二区| 啊灬啊灬啊灬快灬深用力| 麻豆国产精品免费视频| 国产精品亚洲精品日韩已满| 99精品众筹模特自拍视频| 年轻的妈妈在完整有限中字第4 | 男人j放进女人p全黄| 口工里番h全彩动态图| 迷走都市1-3ps免费图片| 国产漂亮白嫩美女在线观看|