LCD126x84液晶显示屏是一种常用于与单片机连接的显示设备,有带中文字库和不带中文字库之分,带中文字库的LCD126x84液晶显示屏由128个点 x 64个点组成,可以显示中文、英文、曲线等字符,显示中文字符时,一个中文字符由16*16的点阵组成,12864LCD液晶显示屏一排可显示8个中文字符,全屏可显示32个中文字符。
LCD126x84液晶显示屏特性
(1)低电源电压(VDD:+3.0–+5.5V)
(2)显示分辨率:128×64 点
(3)内置汉字字库,提供8192 个16×16 点阵汉字(简繁体可选)
(4)内置128 个16×8 点阵字符
(5)2MHZ 时钟频率
(6)显示方式:STN、半透、正显
(7)驱动方式:1/32DUTY,1/5BIAS
(8)视角方向:6 点
(9)背光方式:侧部高亮白色LED,功耗仅为普通LED 的1/5—1/10
(10)通讯方式:串行、并口可选
(11)内置DC-DC 转换电路,无需外加负压
(12)无需片选信号,简化软件设计
(13)工作温度: 0℃ – +55℃ ,存储温度: -20℃ – +60℃
LCD126x84液晶显示屏的购买地址
LCD126x84液晶显示屏的接口定义
LCD126x84液晶显示屏的SPI接口定义
pin# description ==== ======================================== 1 GND - 电源地, 0V 2 VCC - 电源输入, 5V 3 V0 - LCD偏压输入, 控制显示对比度 4 CS - 选择输入, 1:enable 0:disable 5 SID - 串行输入 6 SCLK - 串行时钟 15 PSB - 接口选择, 0:串行 1:並行 17 /RST - 复位 18 VOUT - LCD倍压输出 19 LED_A - 背光LED电源正 20 LED_K - 背光LED电源负
与 Raspberry Pi 之间的 SPI 接口:
Raspberry Pi LCD12864 ============ ======== #19 MOSI -- #5 SID #23 SCLK -- #6 SCLK #24 CE0 -- #4 CS
LCD126x84液晶显示屏连接树莓派Python代码
import spidev import time class LCD12864B: def __init__(self, port, cs): self.spi = spidev.SpiDev() self.spi.open(port, cs) self.spi.cshigh = True def writeCommand(self, cmd): self.spi.xfer2([0xf8, cmd & 0xf0, (cmd << 4) & 0xf0]) time.sleep(0.001) def writeByte(self, byte): self.spi.xfer2([0xfa, byte & 0xf0, (byte << 4) & 0xf0]) def writeData(self, data): bytes = [0xfa] for c in data: b = c.encode('big5') if len(b) == 1: bytes.append(ord(c) & 0xf0) bytes.append((ord(c) << 4) & 0xf0) elif len(b) == 2: bytes.append(ord(b[0]) & 0xf0) bytes.append((ord(b[0]) << 4) & 0xf0) bytes.append(ord(b[1]) & 0xf0) bytes.append((ord(b[1]) << 4) & 0xf0) self.spi.xfer2(bytes) time.sleep(0.001) def reset(self): self.writeCommand(0x30) self.writeCommand(0x0c) self.writeCommand(0x01) self.writeCommand(0x06) def close(self): self.spi.close() def position(self, row, col): addr = { 0: 0x80, 1: 0x90, 2: 0x88, 3: 0x98, } ac = addr.get(row) + col self.writeCommand(ac) def display(self, row, col, str): self.position(row, col) self.writeData(str) lcd = LCD12864B(0, 0) lcd.reset() lcd.display(0, 0, u'白日依山尽,') lcd.display(1, 0, u'黄河入海流。') lcd.display(2, 0, u'欲穷千里目,') lcd.display(3, 0, u'更上一层楼。') lcd.close()