######### 键盘

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。 此外,用户可以键入左箭头和右箭头键来更改缓冲区内光标的位置,并且用户可以键入删除键来删除光标右侧的缓冲区字符(如果有) 。

文本工具行为

返回 电路元件库参考手册