【上海大学数字逻辑实验报告】二、组合电路(一)
一、 实验目的
- 熟悉TTL异或门构成逻辑电路的基本方式;
- 熟悉组合电路的分析方法,测试组合逻辑电路的功能;
- 掌握构造半加器和全加器的逻辑测试;
- 学习使用可编程逻辑器件的开发工具 Quartus II设计电路。
二、 实验原理
- 异或门是数字逻辑中实现逻辑异或的逻辑门,其功能是若两个输入的电平相异,则输出高电平;若输入的两个电平相同,则输出为低电平。
- TTL异或门的输入输出电压关系:
| 输入 | 输出 | |
|---|---|---|
| A | B | Y |
| 0V | 0V | 0V |
| 0V | 5V | 5V |
| 5V | 0V | 5V |
| 5V | 5V | 0V |
- 半加器是对两个一位二进制数进行相加,产生“和”与“进位”。其逻辑表达式为:

根据半加器的逻辑表达式可知,半加器可用一个异或门和两个与非门组成。 - 全加器是将两个一位二进制数及来自低位的进位进行相加,产生“和”与“进位”。其逻辑表达式为:

根据全加器的逻辑表达式可知,全加器可用两个异或门和三个与非门组成。
三、实验内容
实验任务一:异或门逻辑功能测试
(1) 实验步骤
- 将74LS86的输入引脚1A连接到K1,1B连接到K2,输出引脚连接到数码管LED6,接电接地后的示意图如下所示:

- 拨动开关,观察数码管的变化,填入异或门的输入与输出状态记录表。
(2) 实验现象
- 当两个输入引脚的电平相同时,异或门的输出为逻辑低电平(0)。
- 当两个输入引脚的电平不同时,异或门的输出为逻辑高电平(1)。
(3) 数据记录、分析与处理
异或门的输入输出状态记录表
| 输入A | 输入B | 输出Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
(4) 实验结论
异或门的输出只有在两个输入的电平不同时才输出高电平,否则输出低电平。
实验任务二:使用分立元件的异或门和与非门分别构成半加器和全加器,并进行测试
(1) 实验步骤
a) 构成半加器
- 将K3、K4分别对应连接到74LS86和74LS00的输入引脚1B、1A;
- 将74LS00的输出引脚1Y同时连接到74LS00的输入引脚2A、2B,而后将74LS00的输出引脚2Y连接到LED6;
- 将74LS86的输出引脚1Y连接LED5。
- 接地接电后的示意图如下所示:

- 拨动开关,观察数码管的变化,填入半加器的输入与输出状态记录表。
b) 构成全加器
- 将K2、K3、K4分别对应连接到74LS86和74LS00的输入引脚2B、1B、1A
- 将74LS00的输出引脚1Y、2Y、4Y分别连接到74LS00的输入引脚4B、4A、LED5;
- 将74LS86的输出引脚1Y连接到74LS00的输入引脚2A同时连接到74LS86的输入引脚2A,而后将74LS86的输出引脚2Y连接到LED6。
- 接地接电后的示意图如下所示:

- 拨动开关,观察数码管的变化,填入一位全加器的输入与输出状态记录表。
(2) 实验现象
a) 半加器
- 当输入K3、K4都为逻辑低电平(0)时,LED5和LED6都不亮;
- 当输入K3、K4有一个为逻辑高电平(1)时,LED5会亮而LED6不亮;
- 当输入K3、K4都为逻辑高电平(1)时,LED5和LED6都亮。
b) 全加器
- 当输入K2为逻辑低电平(0),拨动K3、K4开关,发现LED5和LED6的亮灭情况和半加器一致;
- 当输入K2为逻辑高电平(1)时,拨动K3、K4开关,发现当K3、K4都为逻辑低电平(0)时,发现LED6会亮而LED5不亮;当K3、K4逻辑电平相反时,发现LED6不亮而LED5会亮;当K3、K4都为逻辑高电平(1)时,发现LED6和LED5都会亮。
(3) 数据记录、分析与处理
半加器的输入输出状态记录表:
| 输入 | 输出 | ||
|---|---|---|---|
| K4 | K3 | LED6 | LED5 |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
全加器的输入输出状态记录表:
| 输入 | 输出 | |||
|---|---|---|---|---|
| K2 | K3 | K4 | LED6 | LED5 |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |

