【上海大学数字逻辑实验报告】六、时序电路
一、 实验目的
- 掌握同步二进制计数器和移位寄存器的原理。
- 学会用分立元件构成2位同步二进制加计数器。
- 学会在Quartus II上设计单向移位寄存器。
- 学会在Quartus II上设计环形计数器。
二、 实验原理
-
同步计数器是指计数器中的各触发器的时钟脉冲输入端连接在一起,接到输入的计数脉冲的CP端,所以各触发器在同一时钟脉冲的作用下,其翻转是同步进行的。
下面是一个用JK触发器构造的4位同步二进制加计数器:

由图可知:

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

注意:
①. 上述方程均在CP下降沿有效。
②. 计数前应清零,清零后每当输入一个脉冲,计数器将按加1规律变化。
- 74LS74是一种双D触发器芯片,它具有12个引脚,其中8个输入引脚,4个输出引脚,其逻辑电路图如下图所示:

74LS74的引脚中:
输入端:1D、2D
时钟输入端:1CLK、2CLK
直接置位端(低电平有效):1PRN、2PRN
直接复位端(低电平有效):1CLRN、2CLRN
输出端:1Q、1QN、2Q、2QN
三、实验内容
实验任务一:用74LS112芯片构成2位同步二进制加计数器
(1) 实验步骤
- 将74LS112的输入引脚1J和1K同时连接到K16,输入引脚2J、2K同时连接到输出引脚1Q,输入引脚1CLK连接到连续脉冲1H,输入引脚1PRE、1CLR、2PRE、2CLR分别连接K5、K6、K8、K7,最后将输出引脚1Q和2Q分别连接到数码管LED6和LED5,接电接地后所构成的2位同步二进制加计数器如下所示:

- 将2位同步二进制加计数器清零,拨动开关,观察数码管的变化。
(2) 实验现象
①. 计数器清零时,数码管的值为0。
②. 当时钟脉冲到达时,计数器的值递增。
③. 当计数器的值达到最大也就是3时,它将从0重新开始计数。
(3) 实验结论
通过74LS112作为搭建平台,我们成功地实现了一个2位同步二进制加计数器。实验结果表明,计数器能按照预期进行计数。
实验任务二:在Quartus II用2片双D触发器74LS74构成单向移位寄存器
(1) 实验步骤
- 用Quartus II设计出如下电路:

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

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

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

- 用开关和发光二极管测试FPGA的功能。
- 记录测试结果。
(2) 实验现象
①. 在开始时,环形计数器为初始值。
②. 当时钟脉冲到达时,数据会按照时钟脉冲的触发进行移位,也就是数据从第一个74LS74移位到第二个74LS74,第一个74LS74的Q输出变为新的数据,第二个74LS74的Q输出也变为新的数据。
(3) 实验结论
通过使用Quartus II设计工具,我们成功地用74LS74设计了一个单向移位寄存器。实验结果表明,数据会按照时钟脉冲的触发进行移位,符合预期行为。
实验任务三:在Quartus II上设计环形计数器
(1) 实验步骤
- 用Quartus II设计出如下电路:

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

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

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

- 用开关和发光二极管测试FPGA的功能。
- 记录测试结果。
(2) 实验现象
①. 在开始时,环形计数器为初始值。
②. 当时钟脉冲到达时,数据会按照时钟脉冲的触发进行移位,也就是数据从第一个74LS74移位到第二个74LS74,第一个74LS74的Q输出变为新的数据,第二个74LS74的Q输出也变为新的数据。
③. 当移动到最高位后,环形计数器将返回到初始值,形成一个循环。
(3) 实验结论
通过使用Quartus II设计工具,我们成功地用74LS74设计了一个环形计数器。实验结果表明,数据会按照时钟脉冲的触发进行移位并循环,符合预期行为。
四、思考题
(1) 如何构成3位同步二进制加(减)计数器?
3位同步二进制加计数器电路图:

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

