移位寄存器与反馈节点

上传人:szh****04 文档编号:209684386 上传时间:2023-05-15 格式:DOCX 页数:5 大小:100.56KB
收藏 版权申诉 举报 下载
移位寄存器与反馈节点_第1页
第1页 / 共5页
移位寄存器与反馈节点_第2页
第2页 / 共5页
移位寄存器与反馈节点_第3页
第3页 / 共5页
资源描述:

《移位寄存器与反馈节点》由会员分享,可在线阅读,更多相关《移位寄存器与反馈节点(5页珍藏版)》请在装配图网上搜索。

1、第1章 移位寄存器与反馈节点在本书的所有内容中,将不再关注LABVIEW版本的问题,也不会详细讨论LABVIEW中各个函数的具体用法。我们重点关注的是采用自底向上的编程方法,一步一步地学习如何利用LABVIEW构建比较大的应用程序。任何程序都离不开数据,LABVIEW程序中的数据一般都是存储于与数据类型相适应的控件之中,唯一的例外是移位寄存器和反馈节点。其中反馈节点出现在8.X版本后,而移位寄存器从LABVIEW诞生之日起就一直存在,因此本书从移位寄存开始谈起。移位寄存器(Shift Register)通常简称为SR,为叙述方便,我们也会采用SR来表示移位寄存器。1.1. 什么是移位寄存器如果

2、我们学习过其它编程语言,就会发现在常规的编程语言中,很少会提及移位寄存器。这是因为移位寄存器的定义来自于硬件,现实世界中我们的确可以找到各类基于移位寄存器的芯片。既然如此,我们有必要从硬件的角度简单介绍一下移位寄存器,了解移位寄存器的特点,这有助于我们理解LABVIEW中的移位寄存器,因为二者的作用是基本一致。图中包括了四个移位寄存器。从硬件移位寄存器的角度来看,每个一位寄存器中包含一个二进制位。我们不必拘泥于移位寄存器存储的数据类型,我们假设移位寄存器中可以存储任意类型的数据。移位寄存器具有几个非常重要特点:l移位寄存器是由相同的寄存单元所组成。l所有寄存单元共用一个时钟。l所有寄存器单元串

3、行级联。图1- 1 移位寄存器示意图移位寄存器由相同的寄存单元组成,这意味着每个寄存单元中存储的数据类型必须相同。通常的移位寄存单元包含三个输入端和两个输出端,每个接线端的作用简述如下:1. Data_in-数据输入接线端,由于寄存单元采用了串行级联的方式,只有一个寄存单元的数据输入接线端对外敞开。2. Clk-时钟(Clock)输入接线端。在时钟的每个上升沿(或者下降沿),寄存单元由左至右依次移位。其中Q3单元将存入新的数据,Q0单元将丢弃上次存储的数据。假如Q3Q2Q1Q0原来存储的数据分别是:、2、4、6、8,Data_In新输入数据为0,则移位后Q3Q2Q1Q0当前的数据为:0、2、4

4、、6。3. Clr-清除(Clear)接线端,用来清除或者复位寄存器单元,一般同时连接到各个寄存器单元,以便通过一个信号同时对移位单元进行复位。通过移位寄存器,寄存单元可以保持数据输入端的前一次或者前几次的值。比如Q2中保存了Q3中前一次的值,Q1中保存了Q2中的前一次的值。也可以说Q1中保存了Q3中的前两次值。1.2. 创建移位寄存器LABVIEW中的数据是不能独立存在的,必须以某个控件作为容器,移位寄存器是个例外,它不依附于任何控件。虽然移位寄存器不依附于特定的控件,但是移位寄存器必须依附于循环结构,也就是说不存在独立的移位寄存器。与硬件的寄存器一样,LABVIEW中使用移位寄存器也是为了

5、保持前一次或者前几次的值。下面我们创建一个移位寄存器,并比较其与硬件移位寄存器的异同,在循环结构的左侧或者右侧,使用快捷菜单,即可创建移位寄存器。图1- 2 创建移位寄存器每当我们创建一个新的SR时,在循环结构的左右两侧会出现两个接线端。接线端内部出现一个黑色实心的三角形。右侧的向上的三角形表明此处可以输入数据,左侧的向下的三角形表明此处可以输出数据。对照图1-1,右侧的输入接线端相当于Data_in,左侧的输出接线端相当于Q3。目前移位寄存器中没有任何数据,移位寄存器中可以存储任意数据类型,但是一旦数据类型确定,中间是不能再次更改已经存储的数据类型的,因此使用移位寄存器之前,首先需要确定SR

6、中存储的数据类型。我们可以用一下两种方式指定移位寄存器中存储的数据类型。1. 通过右侧的输入接线端连接的数据自动确定移位寄存器中的数据类型。2. 通过左侧的输出接线端连接的数据,确定移位寄存器中存储的数据类型,同时进行移位寄存器的初始化。图1- 3 确定移位寄存器的类型当同时连接左右侧的移位寄存器接线端时,移位寄存器包含的数据类型以左侧连接的数据为准。当左右测连接的数据类型不一致时,右侧连接的数据或者自动进行数据类型转换或者断开连接。图1- 4 左右两侧连接不同类型通过移位寄存器左侧接线端的快捷菜单,选择添加元素或者使用鼠标直接向下拖动接线端,可以建立多个寄存器单元,LABVIEW中称作层叠移

7、位寄存器。图1- 5 建立多个寄存器单元同一循环结构中可以创建多个移位寄存器,保存不同类型的数据。图1- 6 创建多个不同类型的SR1.3. 移位寄存器的工作过程在图1-1中,在CLK的上升沿的作用下,所有的移位寄存器单元同时进行串行移位过程。在LABVIEW中,是否存在这样的时钟?下面我们详细剖析一下SR的工作过程。图1- 7 SR的工作过程由于FOR循环的N端子未连接,且输入数组采用自动索引,所以FOR循环的循环次数又输入数组的长度决定,总计循环7次。对于每个寄存器单元,通过FOR循环自动索引,输出数组。从输出的数组中,我们可以非常清晰地看到SR的工作过程。首次循环时开始时,根据LABVIEW数据流的控制方式,从左侧寄存器单元读取SR寄存器的当前值。由于所有SR单元初始化为0,所以首次读取的SR单元值均为0。当循环结束时,输入数组的首个元素2进入SR的数据输入端,同时进行移位操作。以后每次循环依次类推。表格1详细说明了每次循环前后SR单元中存储值的变化情况。NOiQ3Q2Q1Q0100000212000324200436420548642651086476121086通过以上的详细分析,我们可以得到SR的第一个重要功能。移位寄存器可以在多次循环之间保持值。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!