简易加减运算器的制作----数字电路设计(含proteus仿真)

简易加减运算器的制作

一、功能要求—基本功能

1、自制0-9按键,在一个LED数码管上稳定地显示当前按下的值。(基本功能)

2、增加+、=两个按键,实现0-9两个一位数的加法运算,同时在两位LED上稳定地显示运算结果。(扩展功能1)

3、再增加一个-按钮,实现0-9两个一位数的减法运算,同时在两位LED上稳定地显示运算结果。(扩展功能2)

功能一实现

对于在LED数码管上显示数字最合适的就是74hc48。

74LS48是BCD至七段解码器,用于显示以二进制编码的十进制格式解码的数字。7 段是一种基于 7 个 LED 的小型设备,用于表示从 0 到 9 的单个数值。每个 7 段有七个输入引脚,用于点亮七个段中的单个 LED。每次制作单个数字时,某些特定引脚应该有电源输入。

74LS48解码器简介

为了实现特殊模式,可以使用逻辑门,但也可以使用IC 74LS48来控制 7 段。它有17个与门、4个或非门、6个非门和8个与非门。这些所有门的组合使 IC 具有 4 个输入和 7 个输出引脚。输出引脚在单个输出中生成两个 BCD 数字,这在 7 段上形成一个数字。该IC有4个输入引脚,总共有16种组合,但前10种组合用于产生7段输出,其余的将被视为无效状态。该 IC 是基于 TTL 的设备,因此可以由任何 TTL 设备或微控制器控制。它仅用于控制共阴极七段。

引脚配置
名称引脚
B引脚 1IC 74LS48有4个输入引脚,引脚1代表IC 4位输入数据的第三位。
C引脚 2引脚2代表IC的4位输入数据的第二位。
LT’引脚 3引脚 3 称为灯测试引脚。它用于使所有输出引脚为高电平以测试所有 7 段 LED。这是一个低电平有效引脚。
BI’/BRO’引脚 4引脚 4 将用作复位引脚。如果引脚 4 为低电平状态,则不会有任何输出。它是一个低电平有效引脚,它将使所有输出状态为低电平。
RBI’引脚 5引脚 5 称为纹波消隐输入引脚。它在多个 7 段的情况下使用来清除不必要的零。
D引脚 6引脚6代表IC的4位输入数据的MSB。
A引脚 7引脚7代表IC的4位输入数据的LSB。
GND引脚 8GND 引脚用作接地引脚。它用于使接地共用,以使 IC 能够与其他 TTL 设备和微控制器一起工作。
e引脚 9引脚 9 至引脚 15 将用作输出引脚。他们将给出输出信号来控制 7 段。引脚顺序为 a、b、c、d、e、f 和 g。每个字母代表7段LED上的字母。
d引脚 10
c引脚 11
b引脚 12
a引脚 13
g引脚 14
F引脚 15
VCC引脚 16引脚 16 用于向 IC 供电以使其正常工作。
工作原理

在 IC 74LS48 中,输出取决于输入。主要输入引脚有四个,有助于在特定输入数据上生成固定输出状态。在4位二进制数字中,十进制的0用0000表示,十进制的9用1001表示,并且从1到8的所有值也都有固定的4位二进制代码。当IC上有0到9的输入时,输出值将根据共阴极7段。这是因为 IC 是为执行该功能而设计的。如果使用7段IC,我们需要根据给定的电路连接7段IC。

原理图

左上方的四个数字输入对应BDC码

进一步完善

如需完整符合题目一的要求就需要有矩阵键盘转BCD码的数字电路。

结合给定得元件需要用到74HC147

74hc147是一个10线-4线优先编码器。它通常用于将多个输入信号(如开关或传感器输出)转换成较少的输出线,以便于处理。它能够识别多个激活输入中的最高优先级信号,并将其编码为二进制形式的输出。

最终设计的原理图如下,此时全部符合题意。

二、扩展功能1

增加+、=两个按键,实现0-9两个一位数的加法运算,同时在两位LED上稳定地显示运算结果。(扩展功能1)

对于数字电路的加法运算和给定的元器件综合分析,我们使用74hc283。

74hc283这是一个4位二进制加法器,用于执行两个4位二进制数的加法运算。它包括进4位输入和输出,可以用于构建更大的加法器系统。

