【上海大学数字逻辑实验报告】二、组合电路(一)
一、 实验目的
- 熟悉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 层是「不可靠」的,它不保证网络包的交付…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...