(4) 实验结论
a) 半加器可实现两个一位二进制数相加,输出一个结果位和进位。
b) 一位全加器可以处理低位进位,并输出本位加法进位。
实验任务三:使用Quartus II设计二位全加器
(1) 实验步骤
- 用Quartus II设计出如下电路:

- 编译通过后进行波形仿真,验证二位全加器逻辑功能:

- 仿真通过后,参照原理图定义引脚。
- 生成编程并将文件下载到FPGA。
- 用开关和发光二极管测试FPGA的功能。
- 记录测试结果。
(1) 数据记录、分析与处理
二位全机器的输入输出状态记录表
| A1 | A0 | B1 | B0 | C | S0 | S1 |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 1 | 1 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 | 0 | 1 | 0 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 0 | 0 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 0 | 0 | 0 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 0 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 0 | 1 |
(2) 实验结论
通过使用Quartus II设计工具,我们成功地设计并测试了一个二位全加器电路。该电路的功能包括正确计算两个二位二进制数的和,并产生相应的进位信号。实验结果表明,电路在各种输入条件下都表现出良好的性能,符合预期行为。
四、建议和体会
- 在进行实验时,应先确认74LS00、74LS86的功能完好,而后仔细检查芯片的引脚连接,确保连接正确,以避免电路故障。
- 实验中要确保安全,特别是在使用电源和连接线时,避免短路和电击风险。
- 这个实验有助于加深对异或门和电路设计的理解,同时也提供了一个实际的编程和模拟测试经验。为了更好地理解电路的运作,我们可以尝试设计更复杂的电路或改进现有的设计。
相关文章:
【上海大学数字逻辑实验报告】二、组合电路(一)
一、 实验目的 熟悉TTL异或门构成逻辑电路的基本方式;熟悉组合电路的分析方法,测试组合逻辑电路的功能;掌握构造半加器和全加器的逻辑测试;学习使用可编程逻辑器件的开发工具 Quartus II设计电路。 二、 实验原理 异或门是数字…...
lodash中foreach踩坑
什么是lodash Lodash 是一个 JavaScript 实用工具库,提供了很多用于处理数据、简化开发等方面的功能。它提供了一组常用的工具函数,用于处理数组、对象、字符串等常见数据结构,同时也包含了一些函数式编程的工具。对于前端开发来说ÿ…...
Unity C++交互
一、设置Dll输出。 两种方式: 第一:直接创建动态链接库工程第二:创建的是可执行程序,在visual studio,右键项目->属性(由exe改成dll) 二、生成Dll 根据选项Release或Debug,运行完上面的生成解决方案后…...
人工智能-优化算法之动量法
对于嘈杂的梯度,我们在选择学习率需要格外谨慎。 如果衰减速度太快,收敛就会停滞。 相反,如果太宽松,我们可能无法收敛到最优解。 泄漏平均值 小批量随机梯度下降作为加速计算的手段。 它也有很好的副作用,即平均梯度…...
【MySQL】InnoDB中的索引
目录标题 索引底层的数据结构:B树B树与B树的区别InnoDB与MyISAM在B树使用索引结构的不同? 聚簇索引非聚簇索引联合索引 B树索引适用的条件查询全值匹配匹配左边的列匹配列前缀匹配范围的值精确匹配某一列并范围匹配另外一列避免使用隐式转换 排序必须按照…...
《软件工程原理与实践》复习总结与习题——软件工程
软件生命周期 软件生命周期分为三个时期、八个阶段 软件定义时期: 1)问题定义阶段:要解决什么问题 2)可行性研究阶段:确定软件开发可行 3)需求分析阶段:系统做什么 软件开发时期:…...
软工2021上下午第六题(组合模式)
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 层叠菜单是窗口风格的软件系统中经常采用的一种系统功能组织方式。层叠菜单中包含的可能是一个菜单项(直接对应某个功能),也可…...
在Spring Boot中使用不同的日志
前言,本篇就是介绍在Java中使用相关的日志,适合初学者看,如果对这篇不感兴趣的可以移步了,本篇主要围绕我们Java中的几种日志类型,也说不上有多深入,算的上浅入浅出吧,如果你有一段时间的开发经…...
运维知识点-openResty
openResty 企业级实战——畅购商城SpringCloud-网站首页高可用解决方案-openRestynginxlua——实现广告缓存测试企业级实战——畅购商城SpringCloud-网站首页高可用解决方案-openRestynginxlua——OpenResty 企业级实战——畅购商城SpringCloud-网站首页高可用解决方案-openRes…...
微服务中配置Nacos热更新
启动Nacos startup.cmd -m standalone 在IDE中启动服务 打开nacos管理后台并选择配置列表 创建配置(这里以日期格式为例) 因为这里配置的是userservice的服务,所以在userservice服务的pom文件中引入依赖 配置一个bootstrap.yml文件 注意这里bootstrap文件中配置过的内容,在app…...
ABAP2XLSX 的安装和demo
ABAP2XLSX 是一个git上面的很好用的工具,它可以帮助abaper们更方便,更简单的生成各种各样复杂的自定义的excel,以满足各企业的信息化建设 在安装这个之前,请先查看之前的博客,去安装abapgit abap2xlsx地址࿱…...
记一篇Centos7安装innodb_ruby
安装innodb_ruby过程非常坎坷,这里记录下安装过程,有些坑当时没有记录下来,主要把完成安装过程就记录下来 yum安装ruby默认的会安装ruby2.0.0版本,但是在安装innodb_ruby时,会报错,提示至少需要2.4版本以上…...
VMware虚拟机安装和使用教程(附最新安装包+以ubuntu为例子讲解)
目录 一、VMware Workstation 17 Pro 简介 二、新功能与改进 三、安装教程 3.1、下载安装包 3.2、运行安装包 四、创建虚拟机 五、启动虚拟机 六、总结与展望 一、VMware Workstation 17 Pro 简介 VMware Workstation 17 Pro是VMware公司为专业用户打造的一款虚拟化软件…...
c语言 / 指针错误的几种情况
1.未初始化的指针,直接释放 int *p; //计算机随机指向一片内存 2.free一个指针,指针没有指向NULL,直接使用 int *p(int *)malloc(sizeof(int)); free(p); //p依旧指向释放前内存的地址, 但是这片内存已经被释放, 被其他变量重新使用, 正…...
Stable-Diffusion——Windows部署教程
Windows 参考文章:从零开始,手把手教你本地部署Stable Diffusion Webui AI绘画(非最新版) 一键脚本安装 默认环境安装在项目路径的venv下 conda create -n df_env python3.10安装pytorch:(正常用国内网就行) python -…...
Day60.算法训练
912. 排序数组 归并排序 class Solution {public int[] sortArray(int[] nums) {int lo 0;int hi nums.length - 1;int[] assist new int[nums.length];sortArray(nums, assist, lo, hi);return nums;}private void sortArray(int[] nums, int[] assist, int lo, int hi) …...
深入了解Java8新特性-日期时间API之TemporalQuery、TemporalQueries
阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概2000多字,预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#x…...
记录一次现网问题排查(分享查域名是否封禁小程序)
背景: 收到工单反馈说现网业务一个功能有异常,具体现象是tc.hb.cn域名无法访问,客户地区是河南省,这里记录下排查过程和思路。 首先梳理链路 客户端域名 tc.hb.cn cname—> domainparking-dnspod.cn(新加坡clb)—> snat—&…...
linux下实现Qt程序实现开机自启动
1.原理 要想实现开机自启动,首先,QT是没有这种实现的,最好是靠电脑开机的启动目录启动软件,下面这个目录 /etc/xdg/autostart 这是操作系统中用于配置启动项的目录,该目录下存放着开机自启动的启动器(.desktop)文件…...
TCP 基本认识
1:TCP 头格式有哪些? 序列号:用来解决网络包乱序问题。 确认应答号:用来解决丢包的问题。 2:为什么需要 TCP 协议? TCP 工作在哪一层? IP 层是「不可靠」的,它不保证网络包的交付…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