设计思路
  • 根据进位信号和输出信号的逻辑表达式(74HC283逻辑图)以及真值表示例,结合行为级、数据流建模即可实现74HC283的四位二进制进位全加器的功能。
  • 进位信号和输出信号等逻辑表达式(74HC283逻辑图)

image-20231210155024610

  • 74HC283的真值表示例

image-20231210155145868

逻辑符号

image-20231210155333838

  • A 3 A 2 A 1 A 0 A_3A_2A_1A_0 A3A2A1A0:四位二进制加数。
  • B 3 B 2 B 1 B 0 B_3B_2B_1B_0 B3B2B1B0:四位二进制加数。
  • S 3 S 2 S 1 S 0 S_3S_2S_1S_0 S3S2S1S0:和数。
  • C − 1 C_{-1} C1:低位来的给 A 0 A_0 A0的进位信号。
  • C 0 C_0 C0 A 3 B 3 A_3B_3 A3B3向高位的进位信号

此时只需要将第一问输入的数字的BCD码分别接入两个AB进行加法运算,输出的BCD码继续在共阴极数码管上显示即可。

原理图

进一步完善

此时如需完整符合题意需要,需要再加入+号与=号两个按键。

等于好相当于最后的开关,打开开关显示减法的结果。原理图如下:

 

二、扩展功能2

再增加一个-按钮,实现0-9两个一位数的减法运算,同时在两位LED上稳定地显示运算结果。(扩展功能2)

关于减法功能其与加法的电路实现思路几乎一致,只是需要将被减数的BCD码进行取反加一(即补码)进行加法运算的结果就是减法运算。

思路图如下

image-20231210162617173

设计的最终原理图如下:

最终完善

需要进一步进行+和-还有等于的操作,即为+和-进行选择是否进行别减数的补码操作,加法就是不进行,减法就是进行补码操作,最总=号进行数码管加减法的结果显示。

最终原理图如下:

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

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

相关文章

C#大型LIS检验信息系统项目源码

LIS系统,一套医院检验科信息系统。它是以数据库为核心,将实验仪器与电脑连接成网,基础功能包括病人样本登录、实验数据存取、报告审核、打印分发等。除基础功能外,实验数据统计分析、质量控制管理、人员权限管理、试剂出入库等功能…

Java UDP 多人聊天室简易版

