【上海大学数字逻辑实验报告】六、时序电路

2023-12-13 05:01

本文主要是介绍【上海大学数字逻辑实验报告】六、时序电路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、 实验目的

  1. 掌握同步二进制计数器和移位寄存器的原理。
  2. 学会用分立元件构成2位同步二进制加计数器。
  3. 学会在Quartus II上设计单向移位寄存器。
  4. 学会在Quartus II上设计环形计数器。

二、 实验原理

  1. 同步计数器是指计数器中的各触发器的时钟脉冲输入端连接在一起,接到输入的计数脉冲的CP端,所以各触发器在同一时钟脉冲的作用下,其翻转是同步进行的。

    下面是一个用JK触发器构造的4位同步二进制加计数器:

在这里插入图片描述

由图可知:

在这里插入图片描述

所以电路的输出方程即进位为:

在这里插入图片描述

注意:

①. 上述方程均在CP下降沿有效。

②. 计数前应清零,清零后每当输入一个脉冲,计数器将按加1规律变化。

  1. 74LS74是一种双D触发器芯片,它具有12个引脚,其中8个输入引脚,4个输出引脚,其逻辑电路图如下图所示:

在这里插入图片描述

74LS74的引脚中:

输入端:1D、2D

时钟输入端:1CLK、2CLK

直接置位端(低电平有效):1PRN、2PRN

直接复位端(低电平有效):1CLRN、2CLRN

输出端:1Q、1QN、2Q、2QN

三、实验内容

实验任务一:用74LS112芯片构成2位同步二进制加计数器

(1) 实验步骤
  1. 将74LS112的输入引脚1J和1K同时连接到K16,输入引脚2J、2K同时连接到输出引脚1Q,输入引脚1CLK连接到连续脉冲1H,输入引脚1PRE、1CLR、2PRE、2CLR分别连接K5、K6、K8、K7,最后将输出引脚1Q和2Q分别连接到数码管LED6和LED5,接电接地后所构成的2位同步二进制加计数器如下所示:

在这里插入图片描述

  1. 将2位同步二进制加计数器清零,拨动开关,观察数码管的变化。
(2) 实验现象

①. 计数器清零时,数码管的值为0。

②. 当时钟脉冲到达时,计数器的值递增。

③. 当计数器的值达到最大也就是3时,它将从0重新开始计数。

(3) 实验结论

通过74LS112作为搭建平台,我们成功地实现了一个2位同步二进制加计数器。实验结果表明,计数器能按照预期进行计数。

实验任务二:在Quartus II用2片双D触发器74LS74构成单向移位寄存器

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

在这里插入图片描述

  1. 编译通过后进行波形仿真,验证电路逻辑功能:

在这里插入图片描述

  1. 仿真通过后,参照原理图定义引脚:

在这里插入图片描述

  1. 生成编程并将文件下载到FPGA。
  2. 将开关连接对应的输入引脚,输出引脚连接到发光二极管:

在这里插入图片描述

  1. 用开关和发光二极管测试FPGA的功能。
  2. 记录测试结果。
(2) 实验现象

①. 在开始时,环形计数器为初始值。

②. 当时钟脉冲到达时,数据会按照时钟脉冲的触发进行移位,也就是数据从第一个74LS74移位到第二个74LS74,第一个74LS74的Q输出变为新的数据,第二个74LS74的Q输出也变为新的数据。

(3) 实验结论

通过使用Quartus II设计工具,我们成功地用74LS74设计了一个单向移位寄存器。实验结果表明,数据会按照时钟脉冲的触发进行移位,符合预期行为。

实验任务三:在Quartus II上设计环形计数器

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

在这里插入图片描述

  1. 编译通过后进行波形仿真,验证电路逻辑功能:

在这里插入图片描述

  1. 仿真通过后,参照原理图定义引脚:

在这里插入图片描述

  1. 生成编程并将文件下载到FPGA。
  2. 将开关连接对应的输入引脚,输出引脚连接到发光二极管:

在这里插入图片描述

  1. 用开关和发光二极管测试FPGA的功能。
  2. 记录测试结果。
(2) 实验现象

①. 在开始时,环形计数器为初始值。

②. 当时钟脉冲到达时,数据会按照时钟脉冲的触发进行移位,也就是数据从第一个74LS74移位到第二个74LS74,第一个74LS74的Q输出变为新的数据,第二个74LS74的Q输出也变为新的数据。

③. 当移动到最高位后,环形计数器将返回到初始值,形成一个循环。

(3) 实验结论

