电子说
在电子设计领域,一款优秀的LCD显示屏能极大提升项目的用户体验和功能实现。Matrix Orbital的LCD0821智能LCD显示屏就是这样一款值得关注的产品。它为开发者提供了便捷的解决方案,减少了开发时间,并且具备丰富的功能和灵活的配置选项。本文将深入介绍LCD0821的各个方面,包括其特点、硬件信息、通信方式、文本显示、特殊字符处理、通用输出、显示功能、数据安全以及杂项功能等,帮助电子工程师更好地了解和使用这款显示屏。
文件下载:LCD0821.pdf
LCD0821是一款8列2行的字母数字液晶显示屏,具有以下显著特点:
将LCD0821连接到PC进行功能测试,需要标准的RS - 232 9针串口电缆和修改后的5V电源适配器。连接步骤如下:
注意:不要使用标准的软盘驱动器电源连接器,否则会因电压不正确而损坏显示模块。
Matrix Orbital提供了uProject软件,用于测试字母数字显示屏的所有功能。安装步骤如下:
首次运行uProject时,需检查COM设置中的信息,确保正确输入后即可控制图形显示屏的所有功能。
LCD0821的电源/数据连接器为显示模块供电,标准显示模块需要5V电压,宽电压(V)型号需要9 - 15V电压。电压通过4针电源/数据连接器的1号和4号引脚施加,2号和3号引脚用于串行传输,可根据协议选择跳线选择RS - 232/TTL或I²C协议。
RS - 232接口提供了另一种串行传输连接器,仅用于RS - 232传输。
手动重置功能可将LCD0821恢复到出厂默认设置。操作步骤如下:
LCD0821的通用输出可提供高达20mA的电流和+5Vdc,可用于控制继电器和其他外部设备。若驱动的设备需要较高电流且内部电阻大于250欧姆,可移除240欧姆电阻并更换为跳线。但连接继电器时,需使用二极管和电容器进行完全钳位,以吸收产生的电动势。
协议选择跳线可在RS - 232、TTL和I²C协议之间切换显示模块。默认情况下,跳线设置为RS - 232模式,若要切换到I²C模式,需移除232跳线上的焊锡跳线并放置在I²C跳线上;若要切换到TTL模式,只需移除232或I²C跳线上的零欧姆电阻并焊接到TTL跳线上。
LCD0821在I²C模式下能够以100 KHz的速度通信,单个I²C通信线路上可寻址127个单元。通信时,需在SCL和SDA通信线路上放置标称值为1K - 10K的上拉电阻。模块的数据响应会自动通过RS232输出,若主机要通过I²C查询模块,需发送命令254 / 160 / 0关闭RS232的数据自动传输。I²C数据线路通常工作在5V,-1U风格的单元工作在3.3V。LCD0821使用8位寻址,第8位(最低有效位LSB)作为读写位,0表示写地址,1表示读地址。默认读地址为0x51,写地址为0x50,可通过cmd 254 / 51 /
更改地址。| 典型的I²C事务包含起始序列、寻址、信息和停止序列四个部分。例如,要写入“HELLO”消息,事务算法如下: | 步骤 | 操作 |
|---|---|---|
| START | 数据线路SDA从高到低切换,时钟线路SCL为高 | |
| Address | 写入地址0x50 | |
| Information | 发送信息0x48 0x45 0x4C 0x4C 0x4F | |
| STOP | 数据线路SDA从低到高切换,时钟线路SCL为高 |
LCD0821除了支持I²C通信外,还通过RS - 232协议进行本地通信,默认波特率为19,200 bps,支持9600 - 115,200 bps的标准波特率,也可通过命令164(0xA4)设置非标准波特率。通过设置协议选择跳线为TTL,可使显示模块在0 - +5V的TTL电平下通信。
通过发送命令0xFE 0x33 [adr](十六进制)、254 51 [adr](十进制)或254 “3” [adr](ASCII)可更改I²C从地址,新地址必须为偶数,读地址自动设置为比写地址高1。
| 发送命令0xFE 0x39 [speed](十六进制)、254 57 [speed](十进制)或254 “9” [speed](ASCII)可将RS - 232端口设置为指定的波特率。有效波特率对应的十六进制值如下: | 十六进制值 | 波特率 |
|---|---|---|
| 53 | 1200 | |
| 29 | 2400 | |
| CF | 4800 | |
| 67 | 9600 | |
| 33 | 19200 | |
| 22 | 28800 | |
| 19 | 38400 | |
| 10 | 57600 | |
| 8 | 115200 |
注意:此命令在I²C模式下不可用。
使用命令0xFE 0xA4 [speed](十六进制)、254 164 [speed](十进制)可将RS - 232端口设置为非标准波特率。[speed]通过公式speed = CrystalSpeed / (8 × DesiredBaud) - 1计算,范围为12 - 2047,对应波特率范围为977 - 153,800 baud。实际波特率必须在预期波特率的3%以内,设备才能正常通信。
LCD0821能够显示当前字符集定义的所有ASCII格式字符和字符串,默认字体集为日语(-WB颜色选项除外)。同时,它支持以下ASCII控制字符:
发送命令0xFE 0x58(十六进制)、254 88(十进制)或254 “X”(ASCII)可立即清除显示屏的所有内容。
发送命令0xFE 0x40(十六进制)、254 64(十进制)或254 “@”(ASCII),后跟要显示的字符,可更改LCD0821启动时显示的文本。
LCD0821允许添加多达8个自定义字符,每个自定义字符是一个5×8像素矩阵,每行由一个字节值表示。通过发送命令254 78 [refID] [data](十进制)或254 “N” [refID] [data](ASCII)可创建自定义字符,[refID]为字符参考ID(0 - 7),[data]为8字节的字符数据。创建后,发送[refID]即可在当前光标位置显示自定义字符。
发送命令0xFE 0xC1 [Bank] [ID] [Data](十六进制)、254 193 [Bank] [ID] [Data](十进制)可将自定义字符保存到非易失性存储器的指定内存银行(0 - 4)中。默认情况下,内存银行0包含启动屏幕使用的字符。
发送命令254 192 [Bank](十进制)可将指定内存银行中的自定义字符加载到易失性存储器中,以便使用。
发送命令0xFE 0xC2 [refID] [data](十六进制)、254 194 [refID] [data](十进制)可创建并保存用于启动屏幕的自定义字符。
发送命令0xFE 0x6D(十六进制)、254 109(十进制)或254 “m”(ASCII)可将默认的中号数字字符加载到易失性存储器中,以便使用“放置中号数字”命令。
发送命令0xFE 0x6F [Row] [Col] [Digit](十六进制)、254 111 [Row] [Col] [Digit](十进制)或254 “o” [Row] [Col] [Digit](ASCII)可在指定的行和列位置放置中号数字(0 - 9)。
发送命令0xFE 0x68(十六进制)、254 104(十进制)或254 “h”(ASCII)可将默认的水平条形字符加载到易失性存储器中,以便使用“放置水平条形图”命令。
发送命令254 124 [Col] [Row] [Dir] [Length](十进制)或254 “|” [Col] [Row] [Dir] [Length](ASCII)可在指定的行和列位置放置水平条形图,[Dir]为条形数据的方向(0表示向右,1表示向左),[Length]为条形图的像素大小。
发送命令0xFE 0x3D [Column] [Length](十六进制)、254 61 [Column] [Length](十进制)或254 “=” [Column] [Length](ASCII)可在指定的列位置放置垂直条形图,[Length]为条形图的像素大小。
LCD0821有3个软件控制的通用输出(GPO),可连接LED等设备,提供高达20mA的电流和5V电压。
发送命令254 86 [Num](十进制)或254 “V” [Num](ASCII)可关闭指定编号的通用输出,关闭表示输出被拉高。
发送命令0xFE 0x57 [Num](十六进制)、254 87 [Num](十进制)或254 “W” [Num](ASCII)可开启指定编号的通用输出,开启表示输出被拉低。
发送命令0xFE 0xC3 [Num] [state](十六进制)、254 195 [Num] [state](十进制)可设置下一次上电时GPO的启动状态,[state]为0表示关闭,1表示开启。
全部0条评论
快来发表一下你的评论吧 !