久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 24306|回復: 10
打印 上一主題 下一主題
收起左側

LCD5110液晶屏的詳細介紹及程序

  [復制鏈接]
跳轉到指定樓層
樓主
ID:262 發(fā)表于 2016-8-12 16:16 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

Nokia/諾基亞5110 LCD原理應用資料:LPH7366 是NOKIA 公司生產的可用于其5110、6150,6100 等系列移動電話的液晶顯示模塊,國內廠家也生產有類似的兼容產品。該產品除應用于移動電話外,也可廣泛應用于各類便攜式設備的顯示系統(tǒng)。與其它類型的產品相比,該模塊具有以下特點:
●84x48 的點陣LCD,可以顯示4 行漢字,
●采用串行接口與主處理器進行通信,接口信號線數量大幅度減少,包括電源和地在內的信號線僅有9 條。支持多種串行通信協議(如AVR 單片機的SPI、MCS51 的串口模式0等),傳輸速率高達4Mbps,可全速寫入顯示數據,無等待時間。
●可通過導電膠連接模塊與印制版,而不用連接電纜,用模塊上的金屬鉤可將模塊固定到印制板上,因而非常便于安裝和更換。
●LCD 控制器/驅動器芯片已綁定到LCD 晶片上,模塊的體積很小。
●采用低電壓供電,正常顯示時的工作電流在200μA 以下,且具有掉電模式。
LPH7366 的這些特點非常適合于電池供電的便攜式通信設備和測試設備中

 

C8051F學習筆記:Nokia 5110驅動

Nokia5110是一款經典機型,可能由于經典的緣故,舊機器很多,所以很多電子工程師就把舊機器的屏幕拆下來,自己驅動Nokia5110,用于開發(fā)的設備顯示,取代LCD1602。

使用Nokia5110液晶的四大理由

1)     性價比高,LCD1602可以顯示32個字符,而Nokia5110可以顯示15個漢字,30個字符。Nokia5110裸屏僅8.8元,LCD1602一般15元左右,LCD12864一般50~70元。

2)     接口簡單,僅四根I/O線即可驅動,LCD160211I/O線,LCD1286412根。

3)     速度快,是LCD1286420倍,是LCD160240倍。

4)     Nokia5110工作電壓3.3V,正常顯示時工作電流200uA以下,具有掉電模式,適合電池供電的便攜式移動設備。

 

可以在市場上買到Nokia5110的裸屏和帶PCBNokia5110屏幕,因為Nokia5110是不帶背光的,所以通常商家會在PCB上按了幾個背光LED,上電就能亮,建議大家還是買那種連上PCB5110

 

Nokia5110原理圖:

 

 

 

商家把該引出的管腳都引出了,下面就可以連接C8051F的相應管腳,寫程序驅動5110了。

 

Nokia5110Nokia3110是兼容的,用的都是同一款驅動芯片PHILIPS PCD8544。

 

(1)   SPI接口時序寫數據/命令

   Nokia5110(PCD8544)的通信協議是一個沒有MISO只有MOSISPI協議,如果單片機有富裕的SPI接口,也可以利用硬件SPI,但通常沒有必要,只需要軟件程序模擬即可。

 

 

 

/***********************************************************

函數名稱:LCD_write_byte

函數功能:模擬SPI接口時序寫數據/命令LCD

入口參數:data    :寫入的數據;

          command :寫數據/命令選擇;

出口參數:無

注:

***********************************************************/

void LCD_write_byte(unsigned char dat, unsigned char command)

  {

    unsigned char i;

    LCD_CE = 0;                              //5110片選有效,允許輸入數據

    if (command == 0)                        //寫命令

         LCD_DC = 0;                         

    else  LCD_DC = 1;                    //寫數據

      for(i=0;i<8;i++)                            //傳送8bit數據

            {

if(dat&0x80)

                        SDIN = 1;

                  else

                        SDIN = 0;

                  SCLK = 0;

                  dat = dat << 1;

                  SCLK = 1;

}

     LCD_CE = 1;                                //禁止5110

  }

 

管腳D/C(LCD_DC)用于選擇寫的是命令(D/C=0)還是數據(D/C=1)。

 

(2)   Nokia5110的初始化

接通電源后,內部寄存器和RAM的內容是不確定的,這需要一個RES低電平脈沖復位一下。當VDD變?yōu)楦唠娖,達到VDDmin(或更高)之后,最多100ms,RST輸入低電平(電平幅度<0.3VDD)

 

 

