当前位置:首页 > 经验 >

变址寄存器v和z有什么区别(为什么不建议学单片机)

来源:原点资讯(www.yd166.com)时间:2022-11-06 07:35:31作者:YD166手机阅读>>

示例说明:

一个简易保安系统,在规定次数(如5次)的范围内,若密码不正确将启动报警系统,并关闭安全通道。若规定的次数内密码正确,进入密级操作。

流程示意图:

梯形图:

二、功能指令

下面功能指令中的操作数符号表示方法及解释。

:表示数据源。内容不随指令执行而变化的操作数称为源。

在可变址修改软元件编号的情况下,加上“·”符号的 表示。源的数量多时,以 、 等表示。

:表示目标操作数。内容随指令执行而改变的操作数被称作目标。

可作变址修饰时,加上“·”符号的 表示.

在目标数量多时,以 、 等表示。

: 以 或 表示既不做源,也不做目标的操作数。

这样的操作数数量很多时,以   、   、   、   等表示。

可用作操作数的软元件

A、X,Y,M,S等位元件。

B、位元件组合。以KnX,KnY,KnM,KnS等形式表示,作为数值处理。

C、数据寄存器D、定时器T的当前值寄存器、计数器C的当前值寄存器。

l数据寄存器D为16位,在处理32位数据时使用一对数据寄存器的组合。

例如,将数据寄存器D0指定为32位指令的操作数时,处理(D1,D0)32位数据(D1为高16位,D0为低16位)。

lT、C的当前值寄存器也可作为一般寄存器处理。

1程序流程

分类

指令助记符

功能

页码

CJ

条件跳转

CALL

子程序调用


SRET

子程序返回


FEND

主程序结束


FOR

循环范围开始


NEXT

循环范围结束


A、CJ CALL指针编号可作变址修改;嵌套最多可为5层;对子程序返回无适用软元件。

B、.当程序使用多个FEND指令时,子程序请在最后的FEND指令与END指令之间编写,

FOR ~NEXT嵌套最多5层。

2、比较指令 [CMP]

适用软元件

·字软元件(S1· 、S2·) K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

·位软元件(D·) Y、M、S

l上图示例是D0的内容与常数100进行比较,大小比较是按代数形式进行的(-8<0);

l所有数据都以2进制值处理;

l当D0>100,M0“ON” ,当D0=100,M1“ON” ,当D0<100,M2“ON”;

l目标地址指定M0,则M1、M2被自动占用;

l当X001“OFF”时,M0、M1、M2仍保持以前状态。如当D0的内容为50,则50<100,M2“ON” ,M0、M1都“OFF” ,X001“OFF”时,M2仍“ON” 。

指令不执行时,想要清除比较结果,可使用复位指令。

3、传送指令 [MOV]

适用软元件

·字软元件(S·) K、H、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z

功能和动作 使数据原样传送的指令。

l将源(S·)的内容向目标(D·)传送,X003“OFF”时,目标(D·)的内容不变化;

4、反向传送 [CML]

适用软元件

·字软元件(S·) K、H 、KnX、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z

功能和动作 将数据反向传送的指令

l将D0的内容每位取反(0取反为1,1取反为0)后,传送到目标地址,常数K被自动转换成2进制。如:

D10

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

符号位(0=正数, 1=负数)

0

1

0

1

0

1

0

1

Y17 Y16 Y15 Y14 Y13 Y12 Y11 Y10 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

无变化 反向数据被传送

5、加法运算 [ADD]

适用软元件

·字软元件(S1· 、S2·) K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z

标志位

M8020

借位

M8021


进位

M8022


功能和动作

l两个源数据进行加法后传送到目标处,各数据的最高位是符号位(正数为0,负数为1),数据以代数形式进行加法运算(8 (-8)=0)。

l运算结果为0时,0标志位M8020动作;运算结果超出32767(16位运算)或2147483647(32位运算)时,进位标志位M8022动作;运算结果小于-32768(16位运算)或-2147483648(32位运算)时,借位标志位M8021动作;

l进行32位运算时,字软元件的低16位侧的软元件被指定,紧接着上述软元件编号后的软元件作为高位,为了防止编号重复,建议将软元件指定为偶数编号。

l对于脉冲型指令,每出现一次OFF到ON的变化,操作数做一次运算。

l可以将源(S·)和目标(D·)指定为相同的软元件编号。这种情况下,如使用连续执行型指令(ADD、DADD),则每个扫描周期加一次,请务必注意。

6、减法运算 [SUB]

适用软元件

·字软元件(S1· 、S2·) K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z

标志位

M8020

借位

M8021


进位

