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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC8H硬件SPI驅動Nokia5110 LCD(PCD8544)

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

原文地址: https://www.cnblogs.com/milton/p/16339805.html

有片很早以前買的Nokia5110 LCD一直在紙箱里吃灰. 可能是買其它配件時送的? 沒有合適的用途一直扔在那里, 偶爾見到總會想什么時候有空給它點一下.

外觀長這樣. 其實市面上這種模塊有幾個不同的版本, 另一種版本是上下有兩排排針, 方便不同的PCB布局, 功能是一樣的.


單色LCD, 84x48像素, 帶4顆藍色LED燈珠作為背光. 顯示芯片是Philips PCD8544.

因為是Nokia5110手機的顯示屏, 所以一般都叫它Nokia5110 LCD. 在2014年大屏手機還沒流行的年代, 這是個相當不錯的顯示輸出設備, 相對于1602和2004LCD, 體積小分辨率高, 便宜量又足.

現(xiàn)在遍地12864的LCD/OLED, 還有分辨率更高的彩色LCD可以選擇, 這個模塊也就沒什么人用了.

PCD8544

菲利普生產(chǎn)的單片低功耗CMOS LCD驅動控制器芯片, 用于驅動84x48像素的LCD
接口是SPI
顯示內存 = 6 banks x 84 segments x 8 bits = 4032 bits = 504字節(jié)
Each bank contains 84 columns/segments (from 0 to 83)
Each column can store 8 bits of data (from 0 to 7)

Pin腳



RST 復位
CE 片選, CS
DC 數(shù)據(jù)/指令選擇, D/C
DIN SPI數(shù)據(jù), MOSI
CLK SPI時鐘線
VCC 電源, 這個模塊兼容3.3V和5V, 如果沒有標識建議使用3.3V
BL 背光
GND 接地

指令說明

PCD8544 的指令很少, 比 ST7567還少. 顯示機制和 ST7567 基本上是一樣的.

寫數(shù)據(jù)和寫命令
使用D/C pin控制, 高電平表示寫入數(shù)據(jù), 低電平表示寫命令

功能設置
Function set: 0x20, 疊加下面的參數(shù)

Power down control: 0x04 關機模式
Entry mode: 0x02 尋址方式, 設置后變成垂直尋址, 先下再右; 正常模式是先右再下, 一般使用正常模式
Extended instruction set: 開啟擴展指令. 開啟后可以修改溫度參數(shù), 電壓基準偏移, 顯示電壓, 后面兩個用于調節(jié)LCD的對比度
顯示控制
Display control: 0x08, 疊加下面的參數(shù)

Display blank 顯示空白: 0x00
Normal mode 正常顯示: 0x04
All display segment on 顯示全部: 0x01
Inverse video mode 反顯模式: 0x05

坐標定位

PCD8544的顯示結構


只能定位到字節(jié), 定位后寫入數(shù)據(jù), 會按設置好的尋址方式往下寫

設置x坐標: 0x80 疊加 [0x00, 0x84) 之間的值
設置y坐標: 0x40 疊加 [0x00, 0x06) 之間的值

擴展指令

下面的命令必須在開啟擴展指令后執(zhí)行才有效

Temperature control 溫度因子, 0x04 疊加取值 [0x00, 0x03]
Bias system 電壓基準控制, 0x10 疊加取值 [0x00, 0x07]
Set Vop 顯示電壓控制, 0x80 疊加取值 [0x00, 0x7F]
這三個指令需要說明一下, 設置不當可能會顯示全黑或者完全無顯示

溫度因子可以不設置, 使用默認
電壓基準設置得越大, 最后的實際顯示電壓越高, LCD顯示部分就越黑, 如果屏幕無顯示, 可以先調成0x07試試
顯示電壓高低和設置的值成正比, 值越高實際顯示電壓越高, LCD顯示部分就越黑
使用 STC8H 進行測試
以下使用 STC8H3K32 和 FwLib_STC8 進行測試

接線

上電前一定要檢查一下VCC和GND是否正確, 電壓是否正確

P37   -> RES, RESET
P36   -> DC, A0
P35   -> CE, Chip Select
P32   -> SCK, SCL, CLK, Clock
P12   -> BL, Backlight
P34   -> MOSI, Din
GND   -> GND
3.3V  -> VCC

代碼

