键盘
Library: 库: | 输入/输出 |
介绍: | 2.2.0 |
外观符号: |
行为
该组件允许电路读取从键盘键入的键 - 只要这些键可以用 7 位 ASCII 代码表示。 使用 poke 工具单击组件后,用户可以键入字符,这些字符会累积在缓冲区中。 在任何时候,缓冲区中最左边字符的 ASCII 值都会从最右边的输出发送出去。 当时钟输入被触发时,最左边的字符从缓冲区消失,新的最左边的字符在最右边的输出上发送。
缓冲区支持的字符包括所有可打印的 ASCII 字符,以及空格、换行符、退格键和 control-L。 此外,左箭头键和右箭头键可在缓冲区内移动光标,而删除键可删除光标右侧的字符(如果有)。
该组件是异步的,因为当缓冲区为空且用户键入字符时,该字符将立即作为输出发送,无需等待时钟脉冲。
引脚
- 西边,用三角形标记(输入,位宽1)
- 时钟 - 当读使能引脚不为 0 时触发,缓冲区最左边的字符将被删除,并且输出将更新以反映缓冲区的新状态。
- 南边缘,最左边的引脚(输入,位宽 1)
- 读取启用 - 当为 1(或浮动或错误)时,时钟沿将消耗缓冲区中最左边的字符。 当读使能为 0 时,时钟输入被忽略。
- 南边缘,左起第二个引脚(输入,位宽 1)
- 清除 - 当为 1 时,缓冲区被清空并且不接受更多字符。
- 南边缘,右数第二个引脚(输出,位宽 1)
- 可用 - 当缓冲区包含至少一个字符时为 1,当缓冲区为空时为 0。
- 南边缘,最右边的引脚(输出,位宽 7)
- 数据 - 缓冲区中最左边字符的 7 位 ASCII 代码,如果缓冲区为空,则为 0。
属性
- 缓冲区长度
- 缓冲区一次可以容纳的字符数。
- 触发器
-
如果该值为
上升沿
,则当时钟输入从0变为1时,最左边的字符被消耗(当由读使能输入使能时)。 如果是下降沿
,则当时钟输入从1变为0时会发生这种情况。
Poke 工具行为
将鼠标按钮按入组件即可将键盘焦点赋予该组件,并且将显示垂直条光标。
然后,只要缓冲区未达到其容量,并且该字符是该组件支持的字符之一,则输入的每个字符都将被插入到缓冲区中:7 位 ASCII 代码中的可打印字符以及空格, 退格键、换行符和 Control-L。 此外,用户可以键入左箭头和右箭头键来更改缓冲区内光标的位置,并且用户可以键入删除键来删除光标右侧的缓冲区字符(如果有) 。
文本工具行为
无
返回 电路元件库参考手册