Pmod CLS用户指南
欢迎来到常见问题解答/用户指南PmodCLS!当问题出现时,通过Digilent论坛否则,它们将在本文档中讨论。
-
我来这里是因为我看到这里有一列说明可供查看。
伟大的理由!您可以在下面的表格中查看该列表
指令集
指令 | 结果 |
<行>,<坳> H | 设置光标位置为<行>, |
年代 | 保存光标位置 |
u | 恢复保存的光标位置 |
j | 清除显示和主光标 |
< p > K | 删除行内的内容,0 =当前位置到行尾,1 =从行开始到当前位置,2 =整行 |
< p > N | 删除当前行中的字段 |
< pn > @ | 向左滚动 |
< pn > | 右滚动 |
* | 复位:相当于循环功率的PmodCLS |
< p > h | 设置显示模式,0 =换行16个字符,1 =换行40个字符 |
< p > c | 设置光标模式,0 =光标关闭,1 =光标打开,闪烁关闭,2 =光标打开,闪烁 |
< pn > | 保存TWI地址eepm到< pn > |
< pn > b | 保存波特率值eepm到< pn > |
< pt > p | 程序字符表成液晶显示器 |
指令 | 结果 |
< pt > t | 保存内存角色表eepm |
< pt > l | 负载eepm字符表内存 |
< pn >, < pn >, < p > d | 定义用户可编程字符 |
< p >米 | 保存通讯模式为eepm |
w | 让写eepm |
< p > n | 保存光标模式为eepm |
< p > o | 保存显示模式为eepm |
象征 | 定义 |
<公关> | 行号(0 - 1) |
pc > < | 列号(0-39) |
< pn > | 数值参数(十进制、十六进制或二进制) |
< p > | 十进制选择参数 |
< pt > | 字符表选择器(0-2eepm3在内存) |
自定义字符
该模块一次最多可以显示8个自定义字符,但可以存储4组8个字符。中包含三个存储的字符表eepm和一个表加载到液晶显示器的内存.
要创建一个新的自定义字符,发送命令(ESC)[
要创建一个新角色,首先要画出图案。然后,确定字符中每一行的数值。请注意,最左边的段是最有效的位。从上到下记录每一行,并记录要将其保存到表中的哪个字符。字符的每一行都包含6个像素,因此只使用每个值的低6位。
例如,下面的字符可以通过写入来保存:
lcdChar (0 x1b);lcdString(“[14,31日,21日,31日;23;16;31;14;0 d”);
其中lcdChar()和lcdString()是写入字符和字符数组的函数。
中的'0'地址保存该字符液晶显示器的内存表格要显示此字符,请发送地址字符的数值。在这个例子中,它是通过写入来执行的lcdChar (0 x00);
字符将出现在液晶显示器的游标。
-
我注意到PmodCLS的反斜杠字符不是这样编程的,而是它看起来是日元符号(¥)。我如何去改变这个字符库?或者我是否需要创建一个自定义角色?
好问题!
不幸的是,完整的答案并没有那么好。简短的答案(由这个用户的帖子决定)在这里是发送以下Escape Sequence到板:[0;16;8;4;2;1;0;0;1d [0;16;8;4
这将很好地创建一个自定义角色。
然而,这又引发了许多其他问题,我将逐一讨论。
-
那么,如何在实际存储的字体中更改字符呢?是可能的吗?
我认为答案是可能的。然而,正如我前面提到的,转义序列,特别是称为控制序列导入器,用于与显示器或Atmel Atmega48通信。“either”这个词的选择是经过深思熟虑的。没有Atmega48的文档液晶显示器面板,或常用的KS0066/HD44780显示控制器,曾经提到使用转义序列。由于LCD面板和KS0066数据表相对较短且切中要点(PmodCLS使用Atmel Atmega48),这使我倾向于认为Atmega48是处理转义序列的一个。不幸的是,当比较提供的转义序列时旧的参考手册到标准的ANSI转义代码的VT510或甚至维基百科的文章很明显,这是一个定制的序列。
坦率地说,这很糟糕。
-
什么是转义序列?
转义序列或代码或任何你想叫它的东西,是一组字符,软件/固件将识别为某种类型的命令即将提交给程序。你可能会看到像换行字符集'\n'这样的东西,或者它可以更复杂,像在PmodCLS['stuff'中使用的东西。对于绝大多数现代计算机用户来说,您永远不需要知道什么是转义代码或序列。