首页

寒假期间做的数字逻辑课设,现在整理出来分享给大家。
本文内容参照WUST2019届课程设计报告要求。

课设题目

  1. 三位十进制加法器,需要用三位数码管显示
  2. 八位二进制加法器,也需要用三位数码管显示

课程设计目的

1.初步掌握数字系统电路的一般设计方法,具备对逻辑电路独立设计能力。

2.进一步熟悉常用电子器件的类型和特性,并掌握合理选用的原则。

3.提高综合运用所学的理论知识,独立分析和解决问题的能力。

4.初步掌握对数字系统电路的安装与调试等基本技能。

设计报告要求

  1. 摘要,介绍本设计的要点 。
  2. 设计方案论证与选择,理论依据。
  3. 实现设计方案的原理框图,系统结构图,明确功能划分。
  4. 单元电路设计,包括元器件选择和相关电路参数设计与计算。
  5. 运行效果或仿真效果。
  6. 本设计的收获与体会。
  7. 参考文献。

分析

当初有12个题目啊,我选了一个看起来最简单的题目,但后面思考了以下,其实并不简单呜呜呜,仍需要解决3个问题

  • 两个加法器都存在进位的可能(例如三位十进制加法器得到四位数,八位二进制加法器得到九位二进制数)
  • 三位十进制相加需要调整系数
  • 八位二进制相加,其结果可能是九位二进制,最大的问题就在于,怎么样将九位二进制转化成BCD码呢?而用我们目前已经学习过简单常规方法是做不到的(可能会做到?但本人太菜了没找到呜呜)

看到这你可能感觉莫名其妙,没事,我带你先看看思路

思路

  • 三位十进制加法

    • 第一步:十进制一位一位加(74HC147,74HC283)

      • 个位+个位=结果+进位
      • 个位进位+十位+十位=结果+进位
      • 十位进位+百位+百位=结果+进位
        • 所用芯片:

          • 74HC147:十进制转二进制
          • 74HC283:四位二进制相加
    • 第二步:将得出来的三个十进制数(可能是四进制)拼起来就是结果 (7SEG-BCD)
      • 结果个位(十进制)----> 结果个位(二进制)----> 数码管显示
      • 结果十位(十进制)----> 结果十位(二进制)----> 数码管显示
      • 结果百位(十进制)----> 结果百位(二进制)----> 数码管显示
      • 结果百位(十进制)----> 结果百位(二进制)----> 数码管显示
      • 所用芯片:
        - 7SEG-BCD:数码管显示用
    • 第三步:用isis连起来

是不是看起来贼简单,我也觉得,并且洋洋得意以为自己这么快就完成了一半儿,但临近验收的时候,某一天天气晴朗,我闲来无事测试了以下 ,发现问题了,啥问题呢,就是数码管的问题:
    当相应位相加产生进位时,数码管显示了稀奇古怪的东西,举个例子

无进位:

4+5=9 //无进位
输入4
输入5
结果:数码管显示9

输出是没有问题的,数码管显示9

有进位:

5+5=10 //有进位
输入5
输入5
结果:数码管显示0

但实际结果,数码管显示的是10!

哈,逗我呢,这是10?
没错,就是十,而不是0!这就是问题所在。
个位相加产生的进位送到数码管的时候,不是0而是10,因此就出现了这个诡异的图像

所以我们需要修正系数!
直接上连接图

这里用到了一些数学技巧,不会百度去我懒得讲了
后面那个芯片直接连数码管就行

  • 八位二进制
  • 一开始我是这样想的
  • 直接用二进制加减,多简单呐!
        可是问题来了,需要用数码管显示,就需要将结果转换成BCD码,那我怎么转换成BCD码呢?
        如果结果是八位二进制,也比较简单,但结果还有可能是九位二进制,这个咋办呢?
        于是经过我不断的度娘,找到了一个芯片74185,经过一段级联之后,就可以实现九位二进制转十进制

    级联方法:

        我看不懂,为此还请教了老师,结果老师说:是个用法比较复杂的芯片,如果看不懂直接这么连

然而,问题来了,我的isis不能仿真这个芯片,哭泣~
    于是这个思路就game over了

接着,我又换了一个新的思路

    用计数器做加法器的思路,是在度娘上找到的,基本正确,但因为软件isis自己的bug,所以不能完完全全照着图连。
    这是老师给出的解决方法:

    也就是借位管脚是坏的,要自己用与非门构建。

除此之外,没有什么别的问题了
下面是俩个加法器的总图
三位十进制电路图

八位二进制电路图

两个加法器的dsn文件下载地址戳这里:加法器设计
文章最后也附有相应的百度云链接

八位二进制的用法
因为是用的计数器,所以使用顺序不能错
在开始仿真前一定要将中间的开关打开,左侧的输入调整好
在仿真开始后,按下中部开关,就可以得出结果
若想继续计算,则需要关闭仿真重复上述步骤
一次仿真只能计算一个加法式子

示例
255+255=510
也就是11111111+11111111=510

显示正确
两个加法器的dsn文件在这里:传送门
文章最后也附有相应的百度云链接