M8022


功能和动作

l(S1·)指定的内容和(S2·)指定的内容相减,结果存入(D·)指定的软元件中。(8-(-8)=16)。

l各种标志位的动作,32位运算软元件的指定方法,连续型和脉冲型的差异等都跟ADD指令相同。

7、乘法运算 [MUL]

适用软元件

·字软元件(S1· 、S2·) K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z

功能和动作

BIN BIN BIN

(D0)×(D2) (D5,D4)

16位 16位 32位

l各源指定的软元件内容的乘积,以32位数据形式存入目标地址指定的软元件(低位)和紧接其后的软元件(高位)中,如 (D0)=125,(D2)=8,则(D5,D4)=1000;

l结果的最高位是符号位,0为正,1为负;

l(D·)是位元件时,可以进行K1∽K8的位指定。指定为K4时,只能求得乘积运算的低16位。

8、除法运算 [DIV]

适用软元件

·字软元件(S1· 、S2·) K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z

功能和动作

被除数 除数 商 余数

BIN BIN BIN BIN

(D0)÷(D2) (D4)··· (D5)

16位 16位 16位 16位

9、增1 [INC]

适用软元件

·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z

功能和动作

(D0) 1 (D0)

lX000每置“ON”一次,D0的内容增1,在连续执行指令中,每个扫描周期执行加1运算,所以务必引起注意;

l16位运算时,如果32767加1变为-32768,标志位不动作

10、减1 [DEC]

适用软元件

·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z

功能和动作

(D0)—1 (D0)

X001每置“ON”一次,D0的内容减1,在连续执行指令中,每个扫描周期执行减1运算,所以务必引起注意;

l–32768或-2147483648减1变为32767或2147483647,标志位不动作

11、逻辑与 [WAND]

适用软元件

·字软元件(S1· 、S2·) K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z

(D0)∧(D2) (D4)

l对各位进行逻辑与运算。

1∧1=1 0∧1=0

1∧0=0 0∧0=0

12、逻辑或 [WOR]

(D0)∨(D2) (D4)

l对各位进行逻辑或运算。

1∨1=1 0∨1=1

1∨0=1 0∨0=0

13、逻辑异或 [WXOR]

