Shared Project: LPC832 16x2 LCD driver

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Shared Project: LPC832 16x2 LCD driver

跳至解决方案
2,942 次查看
aaronm
Contributor IV

This isn't a request for help; I'm sharing work with the community in the hopes that it helps someone else in a similar scenario.  Free to use as you wish, and I take no responsibility for any issues you have with it.

I'm doing work with a µcontroller that doesn't have tons of pins to spare for an LCD, so I decided to use an LPC832 as a 16x2 LCD driver over SPI, to reduce the number of pins needed on my main controller.  I came up with this, and it seems to work pretty well, so I thought I'd share.  I tested it with Bus Master 5's SPI mode, and it responded appropriately, but you'll have to test it with your environment.

Untar the "tgz" file, import it into MCUXpresso as a new project, connect your pins as shown in the illustration, and it should work.  It uses "command" bytes to indicate what action you want to take:

0 = clear; sub-command 0 - entire screen; 1 - the current line
1 = goto; row col
2 = print; sub-command 0 - single character; 1 - string
3 = LCD display command; command bytes relevant to your LCD display
anything else is ignored

Commands and operands are separated by spaces, so "0 0" clears the entire screen.  "2 1 ascii bytes" prints a string at the current LCD position.  "1 1 0" goto row 1 (second row; counting from offset 0), position 0.

This is configured for 16x2, but it wouldn't be hard to adjust for bigger screens.

Thanks to @ErichStyger for his HD44780 library, on which this is partially based.

https://github.com/ErichStyger/McuOnEclipseLibrary/blob/master/lib/HD44780/McuHD44780.c

标签 (1)
0 项奖励
回复
1 解答
2,922 次查看
Pavel_Hernandez
NXP TechSupport
NXP TechSupport

Hello, thanks for your contribution on the community.

Best regards,
Pavel

在原帖中查看解决方案

1 回复
2,923 次查看
Pavel_Hernandez
NXP TechSupport
NXP TechSupport

Hello, thanks for your contribution on the community.

Best regards,
Pavel