(2) 如何用74LS74构成双向移位寄存器?
答:在构成单向移位寄存器的基础上,只需要改变左移、右移的控制信号即可以实现双向移位。
五、建议和体会
- 在实验前,要熟悉同步二进制计数器和移位寄存器的原理。
- 实现环形计数器时,必须设置适当的初态,这样电路才能实现计数。
- 本实验有助于增进对同步二进制计数器和移位寄存器的理解,同时也提供了一个实际的设计和模拟测试经验。为后续进行更复杂的电路设计打下基础。
相关文章:
【上海大学数字逻辑实验报告】六、时序电路
一、 实验目的 掌握同步二进制计数器和移位寄存器的原理。学会用分立元件构成2位同步二进制加计数器。学会在Quartus II上设计单向移位寄存器。学会在Quartus II上设计环形计数器。 二、 实验原理 同步计数器是指计数器中的各触发器的时钟脉冲输入端连接在一起,接…...
docker版zerotier-planet服务端搭建
1:ZeroTier 介绍2:为什么要自建PLANET 服务器3:开始安装 3.1:准备条件 3.1.1 安装git3.1.2 安装docker3.1.3 启动docker3.2:下载项目源码3.3:执行安装脚本3.4 下载 planet 文件3.5 新建网络 3.5.1 创建网络4.客户端配置 4.1 Windows 配置 4.2 加入网络4.2 Linux 客户端4.…...
【Spring教程28】Spring框架实战:从零开始学习SpringMVC 之 请求与请求参数详解
目录 1 设置请求映射路径1.1 环境准备 1.2 问题分析1.3 设置映射路径 2 请求参数2.1 环境准备2.2 参数传递2.2.1 GET发送单个参数2.2.2 GET发送多个参数2.2.3 GET请求中文乱码2.2.4 POST发送参数2.2.5 POST请求中文乱码 欢迎大家回到《Java教程之Spring30天快速入门》ÿ…...
node.js和浏览器之间的区别
node.js是什么 Node.js是一种基于Chrome V8引擎的JavaScript运行环境,可以在服务器端运行JavaScript代码 Node.js 在浏览器之外运行 V8 JavaScript 引擎。 这使得 Node.js 非常高效。 浏览器如何运行js代码 nodejs运行环境 在浏览器中,大部分时间你所…...
【python并发任务的几种方式】
文章目录 1 Process:2 Thread:3 ThreadPoolExecutor:4 各种方式的优缺点:5 线程与进程的结束方式5.1 线程结束的几种方式5.2 进程的结束方式 6 应用场景效率对比 在Python中,有几种方法可以处理并行执行任务。其中,Process、Thread和ThreadPo…...
使用ROS模板基于ECS和RDS创建WordPress环境
本文教程介绍如何使用ROS模板基于ECS和RDS(Relational Database Service)创建WordPress环境。 前提条件 如果您是首次使用ROS,必须先开通ROS服务。ROS服务免费,开通服务不会产生任何费用。 背景信息 WordPress是使用PHP语言开…...
龙迅LT2611UXC 双PORT LVDS转HDMI(2.0)+音频
描述: LT2611UXC是一个高性能的LVDS到HDMI2.0的转换器,用于STB,DVD应用程序。 LVDS输入可配置为单端口或双端口,有1个高速时钟通道,3~4个高速数据通道,最大运行1.2Gbps/通道,可支持高达9.6Gbp…...
websocket和SSE通信示例(无需安装任何插件)
websocket和SSE通信示例(无需安装任何插件) 源码示例(两种方案任意切换) data(){return {heartBeatInterval:5000,// 心跳间隔时间,单位为毫秒webSocket:null,heartBeatTimer:null,} }, mounted() {// this.initWebS…...
计算机网络(三)
(十一)路由算法 A、路由算法分类 动态路由和静态路由 静态路由:人工配制,路由信息更新慢,优先级高。这种在实际网络中要投入成本大,准确但是可行性弱。 动态路由:路由更新快,自动…...
HttpURLConnection OOM问题记录
使用HttpURLConnection 上传大文件,会出现内存溢出问题: 观察HttpURLConnection 源码: Overridepublic synchronized OutputStream getOutputStream() throws IOException {connecting true;SocketPermission p URLtoSocketPermission(th…...
WT588F02B单片机语音芯片在磁疗仪中的应用介绍
随着健康意识的普及和科技的发展,磁疗仪作为一种常见的理疗设备,受到了广大用户的关注。为了提升用户体验和操作便捷性,唯创知音WT588F02B单片机语音芯片被成功应用于磁疗仪中。这一结合将为磁疗仪带来智能化的语音交互功能,为用户…...
深度学习——第5章 神经网络基础知识
第5章 神经网络基础知识 目录 5.1 由逻辑回归出发 5.2 损失函数 5.3 梯度下降 5.4 计算图 5.5总结 在第1课《深度学习概述》中,我们介绍了神经网络的基本结构,了解了神经网络的基本单元组成是神经元。如何构建神经网络,如何训练、优化神…...
微信网页授权步骤说明
总览 引导用户进入授权页面同意授权,获取code通过code换取网页授权access_token(与基础支持中的access_token不同)如果需要,开发者可以刷新网页授权access_token,避免过期(一般不需要)通过网页…...
linux bash shell变量操作符 —— 筑梦之路
1. 变量子串 ${var} 返回变量var的内容,单独使用时有没有{}一样,混合多个变量和常量时,用{}界定变量名 ${#var} 返回变量var内容的长度 ${var:offset} 从变量var中的偏移量offset开始截取到字符串结尾的子字符串,offset从0开始 ${…...
2.61【Python生成器与迭代器】
Python迭代器与生成器 迭代器 什么是迭代器 首先迭代是指python中访问元素的一种方式,迭代器是一个可以记住遍历位置的对象,因此不会像列表那样一次性全部生成,而是可以等到用的时候才生成,因此节省了大量的内存资源 可迭代对…...
devecho stuido npm 失败
使用华为推荐的设置npm 代理方式仍然无效。还是得使用npm 命令去设置代理。地址参考: npm设置和取消代理的方法_npm查看代理-CSDN博客 最后使用自己的代理加载成功,使用华为推荐的代理不成功,不清楚什么原因。 华为推荐的环境配置如下&…...
postgreSql逻辑复制常用语句汇总和说明
简单说明 postgreSql逻辑复制的原理这里不再赘述,度娘一下即可。这里只是对常用的语句做一些汇总和说明,以便日后查找时方便。 逻辑复制的概念 逻辑复制整体上采用的是一个发布订阅的模型,订阅者可以订阅一个或者多个发布者, 发…...
设置Ubuntu或树莓派系统,允许root用户ssh方式连接
Ubuntu 或 Raspbian 系统默认不允许root 用户以ssh方式连接。连接会报如下错误: Permission denied, please try again. 解决步骤: (如果是树莓派系统:烧录到内存卡后,拔掉内存卡再重新插到PC机上&#x…...
Ubuntu安装向日葵【远程控制】
文章目录 引言下载向日葵安装向日葵运行向日葵卸载向日葵参考资料 引言 向日葵是一款非常好用的远程控制软件。这一篇博文介绍了如何在 Ubuntu Linux系统 中安装贝瑞向日葵。🏃💥💥💥❗️ 下载向日葵 向日葵官网: https://sunl…...
jquery 实现倒计时60秒
jquery 实现倒计时60秒 <!DOCTYPE html> <html><head><meta http-equiv"content-type" content"text/html; charsetUTF-8"><meta content"widthdevice-width,initial-scale1.0,maximum-scale1.0,user-scalableno" i…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