(D0)( (D2) (D4)

l对各位进行逻辑异或运算;

1(1=0 0(1=1

1(0=1 0(0=0

l如果将这个指令与CML组合使用,将进行异或非运算。

求补 [NEG]

适用软元件

·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z

(D10) 1 (D10)

l将(D·)指定的软元件内容中各位先取反(0变1,1变0),然后再加1,将其结果存入原先的软元件中;

使用连续执行指令则在每一个扫描周期执行一次,务必引起注意。

14、触点比较指令

适用软元件

·字软元件(S1· 、S2·) K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

接点比较指令 [LD※]

※表示:=、>、<、<>、≦、≧ 。

指令

导通条件

非导通条件

LD=

(S1·)= (S2·)

(S1·)≠(S2·)

LD>

(S1·)> (S2·)

(S1·)≦(S2·)

LD<

(S1·)< (S2·)

(S1·)≧(S2·)

LD<>

(S1·)≠(S2·)

(S1·)=(S2·)

LD≦

(S1·)≦(S2·)

(S1·)>(S2·)

LD≧

(S1·)≧(S2·)

(S1·)<(S2·)

l当计数器C0的当前值为100时,驱动。

l当D0的内容大于-100,且X000处于“ON”时,驱动Y1。

接点比较指令 [AND※]

16指令

导通条件

非导通条件

AND=

(S1·)= (S2·)

(S1·)≠(S2·)

AND>

(S1·)> (S2·)

(S1·)≦(S2·)

AND<

(S1·)< (S2·)

(S1·)≧(S2·)

AND<>

(S1·)≠(S2·)

(S1·)= (S2·)

AND≦

(S1·)≦(S2·)

(S1·)> (S2·)

AND≧

(S1·)≧(S2·)

(S1·)< (S2·)

l当X000处于“ON”时,且计数器C10的当前值等于100时,驱动Y3。

l当X001处于“ON”时,且D0的内容不等于10时,置位Y4。

接点比较指令 [OR※]

16指令

导通条件

非导通条件

OR=

(S1·)= (S2·)

(S1·)≠(S2·)

OR>

(S1·)> (S2·)

(S1·)≦(S2·)

OR<

(S1·)< (S2·)

(S1·)≧(S2·)

OR<>

(S1·)≠(S2·)

(S1·)= (S2·)

OR≦

(S1·)≦(S2·)

(S1·)> (S2·)

OR≧

(S1·)≧(S2·)

(S1·)< (S2·)

l当X001处于“ON”,或计数器C10的当前值等于100时,驱动Y1

三、变址寄存器VZ说明

V、Z的显著作用是能够和其它软元件或数值组合使用,从而动态修改软元件编号或数值内容。

修改说明:Z=1,V=6。

MOV K1X000Z K1Y010Z等同于 MOV K1X001 K1Y011 ;

MOV K4X000 K4M3V等同于 MOV K4X000 K4M9 ;

MOV K4M3V K4S0V等同于 MOV K4M9 K4S6 ;

MOV K1000 C1Z等同于 MOV K10000 C2 ;

MOV K2000 T3Z等同于 MOV K20000 T4 ;

MOV K3000 D0Z等同于 MOV K30000 D1 ;

MOV K40Z D100V 等同于 MOV K41 D106 ;

MOV H00FF D101V 等同于 MOV H0100 D107 ;

CALL P0Z 等同于 CALL P1 ;

四、专家指令PID运算

D0:要达到的目标值,为S1 D1:测定值,反馈回的值,为S2

D100:参数,为S3 S3 0:KP 参考值:2000

S3 1:KI 参考值:500 S3 2:KD 参考值:0

S3 3:E(T) S3 4:E(T-1)

S3 5:e(t)-e(t-1) S3 6:e(t-1)-e(t-2);

S3 7:e(t)-2e(t-1) e(t-2) S3 8:增量

S3 9:输出,限制为12位Max=2048 (旧版8位DA的为255);

栏目热文

计算机寄存器原理图(计算机中所有的寄存器)

计算机寄存器原理图(计算机中所有的寄存器)

通过前面的学习,我们已知单片机的内部有ROM、有RAM、有并行I/O口,那么,除了这些东西之外,单片机内部究竟还有些什...

2022-11-06 07:20:50查看全文 >>

寄存器通俗解释(单片机寄存器通俗解释)

寄存器通俗解释(单片机寄存器通俗解释)

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxua...

2022-11-06 07:22:54查看全文 >>

8位移位寄存器原理(8位移位寄存器电路设计)

8位移位寄存器原理(8位移位寄存器电路设计)

Arduino从零开始你将学到什么1、你将学到如何增加arduino uno的数字输出针脚2、你将学到74HC595移位...

2022-11-06 07:03:05查看全文 >>

图解寄存器(寄存器寻址图解)

图解寄存器(寄存器寻址图解)

引言指令计数器即程序计数器。它是计算机处理器中的寄存器,它包含当前正在执行的指令的地址(位置)。当每个指令被获取,指令计...

2022-11-06 07:26:17查看全文 >>

寄存器的工作原理及逻辑功能(寄存器电路工作原理)

寄存器的工作原理及逻辑功能(寄存器电路工作原理)

序言前段时间,我连续写了十来篇CPU底层系列技术故事文章,有不少读者私信我让我写一下CPU的寄存器。寄存器这个太多太复杂...

2022-11-06 07:33:35查看全文 >>

常用寄存器通俗解释(寄存器的基础知识)

常用寄存器通俗解释(寄存器的基础知识)

与java相关的Java编译器输出的指令流,基本上是一种基于栈的指令集架构,而与之相对的另外一套常用的指令集架构是基于寄...

2022-11-06 07:03:54查看全文 >>

基本寄存器工作原理(寄存器电路图详解)

基本寄存器工作原理(寄存器电路图详解)

寄存器——具有能够接收、暂存和传递数码的一种逻辑记忆元件。一、数码寄存器 数码寄存器——最简单的寄存器,只具有接收数码...

2022-11-06 07:24:48查看全文 >>

4位右移寄存器工作原理(8位移位寄存器的接线图)

4位右移寄存器工作原理(8位移位寄存器的接线图)

钱浩宇,汪鹏君,丁代鲁,张跃军(宁波大学 电路与系统研究所,浙江 宁波315211)通过对传统移位寄存器原理和灵敏放大型...

2022-11-06 07:22:46查看全文 >>

寄存器有哪五种(寄存器分类)

寄存器有哪五种(寄存器分类)

作 者:程序员cxuan原文链接:https://mp.weixin.qq.com/s/Okpdf90VpbuO7XfI...

2022-11-06 07:40:20查看全文 >>

寄存器的内部结构(寄存器内部功能)

寄存器的内部结构(寄存器内部功能)

2.2 寄存器 本节只需要了解 处理器(CPU)由运算器、控制器、寄存器、输入设备和输出设备组成,这些器件由处理数据总线...

2022-11-06 07:15:59查看全文 >>

文档排行