z1-5输入编码器实验

一. 实验内容

1、制作LED计数电路,输入是编号为1~5的5个开关,输出是5个发光二极管(LED)
点几号开关,就有几个LED发光。
2、制作一个5位输入3位输出的编码器,
输入的第5位为1,输出就是数字5对应的二进制数(101),
输入的第4位为1,输出就是数字4对应的二进制数(100),
输入的第3位为1,输出就是数字3对应的二进制数(011),
输入的第2位为1,输出就是数字2对应的二进制数(010),
输入的第1位为1,输出就是数字1对应的二进制数(001)。

二. 实验步骤

Logisim的简介和安装

首先要知道什么是logisim?

Logisim是一种用于数字电路设计和模拟的开源工具,Logisim在2014年10月11日无限期暂停。因它足够简单,可以帮助学习逻辑电路相关的基本概念而闻名。Logisim被世界各地大学的学生在课程中使用。

Logisim的特性

  • 开源免费
  • 绘画界面直观简洁
  • 可以在任何支持Java 5或更高版本的机器上运行,同时针对MacOS X和Windows发布了特殊版本

由于Logisim现在已经停止更新了,我这里提供两种安装方式
官方网站:http://www.cburch.com/logisim/
image.png
如果想要获取演化版本,可以在snapcraft.io上下载其稳定版本
演化版本:https://snapcraft.io/logisim-evolution
image.png
我这里是3.80稳定版本的,注意这里需要Java 16及以上
如果想要知道自己的Java版本,可以在命令窗口查看自己的Java版本
image.png
我这里是Java 20,满足条件即可,如果对Java环境配置不清楚的可以看我之前写的https://blog.csdn.net/ntr851217/article/details/132521784?spm=1001.2014.3001.5501Java配置教程
安装完成,打开大致是这样一个界面
image.png
如果你的语言是英文的,可以在将语言设置成中文

Logisim语言设置

image.png
选择cn/cn,关闭窗口即可
image.png
这里我就不赘述Logisim的使用方法了,想要详细了解的可以自行上网查询。

设计LED详细电路

进入主界面可以先改名和选择保存文件路径,按ctrl+s键进行保存,选择合适的位置
image.png
当然我们也可以修改我们的电路名称
image.png
完成我们的初始化操作之后,就要进行电路设计了。我们的要求是,有五个发光二极管,我们点击几号开关就有几个LED发光。想要完成这一功能,我们首先要进行抽象

设计思路

首先我们的输入是由五个开关组成,我们可以将其抽象成五个二进制位
00001其实对应这我们的00001,同样的00010对应这00011,00100对应输出00111,01000对应输出01111,10000对应输出11111

真值表设计

这里是部分的真值表

12345LED1LED2LED3LED4LED5
1000010000
0100011000
0010011100
0001011110
0000111111
电路图设计

下面到了我们喜闻乐见的电路图设计环节
image.png
添加5个输入引脚,可以按ctrl+d进行复制,如下图
image.png
然后我们要添加或门和输出引脚,可以在导航栏右边可以修改参数
image.png
在这里可以修改引脚数
image.png

设计电路如下图所示
image.png

电路测试

点击手的图标,进行测试
image.png

LED电路的封装测试

我们可以新添加一个LED电路的测试类用于LED电路测试

  1. 鼠标右键项目目录,创建测试电路

image.png

  1. 选择封装编辑模式

image.png

  1. 编辑封装,长按引脚会展示详细图片

image.png

  1. 设计封装

image.png

  1. 添加封装到测试电路中

鼠标双击进入测试电路,单击LED计数电路,添加封装电路到测试电路
image.png

  1. 添加按钮和发光二极管进行测试

image.png

自动生成电路5输入编码器

首先我们先创建一个5输入编码器的项目,选择分析组合逻辑电路
image.png
添加输入和输出项
image.png
如下图所示
image.png
同理输出
image.png
真值表设计
image.png
根据真值表可以查看表达式,生成电路
image.png
如下图
image.png
封装5输入编码器
image.png

分线器的使用

首先添加编码器到LED计数测试电路中
image.png
添加分线器
image.png
同样的,添加第二个分线器和探针
image.png

16进制数字显示

如下图所示
image.png
如果出现了测试异常的情况,可以重新打开项目

七段数码管

数码管驱动

真值表设计
image.png
驱动电路
image.png

数码管测试

image.png

添加到LED计数测试中

image.png

总结

实验主要考查了关于Logisim的使用方法,LED的详细电路封装以及5输入编码器的设计使用,分线器的使用,16进制的功能测试等等。实验中所遇到的问题,可能还是真值表设计和电路的设计部分。

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

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

相关文章

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:ColumnSplit)

将子组件纵向布局,并在每个子组件之间插入一根横向的分割线。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 可以包含子组件。 ColumnSplit通过分割线限制子组件的高度。初始…

SQLiteC/C++接口详细介绍之sqlite3类(三)

快速跳转文章列表:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍之sqlite3类(二) 下一篇:SQLiteC/C接口详细介绍之sqlite3类(四) 6.sqlite3_create_module与sqlite3_create_module_v2函数…

简单了解 vim 编辑器最基础的操作

简单了解 vim 编辑器最基础的操作 vim 这个是 Linux 上自带的一个文本编辑器,使用 vim 就可以更灵活的对文件进行编辑了(虽然和记事本的定位差不多,实际上vim的使用要复杂很多) 1.打开文件 语法:vim 文件名 示例:…

