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

  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. 新聞詳情

    OLED模塊HCS2022的應(yīng)用2

    日期:2025-07-04 19:34
    瀏覽次數(shù):1609
    摘要:
     OLED模塊HCS2022的應(yīng)用2
    接上一篇文章

    四:OLED模塊HCS2022控制器介紹:
          HCS2022采用US2066控制器 ,自帶西文字符集,指令碼有: 清屏,模式選擇,開關(guān)顯示,光標(biāo)顯示和移動(dòng),功能設(shè)定等等.......使用上類似普通字符液晶模塊。更多信息請(qǐng)來(lái)電13701081790  010-62000662 或者QQ咨詢 453189731。

    五。OLED模塊HCS2022與8051單片機(jī)示例:
         
    六,示例程序:
           /*******************************************      延時(shí)子程序  
    *******************************************/
    void delay(uint z)     //z=1 延時(shí)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--);
    }


    /*******************************************
          寫入指令和數(shù)據(jù)
    *******************************************/
    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)    //寫數(shù)據(jù)  ;
    {
    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) //讀數(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_();               
    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  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--> 水平方向地址數(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++;
       }
    }
    /*******************************************
      初始化設(shè)置;
    *******************************************/
    void init(void)
    {
          delay(50);
    // 設(shè)置電源模式;
          wr_com(0x2a);
          wr_com(0x71);
          wr_data(0x00);
          wr_com(0x28);
    // 顯示開關(guān);
          wr_com(0x08);     /* 關(guān)顯示 */
    // 設(shè)置Fosc和CDLK;
          wr_com(0x2a);
          wr_com(0x79);
          wr_com(0xd5);
          wr_com(0x70);     /* Fosc=7 CDLK=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);               
    /* BCD=1(C0-->C31)   BDS=0(S99-->S0) (已規(guī)定,客戶不可自行修改) */
          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ī)定,客戶不可自行修改) */
          wr_com(0xCD);
          wr_com(0x00);     /* 內(nèi)部VSL  GPIO輸出無(wú)效 */
          wr_com(0x81);
          wr_com(0x7f);/* 共256級(jí)對(duì)比度,選一半 */
          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設(shè)置 */
    //準(zhǔn)備開顯示;
          wr_com(0x01);     /*  清屏 */
          wr_com(0x80);    /*  設(shè)置DDRAM地址  */
          wr_com(0x0c);    /*  開顯示 */
    }