服务端 import java.io.*; import java.net.*; import java.util.ArrayList; public class Server{public static ServerSocket server_socket;public static ArrayList<Socket> socketListnew ArrayList<Socket>(); public static void main(String []args){try{…

实战演练 | 在 Navicat 中格式化日期和时间

Navicat 支持团队收到来自用户常问的一个问题是&#xff0c;如何将网格和表单视图中的日期和时间进行格式化。其实这个很简单。今天&#xff0c;我们将介绍在 Navicat Premium 中进行全局修改日期和时间格式的步骤。 如果你想边学边用&#xff0c;欢迎点击 这里 下载免费全功能…

EM32DX-C4【C#】站15

1外观: J301 直流 24V 电源输入 CAN0 CAN0 总线接口 CAN1 CAN1 总线接口 J201 IO 接线段子 S301-1、S301-2 输出口初始电平拨码设置 S301-3~S301-6 模块 CAN ID 站号拨码开关 S301-7 模块波特率拨码设置 S301-8 终端电阻选择开关 2DI: 公共端是: 0V【GND】 6100H …

基于ssm实验室开放管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本实验室开放管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信…

App备案、ios备案Bundle ID查询、公钥信息、SHA-1值

App备案、ios备案Bundle ID查询、公钥信息、SHA-1值 Bundle ID这个就不说了&#xff0c;都知道是啥&#xff0c;主要说公钥信息和SHA-1值的获取 打开钥匙串访问&#xff0c;找到当前需要备案App的dis证书&#xff0c;如下&#xff1a; #####右键点击显示简介 #####可以看…

Navicat 技术指引 | 适用于 GaussDB 分布式的调试器

Navicat Premium&#xff08;16.3.3 Windows 版或以上&#xff09;正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结…

[架构之路-261]:目标系统 - 设计方法 - 软件工程 - 软件设计 - 架构设计 - 网络数据交换格式

一、网络数据交换格式 1.1 什么是网络数据交换格式 网络数据交换格式指的是在计算机网络中传输和存储数据时所采用的特定格式。 它定义了数据的组织方式、结构和编码规则&#xff0c;以便不同系统和应用程序之间能够准确地解析和处理数据。 网络数据交换格式的主要目的是&a…

IDEA启动应用时报错:错误: 找不到或无法加载主类 @C:\Users\xxx\AppData\Local\Temp\idea_arg_filexxx

IDEA启动应用时报错&#xff0c;详细错误消息如下&#xff1a; C:\devel\jdk1.8.0_201\bin\java.exe -agentlib:jdwptransportdt_socket,address127.0.0.1:65267,suspendy,servern -XX:TieredStopAtLevel1 -noverify -Dspring.output.ansi.enabledalways -Dcom.sun.management…

安装python第三方库后,在pycharm中不能正常导入

python小白学习opencv&#xff0c;使用pip安装完opencv库后import cv2报错&#xff0c;按照如下设置解决&#xff1a; 需要正确设置python解释器路径

Linux权限理解

文章目录 前言概述Linux下的权限Linux权限管理文件访问者的分类&#xff1a;属性&#xff1a;文件权限值表示方法&#xff1a; 文件类型&#xff1a; 权限的修改chmod对 text.txt 文件的权限进行修改法1&#xff1a;法2&#xff1a; chownchgrpumaskfile指令目录权限粘滞位 前言…

SLAM教程:ROS学习

玩SLAM一定会遇到ROS,你可以看看稚晖君里的机器人操作系统,许多控制机器的软件代码很大程度都是基于ROS,多传感融合也是基于ROS,在GitHub上几乎大部分的多传感融合以及机器人操作代码框架都是基于ROS。ROS 的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布…

【附源码】完整版,Python+Selenium+Pytest+POM自动化测试框架封装

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、测试框架简介 …

Hadoop学习笔记(HDP)-Part.08 部署Ambari集群

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

Dockerfile 指令的最佳实践

这些建议旨在帮助您创建一个高效且可维护的Dockerfile。 一、FROM 尽可能使用当前的官方镜像作为镜像的基础。Docker推荐Alpine镜像&#xff0c;因为它受到严格控制&#xff0c;体积小&#xff08;目前不到6 MB&#xff09;&#xff0c;同时仍然是一个完整的Linux发行版。 FR…

Python开发运维:Python项目发布到K8S集群

目录 一、实验 1.Python项目发布到K8S集群 一、实验 1.Python项目发布到K8S集群 &#xff08;1&#xff09;获取应用程序代码 #把hello-python.tar.gz压缩包上传到k8s控制节点master1的root下&#xff0c;手动解压 tar zxvf hello-python.tar.gz &#xff08;2&#xff0…

Vue3+ts----根据配置项,动态生成表单

这里使用的UI框架是ElementPlus&#xff0c;更换其他组件直接更换constant.ts中的type配置和对应的Form组件即可. 大家可以npm install elementplus_dy_form来体验。 思路&#xff1a; 1.这里需要使用h函数方便控制要渲染的表单 2.传递type作为组件或html元素进行渲染&#xff…

rpc原理与应用

IPC和RPC&#xff1f; RPC 而RPC&#xff08;Remote Procedure Call&#xff09;&#xff0c;又叫做远程过程调用。它本身并不是一个具体的协议&#xff0c;而是一种调用方式。 gRPC 是 Google 最近公布的开源软件&#xff0c;基于最新的 HTTP2.0 协议&#xff0c;并支持常见…

2023年终总结-轻舟已过万重山

自我介绍 高考大省的读书人 白&#xff0c;陇西布衣&#xff0c;流落楚、汉。-与韩荆州书 我来自孔孟故里山东济宁&#xff0c;也许是小学时的某一天&#xff0c;我第一次接触到了电脑&#xff0c;从此对它产生了强烈的兴趣&#xff0c;高中我有一个愿望&#xff1a;成为一名计…

Jmeter 请求签名api接口-BeanShell

Jmeter 请求签名api接口-BeanShell 项目签名说明编译扩展jar包jmeter 使用 BeanShell 调用jar包中的签名方法 项目签名说明 有签名算法的api接口本地不好测试&#xff0c;使用BeanShell 扩展jar 包对参数进行签名&#xff0c;接口签名算法使用 sha512Hex 算法。签名的说明如下…