实验四 移位寄存器与计数器

一 实验目的

1 掌握任意进制计数器的构成方法;

2 熟悉双向移位寄存器的使用方法。

二 实验内容

1 任意进制计数器的构成方法:

用中规模集成计数器74HC161和与非门74LS00,构成十进制计数器。要求分别使用同步预置、异步清零两种功能来设计。用数码管显示。

实验验证分别用同步预置、异步清零两种方法设计的计数器。

(1)同步预置和异步清零的区别与实验设计思路

“同步”和“异步”是对于时钟而言的。“同步”输入信号和时钟信号有关,实际上输入信号和时钟信号进行了与运算或者与非运算,输入信号和时钟信号的运算结果是有效的,器件的状态才会改变。“异步”输入信号和时钟信号无关,是指输入信号变为有效状态,器件的状态就改变。

因此,同步预置需要下一个时钟的有效沿和预设条件达成才能完成置数;异步清零只需要预设条件达成就能完成置数。

由于本实验需要设计十进制计数器,所以与非门的输入需要对应的是计数器1010或1001输出信号。当与非门的输出接在Clear端的时候,产生低电平的状态是无效的,计数器马上就复位,对应的是异步清零电路,此时与非门的输对应的是计数器1010输出信号;当与非门的输出接在Load端的时候,产生低电平的状态是有效的,计数器需要等到下一个CLK信号才复位,对应的是同步预置电路,此时与非门的输对应的是计数器1001输出信号。

(2)Multisim电路图

根据上述分析,可以得到两种方法设计的计数器电路。最终电路结果如下面两个电路图所示。

同步预置:

异步清零:

(3)仿真模拟过程

在软件中连接成以上电路图后,点击运行即可开始仿真。下面将依次展示两种设计方法实现的电路的每个步骤过程及电路对应的输出状态。

同步预置:

当前计数器输出信号

电路对应的输出状态

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

实验验证情况与预期情况完全拟合。另,同步预置电路的运行过程视频可见附件4-1-1.mkv。

异步清零:

当前计数器输出信号

电路对应的输出状态

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

不存在该状态,瞬间消失

实验验证情况与预期情况完全拟合。另,异步清零电路的运行过程视频可见附件4-1-2.mkv。

2 设计4位环形计数器:

用4位双向移位寄存器74HC194,设计一个能够自启动的4位环形计数器,并测试其输入CP和输出QA、QB、QC、QD的逻辑关系。

(1)双向移位寄存器的使用与实验设计思路

双向移位寄存器的结构如下图所示。

其工作原理为:S1=S0=1,Q1被选中;S1=S0=1,D1被选中,处于并行输入状态;S1=0,S0=1,Q0被选中,处于右移状态;S1=1,S0=0,Q2被选中,处于左移状态;RD’=0,触发器将被同时置0,处于复位状态。将五种状态总结成表格后,结果如下表所示。

RD’

S1

S0

工作状态

0

X

X

置零

1

0

0

保持

1

0

1

右移

1

1

0

左移

1

1

1

并行输入

由于本实验需要设计一个能够自启动的环形计数器,因此可以采用双向移位寄存器的右移功能来循环信号。通过分析,可以将QD接在右移的输入端。同时,在电路启动前,因为第一个与非门有一个输入端为0,因此第一个与非门的输出为1,致使S0=S1=1,此时执行并行输入的功能,读取A、B、C、D各端的信号(0111)并输入。之后Q端并行输出对应的A、B、C、D信号,且Q端经过第二个与非门。在启动电路启动后,第一个与非门的两个输入均为1,因此第一个与非门的输出为0,致使S0=0且S1=1,此时双向移位寄存器执行右移的功能,并每来一个时钟就右移一位数字,同时把末位的数字移到首位。

理论移位情况为:0111->1011->1101->1110->0111。

(2)理论电路图和Multisim电路图

理论电路图:

Multisim电路图:

(3)仿真模拟过程

在软件中连接成以上电路图后,点击运行即可开始仿真。下面将依次展示每个步骤过程及电路对应的输出状态。

启动前:

0:输出信号为0111;

启动后:

1:输出信号为0111;

2:输出信号为1011;

3:输出信号为1101;

4:输出信号为1110;

实验验证情况与预期情况完全拟合。另,4位环形计数器的运行过程视频可见附件4-2.mkv。

(4)输入CP和QA、QB、QC、QD的逻辑关系

根据模拟仿真实验的运行过程中可知,当CP每输入一个上升沿信号时,双向移位寄存器执行一次右移功能,使得Q端的各位输出均右移一位,并把末位的数字移到首位中,即实现一次环形计数功能。