16.旋转图像

给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&…

ubuntu 安装 infiniband 和 RoCE 驱动

下载驱动程序 驱动程序地址 https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ 安装 安装参考文档 https://docs.nvidia.com/networking/display/mlnxofedv24010331/installing+mlnx_ofed#src-2571322208_InstallingMLNX_OFED-InstallationProced…

BUGKU-WEB cookies

题目描述 题目截图如下: 进入场景看看: 解题思路 看源码看F12:看请求链接看提示:cookies欺骗 相关工具 插件:ModHeader或者hackbarbase64解密 解题步骤 看源码 就是rfrgrggggggoaihegfdiofi48ty598whrefeoia…

构建部署_Jenkins介绍与安装

构建部署_Jenkins介绍与安装 构建部署_Jenkins介绍与安装Jenkins介绍Jenkins安装 构建部署_Jenkins介绍与安装 Jenkins介绍 Jenkins是一个可扩展的持续集成引擎。 持续集成,就是通常所说的CI(Continues Integration),可以说是现…

MySQL--深入理解MVCC机制原理

什么是MVCC? MVCC全称 Multi-Version Concurrency Control,即多版本并发控制,维持一个数据的多个版本,主要是为了提升数据库的并发访问性能,用更高性能的方式去处理数据库读写冲突问题,实现无锁并发。 什…

JUC之volatile关键字

Volatile 被volatile修饰的变量有两大特点:可见性与有序性 volatile的内存语义 volatile凭什么可以保证可见性和有序性???内存屏障 Memory Barrier 内存屏障 四大屏障 Volatile保证可见性、没有原子性,指令禁重…

手撕算法-对称二叉树

力扣101. 对称二叉树 链接 https://leetcode.cn/problems/symmetric-tree/description/ 题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。示例1:此树是对称的。示例2:此树也是对称的示例3:此树不对称 思路 一颗…

ubuntu(20.04)-安装JAVA环境-IDEA

1.下载IDEA 2.解压文件 sudo tar -zxvf idealC-2022.2.3.tar.gz -C /opt 3.添加环境变量: .vim ~/.bashrc export IDEA_HOME/opt/ideaIC-2022.2.3/ export PATH${IDEA_HOME}/bin:$PATH source ~/.bashrc 4.启动: cd /opt/ideaIC-2…

什么是SFP光模块?如何选择?

SFP光模块作为全球制造商和供应商的行业标准,至今仍被广泛使用。在许多网络中,如SONET、千兆以太网、光纤通道、PON和其他通信标准中,SFP光模块已经成为行业的中坚力量。本指南将为您介绍一些关于选择SFP模块的技巧。 什么是SFP光模块&#…

Docker部署ChatGLM3、One API、FastGPT

创建并运行chatglm3容器 docker run --name chatglm3 -p 8000:8000 registry.cn-hangzhou.aliyuncs.com/ryyan/chatglm.cpp:chatglm3-q5_1 创建并运行one-api容器 (其中挂载路径 D:\one-api 可以选择你自己喜欢的目录) docker run --name oneapi -d -p 3000:3000 -e TZAsia…

Linux下的多线程编程:原理、工具及应用(2)

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:Flower of Life—陽花 0:34━━━━━━️💟──────── 4:46 🔄 ◀️ ⏸ ▶️ ☰ …

第二十四节 Java 异常处理

什么是异常? 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格…

Machine Vision Technology:Lecture3 Edge detection | Fitting

Machine Vision Technology:Lecture3 Edge detection | Fitting Finite difference filters有限差分滤波器Effects of noise噪声对边缘检测影响Derivative theorem of convolution卷积的导数定理Derivative of Gaussian filter高斯滤波器的导数Smoothing vs. deriva…

后端系统开发之——创建SpringBoot工程

原文地址:后端框架系统开发之——创建SpringBoot工程 - Pleasure的博客 下面是正文内容: 前言 现在的市场环境,如果你单单只是作为前端工程师或者是后端工程师,在开发Web应用的时候都需要去读取企业提供的接口文档。而当你前后端…

【ARM】UBL本地服务器离线激活license

【更多软件使用问题请点击亿道电子官方网站查询】 1、 文档目标 UBL本地服务器离线激活license。 2、 问题场景 解决有用户外出时激活 license。 3、软硬件环境 1)、软件版本:MDK5.39 2)、电脑环境:Ubuntu 20.04 LTS 3&…

NCV4275CDT50RKG稳压器芯片中文资料规格书PDF数据手册引脚图图片价格功能

产品概述: NCV4275C 是一款低漏稳压器,可用于严酷汽车环境。它包括了较宽的运行温度范围和输出电压范围。输出调节为 5.0 V 或 3.3 V,额定输出电流为 450 mA。它还提供过电流保护、超温保护和可编程微处理器重置等多种功能。NCV4275C 采用 D…

linux ffmpeg编译

下载源码 https://ffmpeg.org/ csdn下载源码包 不想编译可以直接下载使用静态版本 https://ffmpeg.org/download.html https://johnvansickle.com/ffmpeg/ 根据cpu类型,下载解压后就可以直接使用了。 linux编译 安装底层依赖 yum install gcc yum isntall …