5110復位時序

 

/***********************************************************

函數名稱:LCD_init

函數功能:5110初始化

入口參數:無

出口參數:無

注:

***********************************************************/

void LCD_init(void)

  {

   LCD_RST = 0;     // 產生一個讓LCD復位的低電平脈沖

    delay_1us();

   LCD_RST = 1;

 

   LCD_CE = 0;     // 關閉LCD

    delay_1us();

   LCD_CE = 1;     // 使能LCD

    delay_1us();

 

    LCD_write_byte(0x21, 0);      // 使用擴展命令設置LCD模式

    LCD_write_byte(0xc8, 0);      // 設置液晶偏置電壓

    LCD_write_byte(0x06, 0);      // 溫度校正

    LCD_write_byte(0x13, 0);      // 1:48

    LCD_write_byte(0x20, 0);      // 使用基本命令,V=0,水平尋址

    LCD_clear();                 // 清屏

    LCD_write_byte(0x0c, 0);      // 設定顯示模式,正常顯示

  

    LCD_CE = 0;      // 關閉LCD

  }

 

 

(3)設置Nokia5110液晶的坐標

Nokia5110(PCD8544)的命令集:

 

 

 

命令字符解釋:

 

要注意的是“功能設置”命令的“H”和“V”。

H=0使用基本指令集命令,H=1使用擴展指令集命令。

V=0水平尋址,V=1垂直尋址。

 

 

 

       48*84點陣的格式如上圖,數據以字節(jié)8bit為單位下載到PCD854448*84bit顯示數據RAM矩陣。列通過地址指針尋址,地址范圍為X  0~83(1010011)Y 0~5(101)。地址不允許超過這個范圍。

 

 

 

       在垂直尋址(V=1),Y地址在每個字節(jié)之后遞增,經最后的Y地址(Y=5)之后,Y繞回0X遞增到下一列的地址。

 

 

 

      在水平尋址模式(V=0),X地址在每個字節(jié)之后遞增,經最后的X地址(X=83)之后,X繞回0,Y遞增到下一行的地址。

經每一個最后地址之后(X=83,Y=5),地址指針繞回地址(X=0,Y=0)。

 

 

/***********************************************************

函數名稱:LCD_set_XY

函數功能:設置LCD坐標函數

入口參數:X       083

          Y       05

出口參數:無

注:

***********************************************************/

void LCD_set_XY(unsigned char X, unsigned char Y)

  {

    LCD_write_byte(0x40 | Y, 0);              // column

    LCD_write_byte(0x80 | X, 0);        // row

  }

 

(4)顯示英文字符

英文字符占用6*8個點陣,通過建立一個ASCII的數組font6x8[][6]來尋址。而這個數字的行號對應(字符ASCII-32)。ASCII碼表如下:

 

 

/***********************************************************/

函數名稱:LCD_write_char

函數功能:顯示英文字符

入口參數:c      :  顯示的字符

出口參數:無

注:

***********************************************************/

void LCD_write_char(unsigned char c)

{

    unsigned char line;

    c -= 32;                       //數組的行號

 

    for (line=0; line<6; line++)

        LCD_write_byte(font6x8[c][line], 1);

}

 

    如要在NOKIA5110輸出大寫“A”,對應數組的行號為33,對應的元素為

{ 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C },水平尋址(V=0)

 

 

     

NOKIA5110 一行可以顯示14個字符,可以顯示六行。

 

(5)顯示漢字

顯示漢字可以采用兩種點陣方式,一種是12*12點陣,一種是16*16點陣,網上也有一個自動提取字模的小軟件“3310液晶顯示屏漢字提取程序”,這個小程序只適用于水平尋址(V=0)

3310液晶顯示屏漢字提取程序 下載:

 

采用12*12點陣漢字時,由于不是8的整數倍數,因此行與行之間只能隔開,這樣才能完整顯示一個漢字。

//

{0x0A,0x92,0x62,0x9E,0x02,0x18,0x87,0x74,0x84,0x14,0x0C,0x00,0x02,0x01,0x00,0x04,0x05,0x02,0x01,0x00,0x01,0x02,0x04,0x00},

 

 

12*12點陣

 

(6)顯示圖形

        顯示的圖形像素大小不能超過84*48。也有一個字模提取小軟件Zimo21可以幫助我們得到圖像的像素數組。但要注意Zimo21軟件的設置,不然的話就顯示不了想要的圖片。