3 设计节日彩灯控制电路:

用4位双向移位寄存器74HC194和与非门74LS00,设计一个节日彩灯控制电路。要求:当输入连续脉冲时,输出端的4个发光二极管右移逐位亮,继而右移逐位灭。将实现结果绘制成状态转换图。

(1)实验设计思路

根据本实验要求可知,4个发光二极管右移逐位亮,继而右移逐位灭,因此双向移位寄存器需要执行右移功能,则令S0=1,S1=0,同时QD反向之后接在SR上。电路初始时,Q端的输出均为0,此时SR为1。电路刚开始执行时,每来一个CLK上升沿信号,Q端的输出均向右移一位,同时首位为SR=1的输入信号,直到四个彩灯均点亮为止。当QD=1时,经过反向器后SR会变成0,因此当下一个CLK上升沿信号来临时,Q端的输出依然均向右移一位,同时首位为SR=0的输入信号,直到四个彩灯均熄灭为止。所以,通过上述分析我们不难发现,该电路会依次经过8个状态,即四个彩灯依次点亮的过程加上四个彩灯依次熄灭的过程。

由于是设置节日彩灯,因此使用不同颜色的发光二极管probe显示输出,并通过DCD_HEX观察不同输出情况时Q端所对应的信号值。理论的输出probe情况和DCD_HEX情况如下表所示。

CLK

SR

QA

QB

QC

QD

点亮的probe序号

显示器的显示内容

初始状态

1

0

0

0

0

/

0

1

1

0

0

0

1

1

1

1

1

0

0

1、2

3

1

1

1

1

0

1、2、3

7

1(下一个CLK来临前变为0)

1

1

1

1

1、2、3、4

F(15)

0

0

1

1

1

2、3、4

E(14)

0

0

0

1

1

3、4

C(12)

0

0

0

0

1

4

8

0(下一个CLK来临前变为1)

0

0

0

0

/

0

(2)理论电路图和Multisim电路图

理论电路图:

Multisim电路图:

(3)仿真模拟过程

在软件中连接成以上电路图后,点击运行即可开始仿真。下面将依次展示每个步骤过程及电路对应的输出状态。

0:电路初始状态,彩灯均未被点亮。

1:第一个彩灯点亮。

2:第二个彩灯点亮。

3:第三个彩灯点亮。

4:第四个彩灯点亮。

5:第一个彩灯熄灭。

6:第二个彩灯熄灭。

7:第三个彩灯熄灭。

8:第四个彩灯熄灭。彩灯从左往右依次点亮并熄灭的一个过程结束,回到电路原来的初始状态。

实验验证情况与预期情况完全拟合。另,4位环形计数器的运行过程视频可见附件4-3.mkv。

(4)实验结果及状态转换图

根据模拟仿真实验的运行过程中可知,Q端输出信号依次对应为0000->1000->1100->1110->1111->0111->0011->0001->0000。通过上述变化过程可以得到状态转换图如下图所示。由于输出即为Q端信号,因此不在状态转换图中展示输出变化。

三 实验总结

通过本次实验,我再一次对移位寄存器和计数器的功能进行了巩固。移位寄存器是用来寄存二进制数字信号且能进行信息移动的时序逻辑电路。根据移位寄存器存取信息的方式不同,可以分为串入串出、串入并出、并入串出、并入并处这四种形式。因此,移位寄存器可以构成计数器、顺序脉冲发生器、串行累加器、串并转换器、并串转换器等功能仪器。

另外,在第三个实验中,与非门的两个输入端均为同一种输入时,可作为反向器使用。即反相器为与非门的特殊连接情况。

同时,我对实验教材中的《实验七:Vivado工具与Verilog HDL的使用》进行了阅读,了解到Minisys实验板的使用步骤为:创建一个项目->添加源代码->仿真->综合->引脚分配->实现->产生比特流文件并下载,并对实验板的结构进行了粗略的认识。