通过使用Quartus II设计工具,我们成功地用74LS74设计了一个环形计数器。实验结果表明,数据会按照时钟脉冲的触发进行移位并循环,符合预期行为。

四、思考题

(1) 如何构成3位同步二进制加(减)计数器?

3位同步二进制加计数器电路图:

在这里插入图片描述

3位同步二进制减计数器电路图:
在这里插入图片描述

(2) 如何用74LS74构成双向移位寄存器?

答:在构成单向移位寄存器的基础上,只需要改变左移、右移的控制信号即可以实现双向移位。

五、建议和体会

  1. 在实验前,要熟悉同步二进制计数器和移位寄存器的原理。
  2. 实现环形计数器时,必须设置适当的初态,这样电路才能实现计数。
  3. 本实验有助于增进对同步二进制计数器和移位寄存器的理解,同时也提供了一个实际的设计和模拟测试经验。为后续进行更复杂的电路设计打下基础。

这篇关于【上海大学数字逻辑实验报告】六、时序电路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/487216

相关文章

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

AIGC6: 走进腾讯数字盛会

图中是一个程序员,去参加一个技术盛会。AI大潮下,五颜六色,各种不确定。 背景 AI对各行各业的冲击越来越大,身处职场的我也能清晰的感受到。 我所在的行业为全球客服外包行业。 业务模式为: 为国际跨境公司提供不同地区不同语言的客服外包解决方案,除了人力,还有软件系统。 软件系统主要是提供了客服跟客人的渠道沟通和工单管理,内部管理跟甲方的合同对接,绩效评估,BI数据透视。 客服跟客人

逻辑表达式,最小项

目录 得到此图的逻辑电路 1.画出它的真值表 2.根据真值表写出逻辑式 3.画逻辑图 逻辑函数的表示 逻辑表达式 最小项 定义 基本性质 最小项编号 最小项表达式   得到此图的逻辑电路 1.画出它的真值表 这是同或的逻辑式。 2.根据真值表写出逻辑式   3.画逻辑图   有两种画法,1是根据运算优先级非>与>或得到,第二种是采

UMI复现代码运行逻辑全流程(一)——eval_real.py(尚在更新)

一、文件夹功能解析 全文件夹如下 其中,核心文件作用为: diffusion_policy:扩散策略核心文件夹,包含了众多模型及基础库 example:标定及配置文件 scripts/scripts_real:测试脚本文件,区别在于前者倾向于单体运行,后者为整体运行 scripts_slam_pipeline:orb_slam3运行全部文件 umi:核心交互文件夹,作用在于构建真

NC 把数字翻译成字符串

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 有一种将字母编码成数字的方式:‘a’->1, ‘b->2’, … , ‘z->26’。 现在给一串数字,返回有多少种可能的译码结果 import java.u

34465A-61/2 数字万用表(六位半)

34465A-61/2 数字万用表(六位半) 文章目录 34465A-61/2 数字万用表(六位半)前言一、测DC/AC电压二、测DC/AC电流四、测电阻五、测电容六、测二极管七、保存截图流程 前言 1、6位半数字万用表通常具有200,000个计数器,可以显示最大为199999的数值。相比普通数字万用表,6位半万用表具有更高的测量分辨率和更高的测量准确度,适用于精度比较高的测

超级 密码加密 解密 源码,支持表情,符号,数字,字母,加密

超级 密码加密 解密 源码,支持表情,符号,数字,字母,加密 可以将表情,动物,水果,表情,手势,猫语,兽语,狗语,爱语,符号,数字,字母,加密和解密 可以将文字、字母、数字、代码、标点符号等内容转换成新的文字形式,通过简单的文字以不同的排列顺序来表达不同的内容 源码截图: https://www.httple.net/152649.html

两个长数字相加

1.编程题目 题目:要实现两个百位长的数字直接相加 分析:因为数字太长所以无法直接相加,所以采用按位相加,然后组装的方式。(注意进位) 2.编程实现 package com.sino.daily.code_2019_6_29;import org.apache.commons.lang3.StringUtils;/*** create by 2019-06-29 19:03** @autho

关于字符串转化为数字的深度优化两种算法

最近在做项目,在实际操作中发现自己在VC环境下写的字符串转化为整型的函数还是太过理想化了,或者说只能在window平台下软件环境中运行,重新给大家发两种函数方法: 第一个,就是理想化的函数,在VC环境下充分利用指针的优越性,对字符串转化为整型(同时也回答了某位网友的答案吖),实验检验通过: #include <stdio.h> #include <string.h> int rayatoi(c