计算机数据表示实验(logisim)计算机组成实验(1)

计算机数据表示实验(logisim)

汉字国标码转区位码实验

在 logisim 中打开实验资料包中的 data.circ 文件,在对应电路中完成国标码转区位码的子电路设计。其中输入引脚为1616位的 GB2312 双字节国标码;输出为区号和位号(区号位号均从1开始计数),图1.61.6为转换子电路引脚定义,请在电路中复制对应隧道标签信号使用,注意不要增改引脚,不要修改子电路封装,以免影响子电路在其它电路模块中的正常调用。

【注意】位宽要设置一致,电路才能正常运行。
第一个关非常简单,主要难点在于要理解汉字的内码其实就是gb2132,它减去A0A0得到区位码。

计算机数据表示实验(logisim)计算机组成实验(1)_第1张图片

汉字机内码获取实验

首先可以通过下列编码得到题目要求的字符串的国标码,替换掉circ文件中相应的内容。

#include
#include
int main()
{
    unsigned char temp[]="12345ABCDEFGabcdefg轻轻的我走了,正如我轻轻的来;我轻轻的招手,作别西天的云彩。那河畔的金柳,是夕阳中的新娘;波光里的艳影,在我的心头荡漾。";     

for (int i=0;i<strlen((const char *)temp);i++)
    {
        printf("%x",temp[i]);
        if (i%2) printf(" ");
    }
}

或者可以通过查询GB2312区位码、编码表与编码规则 ,替换掉circ文件中相应的内容。这种网页上很多,可以自行查询。
计算机数据表示实验(logisim)计算机组成实验(1)_第2张图片
得到下面的国标码
计算机数据表示实验(logisim)计算机组成实验(1)_第3张图片
插入到下面的GB2312只读存储器中
计算机数据表示实验(logisim)计算机组成实验(1)_第4张图片
这样这个实验就完成了,电路中计数器用于自动生成存放汉字 GB2312 编码的 ROM 组件的地址序列,启用时钟自动仿真后可以右侧 LED 矩阵区域会依次显示ROM中的事先预存的汉字内容。
计算机数据表示实验(logisim)计算机组成实验(1)_第5张图片

偶校验编码设计

掌握奇偶校验基本原理和特性,能在 Logisim 中实现偶校验编码电路,检错电路,理解校验码传输的原理。
输入:16位原始数据;输出:17位校验码(1616位数据位+11位校验位),其中校验位存放在最高位,注意输入16位原始数据的每一位都已经通过分线器利用隧道标签引出,可以直接复制到绘图区使用。
第三四题比较简单,直接放图好了。计算机数据表示实验(logisim)计算机组成实验(1)_第6张图片

偶校验解码电路设计

| 校验码 |输入| 17 位 | 最高位为偶校验位的偶校验数据 |
| 检错位 |输出 | 1 位 | 1 表示有错,0 表示无错 |
| 数据位 |输出 | 16 位 | 无冗余信息的原始数据 |
计算机数据表示实验(logisim)计算机组成实验(1)_第7张图片
酱紫,前四关就完成了。后面的会慢慢更新!!!
计算机数据表示实验(logisim)计算机组成实验(1)_第8张图片

你可能感兴趣的:(c语言,算法)