【数电实验】移位寄存器与计数器相关推荐

  1. 数电实验九:计数器的设计

    转载自https://wu-kan.cn/_posts/2018-07-04-计数器的设计/ 数字电子技术实验报告 实验题目:计数器的设计 预习报告 内容一 使用JK触发器设计一个16进制异步减法计数 ...

  2. 数电实验1:计数器实验

    1 设计要求分析 计数是一种最简单基本的运算.计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量.计数和控制的功能,同时兼有分频功能.本次实验采用50MHz时钟 ...

  3. 数电实验报告实验一_大二下学期的两三事之数电实验amp;课设

    数电实验&课设 叮 写在前面 这学期的数电实验老师是陈W老师.上学期的模电,选过一次他的课,线下教学,老师讲课游刃自如,点到为止,但又醍醐灌顶:这学期线上教学,可能是软件运用不熟练,他多少有些 ...

  4. 数电实验4:彩灯控制器设计

    数电实验4:彩灯控制器设计 一.实验目的 二.实验内容 三.预习要求 四.实验报告要求 五.Verilog代码.RTL视图及仿真波形 1.Verilog代码 2.RTL视图 3.仿真波形 西南交大数电 ...

  5. 北邮数电实验三接球小游戏

    文章目录 前言 一.实验要求 二.设计思路 三.设计系统框图 四.源代码 五.遇到的问题和解决办法 六.总结 前言 北邮数电实验三"接球小游戏" 数电实验验收已经结束了,实验报告也 ...

  6. 数电实验6:可控分频器设计

    数电实验6:可控分频器设计 一.实验目的 二.基本实验内容 三.提高性实验内容(选做) 四.预习实验 五.实验报告要求 六.内容讲解(基础实验内容) 七.testbench及仿真结果 1.testbe ...

  7. 数电实验三 数据选择器及其应用 任务一:用74151芯片采用降维的方法实现F=ABC+ABD+ACD+BCD; 任务二:用74151芯片采用降维方式实现F=BCD反+BC反+A反D;

    数电实验三 数据选择器及其应用 任务一:用74151芯片采用降维的方法实现F=ABC+ABD+ACD+BCD; 任务二:用74151芯片采用降维方式实现F=BCD反+BC反+A反D: 实验数据单

  8. 【数电实验7】Verilog—外星萤火虫

    [2022.05西南交大数电实验] [本代码及波形已通过老师验收.仅供参考.] [参考博客:[数电实验]外星萤火虫设计_难凉oh的博客-CSDN博客] [建议:有些口语化的注释看完删掉比较好哈,怕老师 ...

  9. 数电实验(一)利用与非门设计四舍五入判别电路

    数电实验(一)利用与非门设计四舍五入判别电路 要求: 1.输入为8421BCD码,接四个逻辑电平开关,同时接数码管. 2.输出和LED相连. 一.写出逻辑函数: F(A,B,C,D)=∑m(5,6,7 ...

  10. c语言离散卷积编程,数电实验一 离散卷积的C语言编程.ppt

    数电实验一 离散卷积的C语言编程.ppt 实验一 离散卷积的C语言编程实验,DSP实验室,实验性质,综合设计性实验,实验目的,1 了解和认识常用的各种信号: 2 掌握卷积的定义和计算方法: 3 掌握在 ...

最新文章

  1. 简单的分级别写日志程序
  2. 习题7-1 选择法排序 (20 分)
  3. innodb一页为什么要存储两行记录_InnoDB中的页合并与分裂
  4. oracle存储查询出来的值_技术分享|浅析ORACLE数据库物理体系结构及其对应优化策略...
  5. Go案例说明defer panic recover
  6. javascript递归遍历文件夹下面的所有文件并返回所有文件全路径名称数组以及解析JavaScript方法体字符串的结束位置
  7. 微信小程序全局分享设置
  8. 用nodejs 调试nginx rewrite 后输出路径
  9. voip 客户端 android,Android基于OpenSL ES,Speex,RTMP的Voip客户端实现
  10. svnadmin hotcopy整库拷贝方式(转载)
  11. 2022-01-05 网工基础(十九)NAT基本原理与配置
  12. 风生水起的VR直播丨VR直播市场何时迎来爆发期?
  13. Openlayers记录(七)利用ol3进行缓冲区的空间相交分析
  14. 让站长崩溃的骚操作,你中过招吗?
  15. zk的session
  16. 鼠标移动代码(使用光标健移动)
  17. C++ 检查内存泄露工具
  18. 纽卡斯尔计算机学院地址,2020年纽卡斯尔大学科学与信息技术学院具体地址及在哪个校区?...
  19. c语言keil代码大全,Keil中C语言汇编代码比较
  20. mysql的预写日志_编写数据库:第2部分-预写日志

热门文章

  1. 自适应横向宽屏幻灯片代码
  2. java-net-php-python-52学生评奖评优管理系统计算机毕业设计程序
  3. 电话号码生成图片格式
  4. 处理win2000web服务器
  5. 一年级关于计算机的手抄报内容是什么,一年级春天来了手抄报内容资料
  6. 企业门户网站的设计与实现(含源文件)
  7. Unable to open browser. If you are running in a headless environment, please do not use the open fla
  8. Linux驱动开发 | 模块驱动
  9. 桌面日历软件——让每天过得有目标
  10. python 字符串的搜索匹配与替换(详细)