返回PmodCLS资源中心

Pmod CLS用户指南

欢迎来到常见问题解答/用户指南PmodCLS!当问题出现时,通过Digilent论坛否则,它们将在本文档中讨论。

  1. 我来这里是因为我看到这里有一列说明可供查看。

    伟大的理由!您可以在下面的表格中查看该列表

指令集

指令 结果
<行>,<坳> 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)[;d,其中是一个数字参数,描述字符中的一行,是一个十进制选择参数(0到7)。自定义字符定义包含8行,因此定义一个字符的转义序列必须有8个值,后面跟着指定所定义字符的值。

要创建一个新角色,首先要画出图案。然后,确定字符中每一行的数值。请注意,最左边的段是最有效的位。从上到下记录每一行,并记录要将其保存到表中的哪个字符。字符的每一行都包含6个像素,因此只使用每个值的低6位。

例如,下面的字符可以通过写入来保存:

lcdChar (0 x1b);lcdString(“[14,31日,21日,31日;23;16;31;14;0 d”);

其中lcdChar()和lcdString()是写入字符和字符数组的函数。

中的'0'地址保存该字符液晶显示器内存表格要显示此字符,请发送地址字符的数值。在这个例子中,它是通过写入来执行的lcdChar (0 x00);

字符将出现在液晶显示器的游标。

  1. 我注意到PmodCLS的反斜杠字符不是这样编程的,而是它看起来是日元符号(¥)。我如何去改变这个字符库?或者我是否需要创建一个自定义角色?

    好问题!

    不幸的是,完整的答案并没有那么好。简短的答案(由这个用户的帖子决定)在这里是发送以下Escape Sequence到板:[0;16;8;4;2;1;0;0;1d[0;16;8;4
    这将很好地创建一个自定义角色。

    然而,这又引发了许多其他问题,我将逐一讨论。


  2. 那么,如何在实际存储的字体中更改字符呢?是可能的吗?

    我认为答案是可能的。然而,正如我前面提到的,转义序列,特别是称为控制序列导入器,用于与显示器或Atmel Atmega48通信。“either”这个词的选择是经过深思熟虑的。没有Atmega48的文档液晶显示器面板,或常用的KS0066/HD44780显示控制器,曾经提到使用转义序列。由于LCD面板和KS0066数据表相对较短且切中要点(PmodCLS使用Atmel Atmega48),这使我倾向于认为Atmega48是处理转义序列的一个。不幸的是,当比较提供的转义序列时旧的参考手册到标准的ANSI转义代码的VT510或甚至维基百科的文章很明显,这是一个定制的序列。

    坦率地说,这很糟糕。


  3. 为什么反斜杠是一个¥符号在第一个地方?

    主要是因为候补队员美国信息交换标准代码图书馆。看到维基百科文章的这一部分

  4. 什么是转义序列?

    转义序列或代码或任何你想叫它的东西,是一组字符,软件/固件将识别为某种类型的命令即将提交给程序。你可能会看到像换行字符集'\n'这样的东西,或者它可以更复杂,像在PmodCLS ['stuff'中使用的东西。对于绝大多数现代计算机用户来说,您永远不需要知道什么是转义代码或序列。