gpt4 book ai didi

c - 将自定义字符打印到 LCD

转载 作者:太空宇宙 更新时间:2023-11-04 02:03:00 24 4
gpt4 key购买 nike

我正在尝试为 20x2 LCD 制作一些自定义字符。我正在使用 Atmega µController 来控制具有 4 位接口(interface)的 LCD。我对 LCD 的所有命令似乎都能正常工作(自定义字符除外)?

我创建角色的代码如下:

  /***********************/
// Custom Characters
/***********************/
void LCD_CreateCustomCharacters (void)
{

// make CGRAM data available from MPU and set custom characters in CGRAM 1-5
// make CGRAM data available from MPU and set custom characters in CGRAM 1-5

LCD_cmd (0x40); //starts customization at first CGRAM place

// 0 bar character

LCD_prt (0x00);
LCD_prt (0x00);
LCD_prt (0x00);
LCD_prt (0x00);
LCD_prt (0x00);
LCD_prt (0x00);
LCD_prt (0x00);
LCD_prt (0x00);

// 1 bar character

LCD_prt (0x10);
LCD_prt (0x10);
LCD_prt (0x10);
LCD_prt (0x10);
LCD_prt (0x10);
LCD_prt (0x10);
LCD_prt (0x10);
LCD_prt (0x00);

// 2 bar character

LCD_prt (0x18);
LCD_prt (0x18);
LCD_prt (0x18);
LCD_prt (0x18);
LCD_prt (0x18);
LCD_prt (0x18);
LCD_prt (0x18);
LCD_prt (0x00);

// 3 bar character

LCD_prt (0x1C);
LCD_prt (0x1C);
LCD_prt (0x1C);
LCD_prt (0x1C);
LCD_prt (0x1C);
LCD_prt (0x1C);
LCD_prt (0x1C);
LCD_prt (0x00);

// 4 bar character

LCD_prt (0x1E);
LCD_prt (0x1E);
LCD_prt (0x1E);
LCD_prt (0x1E);
LCD_prt (0x1E);
LCD_prt (0x1E);
LCD_prt (0x1E);
LCD_prt (0x00);

//5 bar character

LCD_prt (0x1F);
LCD_prt (0x1F);
LCD_prt (0x1F);
LCD_prt (0x1F);
LCD_prt (0x1F);
LCD_prt (0x1F);
LCD_prt (0x1F);
LCD_prt (0x00);

LCD_cmd (0x80); //returns to DDRAM

}

^ 该代码似乎几乎可以完成工作,但在输出某些字符时仍然存在问题。在我的显示器上,当我尝试打印 0x1 时,它应该是一个“|”变为“||”。其余字符工作正常。

然后我尝试使用此命令打印构造的字符:

char customs[6] = {0x5, 0x4, 0x3,0x2,0x1,'\0'};
LCD_string(customs);

代码应构造 5 个字符,用作进度条。但它只打印出一个“||”标志和一个“|”签名?

你知道我做错了什么吗?如果您需要更多代码或信息,请随时询问! :)

顺便说一下,可以找到我编写的完整源代码here .我添加了一张“我得到的错误字符”的图片 IMGUR LCD DISP

最佳答案

您应该查看您的初始化例程,并验证那里以及正常代码中是否满足所有时序约束。

这些显示可能需要使用相当长的延迟。微 Controller 可以立即执行一条指令,因此您需要精心设计延迟。

显示器很有趣,但您必须善待它们才能正常运行!

关于c - 将自定义字符打印到 LCD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24391150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com