前导内容知识视频:
实验目的
(1)帮助学生理解汉字机内码、区位码,最终能利用相关工具批量获取一段文字的 GB2312 机内码,并利用简单电路实现 GB2312 编码与区位码的转换; (2)学生了解字形码显示的基本原理,能在实验环境中实现汉字 GB2312 编码的点阵显示。
视频讲解
实验内容
在 logisim 中打开实验资料包中的 data.circ 文件,在对应电路中完成国标码转区位码的子电路设计。其中输入引脚为位的 GB2312 双字节国标码;输出为区号和位号(区号位号均从1开始计数),图为转换子电路引脚定义,请在电路中复制对应隧道标签信号使用,注意不要增改引脚,不要修改子电路封装,以免影响子电路在其它电路模块中的正常调用。
电路框架
data.circ
推荐使用Logisim华科改良版118版本
电路引脚
| 信号 | 输入/输出 | 位宽 | 说明 |
|---|---|---|---|
| GB2312 | 输入 | 16 位 | 汉字机内码 |
| 区号 | 输出 | 7 位 | 汉字区位码中的区号---行号 ROW |
| 位号 | 输出 | 7 位 | 汉字区位码中的位号---列号 COL |
电路测试
离线测试:汉字显示如果能正确显示“华”,表示正确EduCoder 测试:完成实验后利用文本编辑工具打开 data.circ 文件,将所有文字信息复制粘贴到 Educoder 平台的 data.circ 文件中,再点击评测按钮即可进行本关测试,平台会对你设计的电路进行自动测试,为方便测试,请勿修改子电路封装,本关测试用例如下:
Cnt GB2312 ROW COL00 bbaa 1b 0a01 d6d0 36 3002 bfc6 1f 2603 bcbc 1c 1c04 b4f3 14 53
常见调试问题
1、为什么测评是系统提示找不到GB2312ROM.CIRC?注意实验文件data.circ 与GB2312ROM.circ应该放在同一个目录下,前者调用了GB2312ROM.circ电路,有可能大家做实验的时候没有放在一起,然后找不到这个文件的时候大家指向了另外一个目录的GB2312ROM.circ,这样对应文件的路径就带到电路文件中去了,上传平台时测试这个路径的文件肯定是不存在的,所以就无法加载这个电路。
解决这个问题可以采用以下两种方法:
(1)本地修改,直接将本地的data.circ,GB2312ROM.circ剪切移动到一个新目录中,注意一定是剪切,要保证再次打开data.circ的时候找不到原来的GB2312ROM.circ,当提示找不到该文件的时候就就点击同目录的GB2312ROM.circ,然后存盘退出就ok,再次提交测试。
(2)直接EduCoder平台修改,直接在代码框搜索该文件路径
去掉绝对路径,改成如下形式即可
远程改了以后,再将代码文本复制到本地,修改本地文件,当然直接在本地编辑修改也是可以的。2、常量为什么不能输入十六进制数?
常量默认输入十进制,如果要输入十六进制,需要增加0x开头。

