实验一 基本数字逻辑及汉字显示
一、实验学时
课堂2学时,课后2学时
二、实验目的
1) 熟悉Logisim软件的使用方法。
2) 掌握基本数字逻辑电路实现方法。
3) 熟悉汉字字库及显示电路。
三、实验要求
1) 做好实验预习,复习基本数字逻辑电路的原理,掌握实验元器件的功能特性。
2) 按照实验内容与步骤的要求,独立思考,认真仔细地完成实验。
3) 写出实验报告。
四、实验内容
- 本次实验使用Logisim软件实现基本的数字逻辑电路,与、或、非等基本原件的使用,及异或(XOR)、同或逻辑的实现。
异或电路及真值表示意如下:
在完成基本数字逻辑测试的基础上,完成3-8译码器,一位二进制数据比较器设计。
请列出上述提到基本数字逻辑电路真值表,最后在Logisim中实现连线,并测试逻辑是否正确。
- 利用给出的电路文件,熟悉汉字显示电路,分析相关子电路的功能,理解GB2312编码与区位码的转化规则和电路实现,熟悉Logisim中存储器ROM、LED点阵的使用。最后利用机内码与汉字转换工具,或者自己编程实现转化,将自己名字写进GB2312存储器中,实现将自己的名字在LED点阵中显示。
五、实验步骤
(请详细记录各逻辑电路真值表和电路图,并说明测试状态)
5.1 与、或、非、异或、同或逻辑实现
1.与运算
运算规则:全一为一,有零为零。即只有两个操作数都为1时,结果才为1,其他情况均为0(也可以说,只要有0,结果就为0)。
与运算真值表如图5-1-1所示。
与运算逻辑电路如图5-1-2所示。
测试如图5-1-3所示。
2.或运算
运算规则:全零为零,有一为一。即只有两个操作数都为0时,结果才为0,其他情况均为1(也可以说,只要有1,结果就为1)。
或运算真值表如图5-1-4所示。
图 5-1-4 或运算真值表
或运算逻辑电路如图5-1-5所示。
测试如图5-1-6所示。
3.非运算
仅有一个运算操作数,所以是一元逻辑运算。运算规则:一变零,零变一。即操作数为1时结果为0,操作数为0时结果为1。
非运算真值表如图5-1-7所示。
非运算逻辑电路如图5-1-8所示。
测试如图5-1-9所示。
4.异或运算
相等为0,不相等为1。
异或运算真值表如图5-1-10所示。
异或运算逻辑电路如图5-1-11所示。
测试如图5-1-12所示。
5.同或运算
相等为1,不相等为0,是异或的非运算。
同或运算真值表如图5-1-13所示。
同或运算逻辑电路如图5-1-14所示。
测试如图5-1-15所示。
5.2 3-8译码器、一位二进制数据比较器逻辑实现
1.3-8译码器
3-8译码器是一种数字电路,用于将3个输入位的数字编码转换成8个输出位的信号。常用于实现控制逻辑、地址译码等功能。
3-8译码器具有3个输入端口和8个输出端口。输入端口接收3个二进制位,共有8种可能的输入组合。每种输入组合都会映射到一个输出端口上,而其他输出端口则保持为低电位。因此,只有一个输出端口会被激活,其它输出端口为低电位。
3-8译码器真值表如图5-2-1所示。
3-8译码器逻辑电路如图5-2-2所示。
分别测试000,011(3),111(7),测试正确,如图5-2-3所示。
2.一位二进制数据比较器
一位二进制数据比较器是一种数字电路,用于比较两个二进制数的一位是否相等。
一位二进制数据比较器的真值表如图5-2-4所示。
一位二进制数据比较器的逻辑电路如图5-2-5所示。
测试如图5-2-6所示。
5.3 GB2312编码与区位码的转化规则和电路实现
国标转区位码逻辑电路如图5-3-1所示。
该装置通过公式国标码=区位码+2020H来将国标码转化为区位码,让国标码-2020H即加上补码def0。
最终结果分成两部分,前半部分为高位是区号,后半部分为低位,为位号。
汉字显示逻辑电路如图5-3-2所示。
通过分析可知,在ROM中存储了多个GB2312字符,然后通过国标转区位码组件转换成区位码,在通过字库进行翻译然后转到LED点阵中。
首先打开机内码与汉字转换工具,输入宋抗非,获得三个字符的GB2312机内码,如图5-3-3所示。
接着把机内码写入到256B ROM中去,如图5-3-4所示。
接着再依次点击时钟,LED点阵的字符就会依次显示刚才写的机内码。
六、实验小结
6.1 问题和解决方法
问题1:虽然知道3-8译码器的原理,输入和输出结果,但是不知道该如何构建3-8译码器的电路。
解决方法:在logisim中,可以通过真值表来对电路进行构建,输入3-8译码器的真值表后,电路就可以生成了。
问题2:不知道国标码和区位码的转化规则。
解决方法:通过查询相关资料,了解了国标码和区位码的转化规则,得知了国标码和区位码都具有相应的高位和低位,以及他们相关高位低位的作用。
6.2 心得体会
本次实验是计算机组成原理的第一次实验,在这次实验中我感受到了数字电路设计和实现的乐趣和挑战。在本次实验中,我使用了Logisim软件实现了基本的数字逻辑电路,包括与、或、非等基本原件的使用,以及异或、同或逻辑的实现。通过真值表和连线的方式,我可以测试逻辑是否正确,以验证我的电路设计是否有效。此外,我还实现了3-8译码器和一位二进制数据比较器的设计。通过熟悉汉字显示电路,分析相关子电路的功能,理解GB2312编码与区位码的转化规则和电路实现,还成功地将自己的名字写进GB2312存储器中,并实现了将自己的名字在LED点阵中显示的功能。在这个过程中,我不仅学习了计算机原理中数字电路设计的基本原理和技能,还提高了自己的逻辑思维和问题解决能力。同时,我还了解了汉字编码和显示的相关知识,并将这些知识应用到数字电路设计中,实现了一个具有实用价值的功能。本次实验让我更深入地理解了计算机原理的数字电路设计和汉字编码显示的相关知识,同时也锻炼了我的动手能力和创新思维,为以后的学习和工作打下了坚实的基础。我也意识到了计算机组成原理这门课不仅仅是一门理论课,还包含了许多可以亲自上手操作的有趣的实验,这让我对计算机组成原理这门课有了很大改观。