原先设置的是免费资源,后面系统给改了(嘤嘤嘤)。
这里贴一个百度云盘的链接
链接:点一下下载百度云文件
提取码:nkcn

数字逻辑课程设计-加法器设计(三位十进制+八位二进制)相关推荐

  1. 数字逻辑课程设计,简单的8位模型计算机verilog设计

    简单8位模型计算机 0.摘要 1.绪论 1.1 模型计算机简介 1.2 设计主要内容 1.2.1 设计指标 1.2.2 设计思路 2.系统设计 2.1模型计算机原理 2.2 模型计算机组成 2.3 模 ...

  2. 数字逻辑课程设计-数字时钟时分秒的设计

    数字逻辑课程设计-数字时钟 ------------- 课程设计的三个简单要求 1.设计一个能显示日期.小时.分钟.秒的数字电子钟,并具有整点报时的功能. 2.由晶振电路产生1HZ标准的信号.分.秒为 ...

  3. 电路与数字逻辑课程设计-电子钟功能

    以下内容为我电路与数字逻辑实验的实验报告内容. 实验部分采用的是logisim实现 本实验因时间问题做的比较仓促,有许多不足之处,还请谅解. 想要完整代码的可以在我的博客资源进行下载 电路与数字逻辑课 ...

  4. Verilog语言简介(数字逻辑课程笔记)

    Verilog语言简介 Verilog语言简介(数字逻辑课程笔记) 概述 数据类型 模块构建 操作符 赋值语句 连续赋值 过程赋值 过程赋值语句块:always语句块 阻塞赋值 非阻塞赋值 过程赋值语 ...

  5. 数字从后往前每三位加个逗号

    数字从后往前每三位加个逗号 // 数字从后往前每三位加个逗号(不足补零)NumberFilter(num) {let n = (Array(8).join(0) + num).slice(-8)let ...

  6. 51单片机实现三位十进制数加减乘除运算

    51单片机实现三位十进制数加减乘除运算 一.题目 51单片机IO接口作业 请将附件给出的Proteus图用51单片机完成一个计算器功能. 1.显示采用动态分时8位共阳数码管输出. 2.采用4*4矩阵键 ...

  7. 数字逻辑课程设计拔河游戏机

      <数字逻辑> 课 程 设 计 报 告       题目:拔河游戏机           专业:计算机科学与技术 班级:14计科2班 组长:张钦颖(1414080901218) 成员:无 ...

  8. js 数字递增递减_js验证连续两位数字递增或递减和连续三位数字相同

    验证 function isPassword(){//连续三位数字相同 var str = $("#testid").val(); //var patrn=/(.)*(.)\2{2 ...

  9. 数字逻辑 课程设计 多功能电子钟 Quartus II

    设计方案 1.系统功能描述 (1)      系统输入:系统状态及校时.定时转换的控制信号为k.set:时钟信号clk,采用1024Hz:系统复位信号为reset.输入信号由按键产生. (2)     ...

最新文章

  1. 数据中心告别柴发还需要多久?
  2. StackBlitz里无法重命名项目的问题
  3. 质量不同的球java编程_荐非常经典的java编程题全集-共50题(1-10)...
  4. php 目录管理,PHP_php目录管理函数小结,chdir : 改变目录。 dir : 目录类 - phpStudy...
  5. 全国计算机一级试题重难点,全国计算机等级考试一级MS选择题(重难点)部分.doc...
  6. linux怎么装vnc插件,linux下安装基于GNOME的VNC连接工具Vinagre
  7. mysql _bin编码_mysql中utf8_bin、utf8_general_ci、utf8_general_cs编码区别
  8. zz:测试还是开发?
  9. java中将list、map对象写入文件
  10. 数字信号处理基础----拉普拉斯变换与Z变换
  11. Win10下ImageAI-gpu(tensorflow-gpu)环境安装(cuda及cuDNN自动安装)及实时对象检测
  12. excel制作表格的详细步骤
  13. 我的微语录周记2012-08-20---2012-…
  14. 本地telnet使用
  15. 笔记本联想(Lenovo)G40-70M加装内存和SSD固态硬盘
  16. 一.pandas的导入读取
  17. POJ1655 树重心模板题
  18. 交换机和路由器技术-13-三层交换
  19. 贝塞尔曲线是什么?如何用 Canvas 绘制三阶贝塞尔曲线?
  20. 如何管理好工厂,生意人值得收藏。

热门文章

  1. 虚幻引擎图文笔记:Lowpoly Asset低面几何资产开发技巧
  2. 微信小程序支付功能-服务器端实现(附源码)
  3. Redis(超级无敌认真好用,万字收藏篇!!!!)
  4. 移动互联网,还是离农村还有点远
  5. 2023-2028年中国花炮行业市场供需与投资预测分析报告
  6. 图像处理注意力机制Attention汇总(附代码)
  7. VCS4 debug with DVE
  8. [Java] if(a==1 a==2 a==3),为true,你敢信???
  9. linux 两个 media,初学linux 请教一下 media和mnt
  10. Java正则表达式学习及使用案例干货