%3CLINGO-SUB%20id%3D%22lingo-sub-1997614%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%85%B1%E4%BA%AB%E9%A1%B9%E7%9B%AE%EF%BC%9ALPC832%2016x2%20LCD%E9%A9%B1%E5%8A%A8%E5%99%A8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1997614%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E8%BF%99%E4%B8%8D%E6%98%AF%E6%B1%82%E5%8A%A9%EF%BC%9B%E6%88%91%E6%AD%A3%E5%9C%A8%E4%B8%8E%E7%A4%BE%E5%8C%BA%E5%88%86%E4%BA%AB%E5%B7%A5%E4%BD%9C%EF%BC%8C%E5%B8%8C%E6%9C%9B%E8%83%BD%E5%B8%AE%E5%8A%A9%E5%88%B0%E5%A4%84%E4%BA%8E%E7%B1%BB%E4%BC%BC%E6%83%85%E5%86%B5%E7%9A%84%E5%85%B6%E4%BB%96%E4%BA%BA%E3%80%82%E6%82%A8%E5%8F%AF%E4%BB%A5%E9%9A%8F%E6%84%8F%E5%85%8D%E8%B4%B9%E4%BD%BF%E7%94%A8%EF%BC%8C%E5%AF%B9%E4%BA%8E%E6%82%A8%E9%81%87%E5%88%B0%E7%9A%84%E4%BB%BB%E4%BD%95%E9%97%AE%E9%A2%98%EF%BC%8C%E6%88%91%E6%A6%82%E4%B8%8D%E8%B4%9F%E8%B4%A3%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E6%B2%A1%E6%9C%89%E5%A4%A7%E9%87%8F%E5%BC%95%E8%84%9A%E7%94%A8%E4%BA%8E%20LCD%20%E7%9A%84%20%C2%B5controller%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E5%86%B3%E5%AE%9A%E4%BD%BF%E7%94%A8%20LPC832%20%E4%BD%9C%E4%B8%BA%20SPI%20%E4%B8%8A%E7%9A%84%2016x2%20LCD%20%E9%A9%B1%E5%8A%A8%E5%99%A8%EF%BC%8C%E4%BB%A5%E5%87%8F%E5%B0%91%E4%B8%BB%E6%8E%A7%E5%88%B6%E5%99%A8%E4%B8%8A%E6%89%80%E9%9C%80%E7%9A%84%E5%BC%95%E8%84%9A%E6%95%B0%E9%87%8F%E3%80%82%E6%88%91%E6%83%B3%E5%88%B0%E8%BF%99%E4%B8%AA%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E4%BC%BC%E4%B9%8E%E6%95%88%E6%9E%9C%E5%BE%88%E5%A5%BD%EF%BC%8C%E6%89%80%E4%BB%A5%E6%88%91%E6%83%B3%E5%88%86%E4%BA%AB%E4%B8%80%E4%B8%8B%E3%80%82%E6%88%91%E4%BD%BF%E7%94%A8%20Bus%20Master%205%20%E7%9A%84%20SPI%20%E6%A8%A1%E5%BC%8F%E5%AF%B9%E5%85%B6%E8%BF%9B%E8%A1%8C%E4%BA%86%E6%B5%8B%E8%AF%95%EF%BC%8C%E5%AE%83%E5%81%9A%E5%87%BA%E4%BA%86%E9%80%82%E5%BD%93%E7%9A%84%E5%93%8D%E5%BA%94%EF%BC%8C%E4%BD%86%E6%82%A8%E5%BF%85%E9%A1%BB%E4%BD%BF%E7%94%A8%E6%82%A8%E7%9A%84%E7%8E%AF%E5%A2%83%E5%AF%B9%E5%85%B6%E8%BF%9B%E8%A1%8C%E6%B5%8B%E8%AF%95%E3%80%82%3C%2FP%3E%3CP%3E%E8%A7%A3%E5%8E%8B%E2%80%9Ctgz%E2%80%9D%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B0%86%E5%85%B6%E4%BD%9C%E4%B8%BA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%AF%BC%E5%85%A5%20MCUXpresso%EF%BC%8C%E6%8C%89%E7%85%A7%E5%9B%BE%E7%A4%BA%E8%BF%9E%E6%8E%A5%E5%BC%95%E8%84%9A%EF%BC%8C%E5%AE%83%E5%B0%B1%E5%8F%AF%E4%BB%A5%E5%B7%A5%E4%BD%9C%E4%BA%86%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E2%80%9C%E5%91%BD%E4%BB%A4%E2%80%9D%E5%AD%97%E8%8A%82%E6%9D%A5%E6%8C%87%E7%A4%BA%E6%82%A8%E6%83%B3%E8%A6%81%E9%87%87%E5%8F%96%E7%9A%84%E6%93%8D%E4%BD%9C%EF%BC%9A%3C%2FP%3E%3CPRE%20translate%3D%22no%22%3E0%20%3D%20clear%3B%20sub-command%200%20-%20entire%20screen%3B%201%20-%20the%20current%20line%3CBR%20%2F%3E1%20%3D%20goto%3B%20row%20col%3CBR%20%2F%3E2%20%3D%20print%3B%20sub-command%200%20-%20single%20character%3B%201%20-%20string%3CBR%20%2F%3E3%20%3D%20LCD%20display%20command%3B%20command%20bytes%20relevant%20to%20your%20LCD%20display%3CBR%20%2F%3Eanything%20else%20is%20ignored%3C%2FPRE%3E%3CP%3E%E5%91%BD%E4%BB%A4%E5%92%8C%E6%93%8D%E4%BD%9C%E6%95%B0%E4%BB%A5%E7%A9%BA%E6%A0%BC%E5%88%86%E9%9A%94%EF%BC%8C%E5%9B%A0%E6%AD%A4%E2%80%9C0%200%E2%80%9D%E6%B8%85%E9%99%A4%E6%95%B4%E4%B8%AA%E5%B1%8F%E5%B9%95%E3%80%82%E2%80%9C2%201%20ascii%20%E5%AD%97%E8%8A%82%E2%80%9D%E5%9C%A8%E5%BD%93%E5%89%8D%20LCD%20%E4%BD%8D%E7%BD%AE%E6%89%93%E5%8D%B0%E4%B8%80%E4%B8%AA%E5%AD%97%E7%AC%A6%E4%B8%B2%E3%80%82%E2%80%9C1%201%200%E2%80%9D%E8%BD%AC%E5%88%B0%E7%AC%AC%201%20%E8%A1%8C%EF%BC%88%E7%AC%AC%E4%BA%8C%E8%A1%8C%EF%BC%9B%E4%BB%8E%E5%81%8F%E7%A7%BB%E9%87%8F%200%20%E5%BC%80%E5%A7%8B%E8%AE%A1%E7%AE%97%EF%BC%89%EF%BC%8C%E4%BD%8D%E7%BD%AE%200%E3%80%82%3C%2FP%3E%3CP%3E%E8%BF%99%E6%98%AF%E4%B8%BA%2016x2%20%E8%BF%9B%E8%A1%8C%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%8C%E4%BD%86%E8%B0%83%E6%95%B4%E5%88%B0%E6%9B%B4%E5%A4%A7%E7%9A%84%E5%B1%8F%E5%B9%95%E5%B9%B6%E4%B8%8D%E9%9A%BE%E3%80%82%3C%2FP%3E%3CP%3E%E6%84%9F%E8%B0%A2%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F17173%22%20target%3D%22_blank%22%3E%40ErichStyger%3C%2FA%3E%E6%8F%90%E4%BE%9B%E7%9A%84%20HD44780%20%E5%BA%93%EF%BC%8C%E6%9C%AC%E6%96%87%E9%83%A8%E5%88%86%E5%9F%BA%E4%BA%8E%E8%AF%A5%E5%BA%93%E3%80%82%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FErichStyger%2FMcuOnEclipseLibrary%2Fblob%2Fmaster%2Flib%2FHD44780%2FMcuHD44780.c%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2FErichStyger%2FMcuOnEclipseLibrary%2Fblob%2Fmaster%2Flib%2FHD44780%2FMcuHD44780.c%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1997614%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3ELPC800%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1998373%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%85%B1%E4%BA%AB%E9%A1%B9%E7%9B%AE%EF%BC%9ALPC832%2016x2%20LCD%E9%A9%B1%E5%8A%A8%E5%99%A8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1998373%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%E6%84%9F%E8%B0%A2%E6%82%A8%E5%AF%B9%E7%A4%BE%E5%8C%BA%E7%9A%84%E8%B4%A1%E7%8C%AE%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%AD%A4%E8%87%B4%EF%BC%8C%3CBR%20%2F%3E%E5%B8%95%E7%BB%B4%E5%B0%94%3C%2FP%3E%3C%2FLINGO-BODY%3E