Zimo21設置

 

 

 

      要注意選中“縱向取!薄白止(jié)倒序”這樣才能在5110上顯示正確的圖像。

 

/***********************************************************

函數名稱:LCD_draw_bmp_pixel

函數功能:位圖繪制函數

入口參數:X、Y    :位圖繪制的起始XY坐標;

          *map    :位圖點陣數據;

          Pix_x   :位圖像素(長)

          Pix_y   :位圖像素(寬)

出口參數:無

注:

***********************************************************/

void LCD_draw_bmp_pixel(unsigned char X,unsigned char Y,unsigned char *map, unsigned char Pix_x,unsigned char Pix_y)

{

    unsigned int i,n;

    unsigned char row;

                                            //計算位圖所占行數

      if (Pix_y%8==0)             //如果為位圖所占行數為整數

           row=Pix_y/8;     

      else

         row=Pix_y/8+1;            //如果為位圖所占行數不是整數

   

      LCD_set_XY(X,Y);

    for (n=0;n<row;n++)            //換行

      {     

        for(i=0;i<Pix_x;i++)

          {     

                 LCD_set_XY(X+i,Y+n);

             LCD_write_byte(map[i+n*Pix_x], 1);

          }                        

      }     

}

 

 

要顯示的圖像

 

 

NOKIA5110顯示出來的效果

 

 

評分

參與人數 2黑幣 +32 收起 理由
shuisheng60 + 16
yoxi + 16

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:79544 發(fā)表于 2016-8-14 18:16 | 只看該作者
樓主辛苦,怎么沒有完整的程序啊
回復

使用道具 舉報

板凳
ID:77942 發(fā)表于 2018-12-7 00:00 | 只看該作者
不錯的教程。。
回復

使用道具 舉報

地板
ID:473159 發(fā)表于 2019-2-28 22:01 | 只看該作者
好樣的!頂起!
回復

使用道具 舉報

5#
ID:472242 發(fā)表于 2019-3-1 03:35 | 只看該作者
哇塞!真的很棒。!看看下面的效果
回復

使用道具 舉報

6#
ID:578745 發(fā)表于 2019-7-14 14:03 來自手機 | 只看該作者
字符運算
回復

使用道具 舉報

7#
ID:687759 發(fā)表于 2022-1-18 22:53 來自手機 | 只看該作者
不錯學習到了最近在找低功耗屏幕這個諾基亞5110就不錯程序也簡單
回復

使用道具 舉報

8#
ID:106977 發(fā)表于 2022-1-19 12:03 | 只看該作者
某一個寶上800×480分辨率的4寸屏價格不過60元!
回復

使用道具 舉報

9#
ID:101305 發(fā)表于 2023-8-22 17:43 | 只看該作者
就是沒有例子可參考,樓主發(fā)下?
回復

使用道具 舉報

10#
ID:412177 發(fā)表于 2023-8-23 18:47 | 只看該作者
代碼可以參考51單片機驅動NOKIA7110
回復

使用道具 舉報

11#
ID:120219 發(fā)表于 2023-8-24 01:12 | 只看該作者
現在LCD1602也是幾塊錢了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久中文字 | 国产aⅴ精品| 国产美女在线播放 | 暴草美女| 国产一区二区三区四区hd | 91免费看片神器 | 国产免费一区 | 中文字幕亚洲视频 | 一级免费a | 中文字幕欧美一区 | 日本福利片| 九九精品网| 免费观看日韩av | 91精品国产综合久久婷婷香蕉 | 国产1区2区3区 | 日本一道本| 成人午夜免费福利视频 | 一级黄色影片在线观看 | 国产精品96久久久久久 | 国产成人高清成人av片在线看 | 午夜电影福利 | 国产高清精品一区二区三区 | 国产精品夜夜春夜夜爽久久电影 | 老司机狠狠爱 | 色在线看 | 精品www | 亚洲一区二区三区四区五区中文 | 久久国产欧美日韩精品 | 中文字幕av在线播放 | 成人欧美一区二区三区视频xxx | 久久中文免费视频 | 欧美精品一区在线发布 | 精品国产欧美一区二区 | 91国产视频在线观看 | 午夜欧美 | 亚洲精品国产电影 | 精品久久亚洲 | 四虎影院一区二区 | 久久久久久99 | 鸳鸯谱在线观看高清 | 91中文字幕在线 |