NJU数电实验:字符小游戏
全套代码已上传至Github, 请关注Github账号:SH_Hattrick
实验代码
1. 实验内容
实现一个可以用键盘输入,并在 VGA 显示器上回显的交互界面。界面实 现要求可以参考 DOS 字符界面,Window 命令行或 Linux 的字符终端。
基本要求
- 支持所有小写英文字母和数字输入,以及不用 Shift 即可输入的符号。2.
- 一直按压某个键时,重复输出该字符。
- 输入至行尾后自动换行,输入回车也换行。
扩展要求(做5个满分)
- 可以显示光标,建议可以用显示闪烁的竖线或横线作为光标。2.
- 支持 BackSpace 键删除光标前的字符。3.
- BackSpace 删除至本行开始后,再按 BackSpace 可以删除回车键,光标停留在上一行末尾的非空字符后。
- 支持自动滚屏,即输入到最后一行后回车出现新空白行,并且所有已输入 的行自动上移一行。
- 支持 Shift 键以及大小写字符输入。
- 支持方向键移动光标。
- 在行首显示命令提示符。
2. 实验原理
- 字符显示界面只在屏幕上显示 ASCII 字符,其所需的资源比较少。首先,ASCII 字符用 7bit 表示,共 128 个字符。大部分情况下,我们会用 8bit 来表示 单个字符,所以一般系统会预留 256 个字符。我们可以在系统中预先存储这 256 个字符的字模点阵。
- 有了字符点阵后,系统就不再需要记录屏幕上每个点的颜色信息了,只需要记录屏幕上显示的 ASCII 字符即可。在显示时,根据当前屏幕位置,确定应 该显示那个字符,再查找对应的字符点阵即可完成显示。
- 我们的显存此时为30*70,记录每个位置上的ascii码,这减小了整体的内存消耗。
3. 实验环境
systembuilder自动建立项目。
4. 实验代码/实验截图
对于模块划分:

本文介绍了一个基于FPGA的数字电子实验项目——字符小游戏。该项目实现了通过键盘输入并在VGA显示器上显示字符的功能,包括支持小写字母、数字及特殊符号的输入,重复输出按压键,自动换行等。此外,还介绍了如何通过扩展功能提升用户体验,如支持BackSpace键、自动滚屏等。
3532

被折叠的 条评论
为什么被折叠?



