电子说
在电子设计领域,一款优秀的LCD显示屏能为项目带来极大的便利和提升。Matrix Orbital的LCD2041就是这样一款值得深入研究的产品,它具备多种特性和功能,能满足不同项目的需求。下面,我们就来详细了解一下这款智能LCD显示屏。
文件下载:BLC2041.pdf
LCD2041是一款智能LCD显示屏,其设计初衷是减少开发时间,为各类项目提供即时解决方案。它支持通过串行RS - 232/TTL和I²C协议进行通信,几乎可以与任何控制器配合使用。其直观的命令结构让用户可以通过软件控制显示设置,如背光亮度、对比度和波特率等。此外,它还能在非易失性存储器中存储多达32个自定义字符,方便随时调用和显示。
LCD2041提供多种颜色选择,包括标准的黄/绿、反色黄、流行的蓝/白、清晰的白/灰以及适合夜间查看的反色红。同时,它还提供扩展电压和温度选项,让用户可以根据项目需求选择最合适的显示屏。
Matrix Orbital提供了所有必要的接口配件,帮助用户快速启动显示屏。这些配件可以在其电子商务网站(http://www.matrixorbital.com)上找到。用户若需要联系销售代表,可参考文档第51页的联系方式。
LCD2041配备DB - 9连接器,可与使用EIA232标准信号电平(±12V至±12V)的串行设备进行接口。通过设置协议选择跳线,也可以在0至+5V的TTL电平下进行通信。此外,还可以通过DB - 9连接器的引脚9供电,以减少电缆杂乱,但需要设置“Power Through DB - 9 Jumper”。
该连接器为显示屏模块提供标准电源。标准显示屏模块需要5V电压,宽电压(V)型号需要9至15V,宽电压且具有高效电源供应模块(VPT)的型号需要9至35V。电压通过四针电源/数据连接器的引脚1和4施加,引脚2和3用于串行传输,具体使用RS - 232/TTL还是I²C协议取决于协议选择跳线的设置。通过更改“Legacy Connector Jumpers”,可以反转引脚2和3,以兼容以前的PCB版本。
协议选择跳线用于在RS - 232、TTL和I²C协议之间切换显示屏模块。默认情况下,跳线设置为RS - 232模式,通过移除232跳线上的零欧姆电阻并焊接到I²C跳线上,可以将显示屏模块设置为I²C模式,默认从地址为0x50;同理,将电阻焊接到TTL跳线上,可将显示屏切换到TTL模式。
LCD2041的通用输出功能允许用户控制继电器和其他外部设备,每个通用输出可提供高达20mA的电流和+5Vdc。如果驱动的设备需要相对较高的电流(如继电器)且自身内阻大于250欧姆,可以移除与通用输出相关的240欧姆电阻,并用跳线代替。需要注意的是,连接继电器时,应使用二极管和电容器进行完全钳位,以吸收产生的电动势(EMF)。
手动覆盖功能可将LCD2041重置为出厂默认设置。当显示屏模块设置为未知波特率或I²C从地址,无法进行通信时,该功能尤为有用。操作步骤为:先关闭显示屏模块电源,在手动覆盖引脚上放置跳线,然后开启电源,此时显示屏模块将设置为默认值。
首先要确保使用正确的电源连接器,避免使用PC电源供应的标准软盘驱动器电源线,因为其引脚输出可能不正确。可使用Matrix Orbital提供的电源电缆适配器连接到PC。接着检查电源电缆的连续性,若没有欧姆表,可尝试更换电源电缆或电源供应。最后检查LCD2041上的电源/数据连接器,若问题仍未解决,可联系Matrix Orbital获取支持。
检查通信电缆的连续性,可尝试更换通信电缆或PC的COM端口。确保显示屏模块设置为使用的通信协议,可通过检查协议选择跳线进行设置。同时,要保证主机系统和显示屏模块使用相同的波特率,显示屏模块的默认波特率为19200 bps。如果通过I²C通信,要确保数据发送到正确的地址,显示屏模块的默认从地址为0x50。此外,I²C通信需要上拉电阻。若问题仍然存在,可使用手动覆盖跳线将显示屏重置为默认设置。
常见原因可能是对比度设置过低,可调整对比度设置,大多数环境下的默认设置为128。需要注意的是,最佳对比度设置可能会因温度、视角和光照条件等因素而有所不同。若无法解决问题,可联系Matrix Orbital获取帮助。
LCD2041在I²C模式下能够以100 KHz的速度进行通信,在单条I²C通信线上可寻址127个单元。进行I²C通信时,需要在数据/电源连接器的引脚2和3对应的SCL和SDA通信线上放置标称值为1K至10K的上拉电阻。模块的数据响应会自动通过RS232输出,若主机要通过I²C查询模块,需要发送命令254 / 160 / 0关闭RS232的数据自动传输,使数据保留在缓冲区,直到主设备读取从设备。I²C数据线通常工作在5V,-1U风格的单元工作在3.3V。LCD2041使用8位寻址,第8位(最低有效位LSB)为读写位,0表示写地址,1表示读地址。默认读地址为0x51,写地址为0x50,可通过命令254 / 51 /
更改地址。在I²C通信中,LCD2041在第9个时钟周期会发送ACK响应,写操作成功完成时会响应ACK,缓冲区满或模块忙于处理数据时会响应NAK。在进行多字节读取时,主设备读取每个字节后应发送ACK表示仍需要数据,发送NAK表示传输结束。编写I²C代码时,需要注意一些速度限制,如读取查询命令的回复时,需要发送命令254 / 160 / 0;读取命令之间需要3ms的延迟;事务内数据字节之间需要625us的延迟;事务之间需要375us的延迟。除了I²C通信,LCD2041还支持通过RS - 232协议进行通信,默认波特率为19,200 bps,支持9600至115,200 bps的标准波特率,也可以通过命令164(0xA4)设置非标准波特率。通过设置协议选择跳线,显示屏模块可以在标准电压水平(-30V至+30V)或TTL水平(0至+5V)下进行通信。
使用命令254 51 [adr]可以更改I²C写地址,地址范围为0x00至0xFF,且必须为偶数,读地址会自动设置为比写地址高1。地址更改立即生效,默认地址为0x50。
使用命令254 57 [speed]可以将RS - 232端口设置为指定的波特率,更改立即生效。有效波特率对应的十六进制值在文档中有详细列表。若传输过程中出现错误,可通过设置手动覆盖跳线在启动时将显示屏模块重置为19,200波特率,但在移除手动覆盖跳线之前,该命令将被忽略。需要注意的是,此命令在I²C模式下不可用。
使用命令254 164 [speed]可以将RS - 232端口设置为非标准波特率。[speed]是一个两字节参数,通过公式“speed = CrystalSpeed / (8 × DesiredBaud) - 1”计算得出,范围为12至2047,对应波特率范围为977至153,800波特。实际波特率必须在预期波特率的3%以内,设备才能正常通信。此命令在I²C模式下不可用。
LCD2041能够显示所有ASCII格式的字符和字符串,字符集有多种定义。同时,它还支持一些ASCII控制字符,如0x08(退格)、0x0C(清屏/新页面)、0x0D(回车)和0x0A(换行)。
通过命令254 81可以开启自动滚动功能,当文本到达最后一行末尾时,显示屏会将整个内容上移,为新的文本行腾出空间;使用命令254 82可以关闭自动滚动功能,此时文本到达最后一行末尾时会换行到显示区域的左上角。
命令254 88可以立即清除显示屏的所有内容;命令254 64可以更改LCD2041启动时显示的文本,发送该命令后跟随要显示的字符,字符会自动换行。
通过命令254 71 [col] [row]可以手动设置光标位置,指定新的列和行;命令254 72可以将光标返回到显示区域的左上角;命令254 76和254 77分别用于将光标向后和向前移动一个空格;命令254 74和254 75用于开启和关闭下划线光标;命令254 83和254 84用于开启和关闭闪烁块光标。
LCD2041允许创建最多八个自定义字符,每个自定义字符是一个5×8像素的矩阵,每行由一个字节值表示。使用命令254 78 [refID] [data]可以创建自定义字符,[refID]为字符参考ID(0 - 7),[data]为8字节的字符数据。创建后,可通过发送[refID]来显示自定义字符。使用命令254 193 [Bank] [ID] [Data]可以将自定义字符保存到非易失性存储器的五个内存库中,每个内存库可存储一组八个自定义字符,默认情况下,内存库0包含启动屏幕使用的字符。
使用命令254 192 [Bank]可以将自定义字符加载到易失性存储器中,以便使用。如果存储了自定义条形图或数字字符,可使用此命令代替初始化条形图/数字的命令。
使用命令254 194 [refID] [data]可以创建用于启动屏幕的自定义字符,该字符将存储在内存库0中。更改在电源循环后生效,此命令等同于发送CMD 254 / 193 / 0 / [ID] / [DATA]。
通过命令254 109、254 110、254 104、254 115和254 118可以分别初始化默认的中等数字、大数字、水平条形、窄垂直条形和宽垂直条形字符。在使用相应的放置命令之前,必须先进行初始化。
使用命令254 111 [Row] [Col] [Digit]、254 35 [Col] [Digit]、254 124 [Col] [Row] [Dir] [Length]和254 61 [Column] [Length]可以分别在指定位置放置中等数字、大数字、水平条形图和垂直条形图。
LCD2041的通用输出(GPO)功能允许连接如LED等设备,并为其提供5V、20mA的电流。通过命令254 86 [Num]和254 87 [Num]可以分别关闭和开启指定编号的通用输出;使用命令254 195 [Num] [state]可以设置通用输出在下次启动时的状态,0表示关闭,1表示开启。
命令254 66 [min]可以在指定的分钟数(0至90)后开启显示屏背光,0表示立即开启并保持开启状态;命令254 70可以立即关闭显示屏背光,直到收到“Display On”命令。
命令254 153 [brightness]可以设置显示屏的亮度,范围为0至255;命令254 152 [brightness]可以设置并保存显示屏的亮度为默认值。命令254 80 [contrast]可以设置显示屏的对比度,范围为0至255,较低的值使显示区域的“开”元素变亮,较高的值使“开”元素变暗。此命令不保存对比度值,电源关闭后会丢失,但在“Remember”功能开启时,等同于“Set and Save Contrast”命令;命令254 145 [contrast]可以设置并保存显示屏的对比度,避免电源关闭后丢失。
命令254 147 [switch]可以开启或关闭记忆功能,0表示不记忆,1表示记忆。使用记忆功能时,先开启记忆功能,然后设置要保存的所有设置,设置中标记为“Remember: Yes”的支持保存到非易失性存储器中。需要注意的是,写入非易失性存储器会消耗时间并降低显示屏的操作速度,且非易失性存储器有写入限制,大约可更改100,000次。
命令254 202 245 160 [level]可以设置数据锁定级别,每个位对应不同的锁定级别,发送0可解锁显示屏。数据锁定级别可组合使用,新的锁定级别会覆盖之前的级别。命令254 203 245 160 [level]可以设置并保存数据锁定级别。
命令254 52 [data]可以将16字节的客户数据写入非易失性存储器;命令254 53可以读取之前写入的客户数据。
通过命令254 54可以返回表示模块版本的字节;命令254 55可以返回对应模块型号的十六进制值。
Matrix Orbital的LCD2041是一款功能强大、灵活多样的智能LCD显示屏。它在通信、显示控制、特殊字符处理、数据安全等方面都提供了丰富的功能和设置选项,能够满足不同电子项目的需求。电子工程师在使用过程中,需要根据具体项目要求,合理配置各项参数和功能,以充分发挥其优势。同时,在遇到问题时,可以参考本文提供的故障排除方法进行解决。你在使用LCD2041的过程中遇到过哪些有趣的问题或挑战呢?欢迎在评论区分享。
全部0条评论
快来发表一下你的评论吧 !