代碼可以從GitHub或者Gitee下載

GitHub: https://github.com/IOsetting/FwL ... d8544_nokia5110_lcd
Gitee: https://gitee.com/iosetting/fw-l ... d8544_nokia5110_lcd

初始化
  1. // 重置
  2. PCD8544_Reset();
  3. // 設置對比度, 如果顯示太淡或太深, 需要自行調整
  4. PCD8544_SetContrast(0x06, 0x20);
  5. // 設置為正常顯示模式
  6. PCD8544_SetDisplayNormal();
復制代碼

開啟和關閉背光
  1. // 開啟背光
  2. PCD8544_SetBackLightState(HAL_State_ON);
  3. // 關閉背光
  4. PCD8544_SetBackLightState(HAL_State_OFF);
復制代碼

清屏
  1. PCD8544_Fill(0);
  2. PCD8544_UpdateScreen();
復制代碼



反顯
開啟反顯后, 需要再設置為正常顯示模式才能恢復, 不能通過再次調用反顯恢復
  1. PCD8544_SetDisplayInverted();
復制代碼


畫線
  1. // 從(0,0)畫線到(83,0)
  2. PCD8544_DrawLine(0,   0,  83,  0, 1);
  3. PCD8544_DrawLine(0,   0,   0, 47, 1);
  4. PCD8544_DrawLine(83,  0,  83, 47, 1);
  5. PCD8544_DrawLine(0,  47,  83, 47, 1);
  6. PCD8544_UpdateScreen();
復制代碼


顯示文字
  1. // 移動坐標到(3,3)
  2. PCD8544_GotoXY(3, 3);
  3. // 使用5x7字體顯示英文
  4. PCD8544_Puts("LCD:PCD8544", Font_5x7, 1);
  5. PCD8544_UpdateScreen();
復制代碼


關機模式
  1. // 關機
  2. PCD8544_SetPowerDownMode(HAL_State_ON);
  3. // 開機
  4. PCD8544_SetPowerDownMode(HAL_State_OFF);
復制代碼


參數(shù)說明
這三個擴展命令會影響顯示, 設置不當會變成全白或全黑
  1. #define PCD8544_SETTEMP             0x04 // Extended instruction set - Set temperature coefficient
  2. #define PCD8544_SETBIAS             0x10 // Extended instruction set - Set bias system
  3. #define PCD8544_SETVOP              0x80 // Extended instruction set - Write Vop to register
復制代碼


其中
PCD8544_SETTEMP是溫度因子, 通常不需要設置
PCD8544_SETBIAS是偏壓級別, 通常設置為[3,7]之間的指, 對應的寫入就是[0x13, 0x17]
PCD8544_SETVOP是系統(tǒng)電壓, 會受上面的兩個參數(shù)影響
如果初始化后無顯示或顯示全黑的, 可以根據(jù)上面的范圍調整.

演示



視頻中可以看到不同基準電壓下, 調節(jié)顯示電壓造成的對比度變化

https://www.bilibili.com/video/BV1eF411G7Y7


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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色橹橹欧美在线观看视频高清 | 日韩精品一区二区三区视频播放 | 色噜噜狠狠色综合中国 | 国产一区二区在线免费 | 国产xxx在线观看 | 国产精品日日摸夜夜添夜夜av | 国产精品亚洲精品久久 | 欧美精品在线播放 | www.天天操| 国产成人综合一区二区三区 | 日本一区二区高清不卡 | 久久免费观看一级毛片 | 一区二区三区中文字幕 | 国产成人av电影 | 国产 日韩 欧美 在线 | 欧美视频在线看 | 日本超碰| 欧美日韩中文在线 | 99久久国产免费 | 亚洲综合色视频在线观看 | 久久久久久久成人 | 亚洲免费一区二区 | 国产精品久久久久久影院8一贰佰 | 一级免费黄色 | 天堂中文字幕av | 国产一级一片免费播放 | 毛片com| 91在线影院| 日韩视频一区二区 | 免费一级黄色 | 日韩精品视频在线观看一区二区三区 | av免费网站在线观看 | 欧美亚洲成人网 | 九九久久国产 | 欧美一区不卡 | 亚洲精品在线免费观看视频 | 亚洲国产日韩一区 | 三级免费网| 精品国产一区二区三区在线观看 | 欧美一级二级三级视频 | 亚洲综合区 |