激情人妻在线,又长又硬又粗一区二区三区,国产爽爽爽网,最新中文字幕久久二区

  1. <bdo id="cbt7u"><span id="cbt7u"><meter id="cbt7u"></meter></span></bdo>

    <bdo id="cbt7u"><span id="cbt7u"><meter id="cbt7u"></meter></span></bdo>
  2. <track id="cbt7u"><input id="cbt7u"></input></track>
  3. 文章詳情

    低溫-40℃工作的OLED模塊HCS1624的應(yīng)用實(shí)例

    日期:2025-07-02 19:30
    瀏覽次數(shù):2268
    摘要: 低溫-40℃工作的OLED模塊HCS1624的應(yīng)用實(shí)例 摘要:本文介紹了清達(dá)光電HCS1624這款低溫產(chǎn)品,并給出了其月8051單片機(jī)應(yīng)用實(shí)例 1,OLED模塊HCS1624的主要規(guī)格參數(shù): 外形尺寸:80.0(W)×36.0(H)×7.5MAX.(T)mm 顯示尺寸:58.22(W)×13.52(H) mm 有效視域:56.22(W)×11.52(H) mm 字符大小:2.97(W)×5.57 (H)mm 點(diǎn)大?。?.57(W)×0.67(H)mm 顯示屏顏色:黃色字體,黑色底色 工作溫度:-40 ℃~80℃ 2,顯示屏顯示效果圖 ...

    低溫-40℃工作的OLED模塊HCS1624的應(yīng)用實(shí)例

    摘要:本文介紹了清達(dá)光電HCS1624這款低溫產(chǎn)品,并給出了其月8051單片機(jī)應(yīng)用實(shí)例


    1,OLED模塊HCS1624的主要規(guī)格參數(shù):

    外形尺寸:80.0(W)×36.0(H)×7.5MAX.(T)mm

    顯示尺寸:58.22(W)×13.52(H) mm

    有效視域:56.22(W)×11.52(H) mm

    字符大小:2.97(W)×5.57 (H)mm

    點(diǎn)大?。?.57(W)×0.67(H)mm

    顯示屏顏色:黃色字體,黑色底色

    工作溫度:-40 ℃~80℃


    2,顯示屏顯示效果圖


    3,低溫-40℃工作的OLED模塊HCS1624的應(yīng)用實(shí)例——8051單片機(jī)應(yīng)用實(shí)例

    應(yīng)用程序如下:

    #include<reg51.h>
    #include <string.h>
    #include <intrins.h>
    #include <math.h>
    #define uchar unsigned char
    #define uint unsigned int
    #define DATA P1

    sbit CD     =    P3^3;  //并行接口;
    sbit WR1    =    P3^1;
    sbit RD1    =   P3^0;



    uchar code tab1[]={"Tsingtek-OLED"};
    uchar code tab2[]={"HCS1624-Y-EH-I2C"};
    uchar code CGR[]={
                       0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,//隔列1
                       0x1f,0x00,0x1f,0x00,0x1f,0x00,0x1f,0x00,//隔行1
                       0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,//隔列2
                       0x00,0x1f,0x00,0x1f,0x00,0x1f,0x00,0x1f,//隔行2
                       0xff};
    //此程序測(cè)試于 24M 晶震,51單片機(jī);
    //注意,關(guān)與 IS RE SD這3位,起始時(shí)是000,我們每次用完命令之后也復(fù)位成000;


    /******************************************************************
          延時(shí)子程序   
    *****************************************************************/

    void delay(uint z)
    {
    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--);
    }



    /****************************寫(xiě)指令程序*****************************************/

    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_();
    _nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();
            
    }
    void wr_data(uchar b)    //寫(xiě)數(shù)據(jù)  ;
    {
    wait();                     _nop_();                        
    CD=1;                    _nop_();                        
    WR1=0;                    _nop_();                          
    DATA=b;                    _nop_();
    RD1=1;                    _nop_();                                                
    RD1=0;                  _nop_();_nop_();            

    _nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();
    }
    void wr_com(uchar b)    //寫(xiě)命令;
    {
    wait();                     _nop_();                            
    CD=0;                    _nop_();                        
    WR1=0;                    _nop_();                        
    DATA=b;                _nop_();
    RD1=1;                    _nop_();                                                    
    RD1=0;                  _nop_();_nop_();                

    _nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();

    }
    uchar rd_data(void) //讀數(shù)據(jù);
    {
    uchar temp;                                                    
    wait();                     _nop_();                                
    CD=1;                    _nop_();                                
    WR1=1;                    _nop_();                                
    DATA=0xff;                _nop_();                            
    RD1=1;                  _nop_();                            
    temp=DATA;                _nop_();                                                                                 
    RD1=0;                  _nop_();_nop_();                                                                    

    _nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();
    return temp;
    }


    /******************************************************************
       定位地址(一個(gè)地址對(duì)應(yīng)5*8字符和)
       x--> 水平方向地址數(shù)(0~39)    ;y-->  垂直方向字符數(shù)(0~1);
    *****************************************************************/

    void  dot(uchar x,uchar y)
    {
    if(y) x|=0x40;
    x|=0x80;
    wr_com(x);
    }

    /******************************************************************
      清屏;
    *****************************************************************/

    void clear(void)
    {
    wr_com(0x01);delay(5);
    }

    /******************************************************************
      字符的輸入(5*8)
    x--> 水平方向地址數(shù)(0~39)    ;y-->  垂直方向字符數(shù)(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 CGR_SET(uchar code *s)
    {
     uchar i=0;
     while(*s!=0xff)
      {
       wr_com(0x40+i);
       wr_data(*s);
       s++;
       i++;
      }
    }    
    /******************************************************************
      全屏;
    *****************************************************************/
     void  fill(uchar z)                                //全屏    
     {
     uchar x,y ;
     for(y=0;y<2;y++)
        for(x=0;x<16;x++)
        {
        dot(x,y);
        wr_data(z);
        }
     }
    /******************************************************************
      初始化設(shè)置;
    *****************************************************************/

    void init(void)
    {
        
          delay(50);
          
    //      RES=1;delay(5);
    //      RES=1;delay(5);
    //      RES=1;delay(5);      
              
              
    // 設(shè)置電源模式;
          wr_com(0x2a);
          wr_com(0x71);
          wr_data(0x00);          /* 設(shè)置為3.3V模式 */
          wr_com(0x28);

    // 顯示開(kāi)關(guān);
          wr_com(0x08);              /* 關(guān)顯示 */

    // 設(shè)置Fosc和DCLK;
          wr_com(0x2a);
          wr_com(0x79);
          wr_com(0xd5);
          wr_com(0x70);              /* Fosc=7 DCLK=1 */    
          wr_com(0x78);
          wr_com(0x28);
    // 設(shè)置顯示模式;
          wr_com(0x2a);
          wr_com(0x08);             /* 字寬=5   1/2行顯示 */
          wr_com(0x28);
    // 設(shè)置地圖模式;
          wr_com(0x2a);
          wr_com(0x06);                /* BDC=1(C0-->C31)   BDS=0(S99-->S0) (已規(guī)定,客戶(hù)不可自行修改) */
          wr_com(0x28);
                  
    // 選擇內(nèi)部ROM和CGRAM;
          wr_com(0x2a);
          wr_com(0x72);            
          wr_data(0x00);         /* ROM=A  CGRAM=8 */
          wr_com(0x28);



    // 設(shè)置OLED特性;
          wr_com(0x2a);
          wr_com(0x79);             /* 進(jìn)入OLED設(shè)置 */

          wr_com(0xda);
          wr_com(0x10);             /* SEG硬件結(jié)構(gòu)  (已規(guī)定,客戶(hù)不可自行修改) */

          wr_com(0xdc);
          wr_com(0x00);              /* 內(nèi)部VSL  GPIO輸出無(wú)效 */

          wr_com(0x81);
          wr_com(0x7f);             /* 共256級(jí)對(duì)比度,選一半 */

          wr_com(0xd9);
          wr_com(0xf1);             /* P2=15DCLK  P1=4DCLK */


          wr_com(0xdb);
          wr_com(0x30);             /* Vcom=0.83Vcc  */

          wr_com(0x78);
          wr_com(0x28);             /* 退出OLED設(shè)置 */


    //準(zhǔn)備開(kāi)顯示;
          wr_com(0x01);            /*  清屏 */
          delay(5);
          wr_com(0x80);            /*  設(shè)置DDRAM地址  */
          wr_com(0x0c);            /*  開(kāi)顯示 */

                  
    }

    /******************************************************************
      主程序;
    *****************************************************************/
    int main(void)
    {
    CD=0;
    init();
    CGR_SET(CGR);
    while(1)
        {
        fill(0x00);delay(700);
        fill(0x01);delay(700);
        fill(0x02);delay(700);
        fill(0x03);delay(700);
        clear();
        en_c_r(0,0,tab1);
        en_c_r(0,1,tab2);delay(700);
        }
    }