首页 百科知识 移位寄存器

移位寄存器

时间:2022-10-08 百科知识 版权反馈
【摘要】:移位寄存器可以将数据从一轮循环周期传递到下一轮循环。移位寄存器在程序框图上用在循环边框上相应的一对端子来表示。移位寄存器可以移位各种类型的数据,如数值、布尔数、数组、字符串等。在第一个对象接入移位寄存器时,会自动刷新数据,图3-10表示了它的工作过程。例如,如果某个移位寄存器左边的端口含有3个元素,那么就可以访问到最近3轮循环的数据,如图3-11所示。移位寄存器初始值为0。

移位寄存器(Shift Register)可以将数据从一轮循环周期传递到下一轮循环。在程序设计中,经常要用到它。创建一个移位寄存器的方法是,右击循环的左边或者右边,在弹出的快捷菜单中选择Add Shift Register命令,如图3-9所示。

图3-9 移位寄存器

移位寄存器在程序框图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一轮循环结束时的数据。在下一轮循环开始时,右端子的数据将移位到左边的端子,参与下一轮循环的运算。移位寄存器可以移位各种类型的数据,如数值、布尔数、数组、字符串等。在第一个对象接入移位寄存器时,会自动刷新数据,图3-10表示了它的工作过程。

图3-10 移位寄存器的工作过程

为了存取前几轮循环的数据,可以通过增加循环框左端子元素来实现。这个功能对于计算数据均值非常有用。方法是右击左边端子,在弹出的快捷菜单中选择Add Element命令。例如,如果某个移位寄存器左边的端口含有3个元素,那么就可以访问到最近3轮循环的数据,如图3-11所示。

图3-11 增加移位寄存器元素

练习3-2 求i=0+1+2+…+10的值。

参考程序如图3-12所示。运行程序,观察SUM与SUMi数值显示控件的区别,并分析原因。

注意:移位寄存器初始值设置为0。

图3-12 练习3-2前面板和程序框图

例3-2 在While循环中使用移位寄存器。

任务:创建一个可以用C和F两种单位切换的模拟显示温度曲线的程序。

实施:

1.前面板设计

(1)按Ctrl+N组合键,新建一个VI程序。

(2)按照图3-13(a)放置前面板中控件,并修改标签。

2.程序框图设计

(1)按照图3-13(b)在程序框图中添加While循环和Wait Until Nextms Multiple函数,并进行连线。

图3-13 例3-2前面板和程序框图

(a)前面板;(b)程序框图

(2)创建移位寄存器。

①右击While循环的左边或者右边,在弹出的快捷菜单中选择Add Shift Register命令。

②右击寄存器的左端子,在弹出的快捷菜单中选择Add Element命令,添加一个寄存器。用同样的方法创建第三个元素。

(3)移位寄存器左端子的初始化。

移位寄存器所有的左端点都要赋初值。只要有一个左端子没有赋值就会出错。

3.调试运行

程序每100 ms执行一次,相应While循环变量i加1。前面板有4个数字指示器。Xi显示当前循环值,Xi-1显示前一轮循环值,Xi-2显示近两轮循环值,Xi-3显示近3轮的循环值。移位寄存器初始值为0。运行程序,可以观察到Xi、Xi-1、Xi-2、Xi-3只相差5。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