网站大量收购闲置独家精品文档,联系QQ:2885784924

移位寄存器与反馈节点.docxVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
移位寄存器与反馈节点

第1章????????????? 移位寄存器与反馈节点 在本书的所有内容中,将不再关注LABVIEW版本的问题,也不会详细讨论LABVIEW中各个函数的具体用法。我们重点关注的是采用自底向上的编程方法,一步一步地学习如何利用LABVIEW构建比较大的应用程序。 任何程序都离不开数据,LABVIEW程序中的数据一般都是存储于与数据类型相适应的控件之中,唯一的例外是移位寄存器和反馈节点。其中反馈节点出现在8.X版本后,而移位寄存器从LABVIEW诞生之日起就一直存在,因此本书从移位寄存开始谈起。 移位寄存器(Shift Register)通常简称为SR,为叙述方便,我们也会采用SR来表示移位寄存器。 1.1.?? 什么是移位寄存器 如果我们学习过其它编程语言,就会发现在常规的编程语言中,很少会提及移位寄存器。这是因为移位寄存器的定义来自于硬件,现实世界中我们的确可以找到各类基于移位寄存器的芯片。 既然如此,我们有必要从硬件的角度简单介绍一下移位寄存器,了解移位寄存器的特点,这有助于我们理解LABVIEW中的移位寄存器,因为二者的作用是基本一致。 图中包括了四个移位寄存器。从硬件移位寄存器的角度来看,每个一位寄存器中包含一个二进制位。我们不必拘泥于移位寄存器存储的数据类型,我们假设移位寄存器中可以存储任意类型的数据。 移位寄存器具有几个非常重要特点: l?移位寄存器是由相同的寄存单元所组成。 l?所有寄存单元共用一个时钟。 l?所有寄存器单元串行级联。 ? 图1- 1 移位寄存器示意图 移位寄存器由相同的寄存单元组成,这意味着每个寄存单元中存储的数据类型必须相同。通常的移位寄存单元包含三个输入端和两个输出端,每个接线端的作用简述如下: ? 1.???????? Data_in---数据输入接线端,由于寄存单元采用了串行级联的方式,只有一个寄存单元的数据输入接线端对外敞开。 2.???????? Clk-------时钟(Clock)输入接线端。在时钟的每个上升沿(或者下降沿),寄存单元由左至右依次移位。其中Q3单元将存入新的数据,Q0单元将丢弃上次存储的数据。 假如Q3Q2Q1Q0原来存储的数据分别是:、2、4、6、8,Data_In新输入数据为0,则移位后Q3Q2Q1Q0当前的数据为:0、2、4、6。 3.???????? Clr----清除(Clear)接线端,用来清除或者复位寄存器单元,一般同时连接到各个寄存器单元,以便通过一个信号同时对移位单元进行复位。 通过移位寄存器,寄存单元可以保持数据输入端的前一次或者前几次的值。比如Q2中保存了Q3中前一次的值,Q1中保存了Q2中的前一次的值。也可以说Q1中保存了Q3中的前两次值。 1.2.?? 创建移位寄存器 LABVIEW中的数据是不能独立存在的,必须以某个控件作为容器,移位寄存器是个例外,它不依附于任何控件。 虽然移位寄存器不依附于特定的控件,但是移位寄存器必须依附于循环结构,也就是说不存在独立的移位寄存器。与硬件的寄存器一样,LABVIEW中使用移位寄存器也是为了保持前一次或者前几次的值。 下面我们创建一个移位寄存器,并比较其与硬件移位寄存器的异同,在循环结构的左侧或者右侧,使用快捷菜单,即可创建移位寄存器。 ? 图1- 2 创建移位寄存器 每当我们创建一个新的SR时,在循环结构的左右两侧会出现两个接线端。接线端内部出现一个黑色实心的三角形。右侧的向上的三角形表明此处可以输入数据,左侧的向下的三角形表明此处可以输出数据。 对照图1-1,右侧的输入接线端相当于Data_in,左侧的输出接线端相当于Q3。目前移位寄存器中没有任何数据,移位寄存器中可以存储任意数据类型,但是一旦数据类型确定,中间是不能再次更改已经存储的数据类型的,因此使用移位寄存器之前,首先需要确定SR中存储的数据类型。 我们可以用一下两种方式指定移位寄存器中存储的数据类型。 1.???????? 通过右侧的输入接线端连接的数据自动确定移位寄存器中的数据类型。 2.???????? 通过左侧的输出接线端连接的数据,确定移位寄存器中存储的数据类型,同时进行移位寄存器的初始化。 ? 图1- 3 确定移位寄存器的类型 当同时连接左右侧的移位寄存器接线端时,移位寄存器包含的数据类型以左侧连接的数据为准。当左右测连接的数据类型不一致时,右侧连接的数据或者自动进行数据类型转换或者断开连接。 ? 图1- 4 左右两侧连接不同类型 ? 通过移位寄存器左侧接线端的快捷菜单,选择添加元素或者使用鼠标直接向下拖动接线端,可以建立多个寄存器单元,LABVIEW中称作层叠移位寄存器。 图1- 5 建立多个寄存器单元 同一循环结构中可以创建多个移位寄存器,保存不同类型的数据。 ? 图1- 6 创建多个不同类型的SR ? 1.3.?? 移位寄存

文档评论(0)

kabudou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档