【上海大学数字逻辑实验报告】二、组合电路(一)
一、 实验目的
- 熟悉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 层是「不可靠」的,它不保证网络包的交付…...
突破窗口尺寸限制:WindowResizer如何重新定义Windows界面控制
突破窗口尺寸限制:WindowResizer如何重新定义Windows界面控制 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer WindowResizer是一款专注于解决Windows窗口尺寸调整难题的…...
CHORD-X视觉战术指挥系统固件升级方案:远程安全更新边缘设备
CHORD-X视觉战术指挥系统固件升级方案:远程安全更新边缘设备 最近和几个做边缘计算设备的朋友聊天,大家普遍头疼一个问题:设备一旦部署出去,特别是像智能摄像头、单兵终端这类在户外或复杂环境下的设备,后续的固件更新…...
如何将你的小爱音箱改造成智能AI语音助手:MiGPT终极教程
如何将你的小爱音箱改造成智能AI语音助手:MiGPT终极教程 【免费下载链接】mi-gpt 🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。 项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt 想让家里的智能音箱从"…...
ERNIE-4.5-0.3B-PT医疗问答系统开发:从模型部署到前后端集成
ERNIE-4.5-0.3B-PT医疗问答系统开发:从模型部署到前后端集成 1. 医疗问答系统的价值与挑战 医疗咨询是每个人都会遇到的实际需求,但专业医疗资源有限,很多时候我们只是需要一些基础的医疗建议和健康指导。传统的医疗问答系统往往依赖规则匹…...
RavenDB全文搜索与NGram分析器的实际应用
引言 在现代的数据库系统中,全文搜索功能已成为一个不可或缺的部分。RavenDB,作为一个强大的NoSQL数据库,提供了丰富的文本搜索功能。特别是通过使用NGram分析器,可以大大提升搜索的灵活性和准确性。本文将深入探讨RavenDB的全文搜索机制,特别是NGram分析器在索引和查询时…...
Qwen3.5-2B辅助Python科学计算环境搭建:NumPy、Pandas与模型集成
Qwen3.5-2B辅助Python科学计算环境搭建:NumPy、Pandas与模型集成 1. 为什么需要Qwen3.5-2B与科学计算环境结合 在数据分析和机器学习工作中,我们经常面临一个痛点:数据处理和报告撰写是两个割裂的环节。传统的工作流是先使用NumPy、Pandas等…...
别再只调包了!用Python从零手搓K-Means,在鸢尾花数据集上彻底搞懂聚类
从零实现K-Means:用Python解剖聚类算法的灵魂 当你熟练地调用sklearn.cluster.KMeans.fit()时,是否曾好奇那个神秘的max_iter参数背后究竟发生了什么?本文将带你用纯Python实现K-Means的核心引擎,在鸢尾花数据集上逐行代码拆解聚类…...
Claude Code智能体与CasRel模型协作:自动化数据标注流水线
Claude Code智能体与CasRel模型协作:自动化数据标注流水线 1. 引言 做关系抽取项目,最头疼的是什么?十有八九的工程师会告诉你:是数据标注。传统的人工标注,不仅耗时费力,成本高昂,而且面对复…...
ClawdBot部署全流程:从安装到设备授权,手把手带你跑通
ClawdBot部署全流程:从安装到设备授权,手把手带你跑通 1. ClawdBot简介与核心价值 ClawdBot是一个可以在本地设备上运行的个人AI助手,它使用vLLM提供后端模型能力。与常见的云端AI服务不同,ClawdBot的设计理念强调: …...
OpenClaw多模型切换:Qwen3-32B与其他镜像的混合调度方案
OpenClaw多模型切换:Qwen3-32B与其他镜像的混合调度方案 1. 为什么需要多模型切换? 去年冬天,当我第一次尝试用OpenClaw自动化处理技术文档时,遇到了一个尴尬的问题:用同一个模型处理代码生成和内容润色,…...
