简易加减运算器的制作----数字电路设计(含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.mfbz.cn/a/233890.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

猿人学第一题 js混淆 双重加密(详解)

当我们点击分页的时候可以确定这个请求过程是ajax请求,所以直接使用抓包工具找到储存信息的请求。 找到这个请求之后,我们明显发现?后面的参数m是一个加密过的 由于这个请求属于ajax请求,现在我们可以直接使用xhr断点调试找到位置 打上断电…

基础漏洞流量分析

基础漏洞流量分析 sql注入 sql注入原理 SQL 注入的攻击行为可以描述为通过用户可控参数中注入 SQL 语法,破坏原有 SQL 结构,达到编写程序时意料之外结果的攻击行为。其成因可以归结为以下两个原因叠加造成的: 程序员在处理程序和数据库交互时&#x…

Redis | Redis入门学习介绍及常见原理剖析

关注wx:CodingTechWork Redis介绍 概述 Redis是NoSQL,是key-value分布式内存数据库。 缓存 缓存是将数据从慢的介质换到快的介质上,提高读写效率和性能,并降低数据库的读写成本。内存的速度一般都远远大于硬盘的速度&#xf…

arm-none-eabi-gcc not find

解决办法:安装:gcc-arm-none-eabi sudo apt install gcc-arm-none-eabi; 如果上边解决问题了就不用管了,如果解决不了,加上下面这句试试运气: $ sudo apt-get install lsb-core看吧方正我是运气还不错,感…

kafka学习笔记--如何保证生产者数据可靠、不重复、有序

本文内容来自尚硅谷B站公开教学视频,仅做个人总结、学习、复习使用,任何对此文章的引用,应当说明源出处为尚硅谷,不得用于商业用途。 如有侵权、联系速删 视频教程链接:【尚硅谷】Kafka3.x教程(从入门到调优…

改进YOLOv8注意力系列一:结合ACmix、Biformer、BAM注意力机制

🗝️改进YOLOv8注意力系列一:结合ACmix、Biformer、BAM注意力机制 代码ACmixBiFormerBAMBlock加入方法各种yaml加入结构本文提供了改进 YOLOv8注意力系列包含不同的注意力机制以及多种加入方式,在本文中具有完整的代码和包含多种更有效加入YOLOv8中的yaml结构,读者可以获…

【flink番外篇】1、flink的23种常用算子介绍及详细示例(完整版)

Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的…

Linux系统编程:进程间通信总结

管道 在Linux中,管道是一种进程间通信方式,它允许一个进程(写入端)将其输出直接连接到另一个进程(读取端)的输入。从本质上说,管道也是一种文件,但它又和一般的文件有所不同。 具体…

SpringMvc入坑系列(一)----maven插件启动tomcat

springboot傻瓜式教程用久了,回过来研究下SSM的工作流程,当然从Spring MVC开始,从傻瓜式入门处理请求和页面交互,再到后面深入源码分析。 本人写了一年多的后端和半年多的前端了。用的都是springbioot和vue,源码一直来…

【视频笔记】古人智慧与修行

古人的智慧 相由心生、老子悟道、佛祖成佛 多一些思考,多一些精神修炼。 除非我们今天能够产生与人类科技发展相并行的精神变革,否则永远可能也无法跳脱出历史的轮回。 视频来源

爬虫学习-基础库的使用(urllib库)

目录 一、urllib库介绍 二、request模块使用 (1)urlopen ①data参数 ②timeout参数 (2)request (3)高级用法 ①验证 ②代理 ③Cookie 三、处理异常 ①URLError ②HTTPError 四、解析链接 ①urlparse ②…

【C语言】结构体内存对齐

目录 引入结构体 结构的声明 创建和初始化 内部元素的使用; 特殊声明: 结构体在内存中的对齐 练习: 引入结构体 C语言有各种数据类型,我们已经对一些数据类型很熟悉: 整型(int)- 存储整…

108. 将有序数组转换为二叉搜索树

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 1: 输入:nums [-10,-3,0,5,9] 输…

06-React组件 Redux React-Redux

React组件化(以Ant-Design为例) 组件化编程,只需要去安装好对应的组件,然后通过各式各样的组件引入,实现快速开发 我们这里学习的是 Ant-design (应该是这样),它有很多的组件供我们…

kali linux使用Proxmark3

其实kali linux下已经集成了Proxmark3命令,但是由于Proxmark3是开源设备,有时候系统默认安装的版本并不能很好的使用,因此需要手动编译最新的版本。 step 1 准备Proxmark3编译环境,因为kali linux比较激进,很多老旧的…

【EI会议征稿中】第三届信号处理与通信安全国际学术会议(ICSPCS 2024)

第三届信号处理与通信安全国际学术会议(ICSPCS 2024) 2024 3rd International Conference on Signal Processing and Communication Security 信号处理和通信安全是现代信息技术应用的重要领域,近年来这两个领域的研究相互交叉促进&#xf…

基于YOLOv7算法的高精度实时海上船只目标检测识别系统(PyTorch+Pyside6+YOLOv7)

摘要:基于YOLOv7算法的高精度实时海上船只目标检测系统可用于日常生活中检测与定位海上船只目标,此系统可完成对输入图片、视频、文件夹以及摄像头方式的目标检测与识别,同时本系统还支持检测结果可视化与导出。本系统采用YOLOv7目标检测算法…

配置BFD多跳检测示例

BFD简介 定义 双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。 目的 为了减小设备故障对业务的影响,提高网络的可靠性,网…

【亲测有效】支持横竖屏 微信小程序video禁止进度条拖动,微信小程序遮罩进度条,

背景&#xff1a;部分课程禁止客户拖动视频进度条直至播放结束 红色是遮罩区域遮罩区域 实际遮罩效果&#xff08;有一个很浅的阴影区域&#xff09; 实现代码 .wxml文件 <video enable-progress-gesture"false" ><cover-view class"cover">…

JAVA全栈开发 day18MySql03

一、复习 为什么要用数据库数据库好处数据库的发展史​ 层次模型​ 网状模型​ 关系模型&#xff08;二维表专门存储数据&#xff0c; 表与表的关联&#xff09;​ 表与表的关系&#xff1a; 1对1 &#xff0c;1对多&#xff0c;多对多​ 非关系模型关系模…