教你玩轉Nokia 5110液晶屏

液晶顯示模塊具有體積小、顯示內容豐富、超薄、輕巧等優點,在嵌入式系統,尤其是低功耗場合中,得到越來越廣泛的應用。目前,市場上比較常見的液晶顯示屏有LCD1602、LCD12232、LCD12864等,但這幾款液晶屏的功耗都比較高,本文將介紹一款低功耗的液晶顯示模塊——Nokia 5110,它是從諾基亞的經典手機Nokia 5110上拆下來的,具有較高的性價比。

教你玩轉Nokia 5110液晶屏

Nokia 5110液晶屏(見圖23.1)採用串行通信接口與主控制器進行通信,具有84像素×48像素的分辨率,工作電壓為2.7~3.3V,在正常工作模式下,電流為240µA,具有掉電模式,特別適合以電池供電的便攜式移動設備。

教你玩轉Nokia 5110液晶屏

圖23.1 Nokia 5110實物圖

教你玩轉Nokia 5110液晶屏

表23.1 Nokia 5110液晶屏的引腳

硬件電路設計

Nokia 5110液晶屏共有9個引腳,除去電源和地,通信引腳只有5個,功能如表23.1所示。CLK為時鐘輸入引腳,最高輸入頻率為4MHz;DIN為串行數據輸入引腳,在時鐘的上升沿傳輸;D/C為數據和指令切換引腳,高電平發送數據,低電平發送控制指令;CS為片選引腳,低電平有效;OSC為振盪器引腳,如果使用內部振盪器,需要將該引腳接高電平,如果使用外部振盪器,則直接將該引腳連接外部晶體振盪器;VOUT為供電設置引腳,外接0.1µF電容;RST為復位引腳,用於初始化液晶屏,低電平有效。

Nokia 5110液晶的串行通信接口只需要簡單的幾個阻容元件即可工作,電路如圖23.2所示。使用內部振盪器,OSC引腳直接接高電平,VOUT引腳通過一個0.1µF電容接地。Nokia 5110液晶屏自身並沒有背光電路,需要外接幾個LED作為背光源,經實際驗證表明,以貼片的藍光或者白光二極管作為背光源,效果比較好,圖23.2中共有4路藍色LED作為背光源。

教你玩轉Nokia 5110液晶屏

圖23.2 Nokia 5110硬件電路原理圖

驅動程序設計

1. 驅動指令

Nokia 5110 液晶屏通過控制D/C 引腳的電平高、低顯示數據或者發送控制指令。當D/C為低電平時,輸出的是控制指令信息;當D/C為高電平時,輸出的是顯示數據。由於控制指令數目比較少,因此Nokia 5110內部並沒有設置寄存器存儲指令,通過指令的數據格式進行識別,指令集如表23.2所示。不同指令的數據格式明顯不同,總是在傳輸字節的某一位置高電平,如X座標的第7位固定為高電平,Y座標的第6位固定為高電平。

功能設置指令的PD位用來設置液晶工作模式,當PD為1時,芯片處於掉電模式,消耗電流降低到1.5µA;V位用來設置液晶屏尋址方式,當V為1時,啟用垂直尋址方式,當V為0時,啟用水平尋址方式,一般啟用後者;H位用來控制指令集選擇,H為高電平時,使用擴展指令集,H設置為低電平時,使用基本指令集。

顯示設置通過D位和E位的組合進行調整,當D、E設置為0、0時,液晶屏顯示空白,設置為1、0時,對應普通顯示模式,0、1和1、1方式用得比較少。X座標通過組合X6~X0設置,地址範圍為0~83,Y座標通過組合Y2~Y0設置,地址範圍為0~5。

擴展指令集主要用於設置液晶屏的工作參數,可以根據經驗進行設置。溫度控制一般設置為0x06;偏置系統設置為0x13;Vop用於設置液晶屏操作電壓,可通過下式進行計算,其中Vop取值範圍為0~0x7F,即Vlcd設置範圍為3.06~10.68V。

教你玩轉Nokia 5110液晶屏

教你玩轉Nokia 5110液晶屏

表23.2 Nokia 5110液晶屏的指令集

2. 程序設計

Nokia 5110 液晶屏的驅動程序包括初始化、清屏、顯示字符、顯示漢字、顯示圖形等函數,用戶也可以根據需要開發新的接口程序。首先來看一下Nokia 5110液晶屏的時序圖(見圖23.3),在CS片選線的低電平有效期間發送數據,圖中用圓圈標註的地方表示上升沿傳輸數據或者指令,傳輸數據高電平在先、低電平在後。串行總線發送多個字節的時序圖,如圖23.4所示。

教你玩轉Nokia 5110液晶屏

圖23.3 串行總線傳送1個字節

教你玩轉Nokia 5110液晶屏

圖23.4 串行總線傳送多個字節

這裡以STC89C51 單片機為例,介紹Nokia 5110 液晶屏的驅動過程,如果採用AVR 或STM32 等自帶 SPI 接口的單片機,可以通過 SPI 串行接口直接與 Nokia 5110 液晶屏通信。STC89C51單片機沒有SPI接口,通過I/O口進行模擬也很方便。

鑑於篇幅關係,函數不再一一介紹,有需要的讀者可以從qq群657864614上下載源代碼。

應用案例

由於Nokia 5110液晶屏本身不含有字庫,因此實際應用過程中,需要用戶自己做字庫、圖形文件,存儲在嵌入式處理器或者外部的存儲器中。如果顯示字符信息,字模大小一般設置為6像素×8像素,則每行可以顯示14個字符,顯示6行,一共84個字符。

這裡向大家介紹一款不錯的字模軟件——3310液晶顯示屏漢字提取程序,其界面如圖23.5所示,該軟件可以很方便地製作出12像素×12像素與16像素×16像素大小的漢字字庫。如果用戶需要製作其他格式的字庫,可以使用Zimo21軟件,該軟件功能強大,除了製作字庫,還可以生成圖片的HEX代碼。

通過STC89C51單片機運行如下主程序,即可顯示漢字和圖形,如圖23.6和圖23.7所示。用戶可以參照本文,很方便地將Nokia 5110液晶屏應用到自己的產品設計中。

main(void)

{

LCD_init();//初始化液晶

LCD_clear();//清屏

while(1)

{

LCD_write_english_string(0,0," Nokia5110 LCD ");//顯示字符

LCD_write_chinese_string(15,2,12,4,0,2);//顯示漢字

LCD_write_chinese_string(1,4,12,6,4,2);//顯示漢字

//LCD_draw_bmp_pixel (0,0,picture1,40,40);//顯示圖形1

//LCD_draw_bmp_pixel (42,0,picture2,40,40);//顯示圖形2

}

}

教你玩轉Nokia 5110液晶屏

圖23.5 3310液晶顯示屏漢字提取程序

教你玩轉Nokia 5110液晶屏

圖23.6 Nokia 5110液晶屏顯示漢字

教你玩轉Nokia 5110液晶屏

圖23.7 Nokia 5110液晶屏顯示圖形


分享到:


相關文章: