【打开空间,不由地,写下了一行又一行的心语,流下了一颗又一颗的泪滴。滚烫的泪就这么汹涌着,淹没孤寂的夜,淹没孤寂的灵魂。你可知?今夕,思你最浓,念你最深。尽管咫尺天涯,你永远是我一生魂牵的人儿。】
今天讲授传送指令和译码指令。这两个指令主要是为了精简之前学习的定时器和计数器的,好好学习。
数据传送指令用于各个编程元件之间进行数据传送,根据每次传送数据的多少可分为单个数据传送指令和块传送指令。
1)单个数据传送指令
单个数据传送指令每次传送一个数据,传送数据的类型分为字节传送、字传送、双字传送和实数传送。
(1)字节传送指令
字节传送指令又分为普通字节传送指令和立即字节传送指令。
MOVB:字节传送指令。
BIR:立即读字节传送指令。
BIW:立即写字节传送指令。
(2)字传送指令
MOVW:字传送指令。
(3)双字传送指令
MOVD:双字传送指令。
(4)实数传送指令
MOVR:实数传送指令。
2)块传送指令
块传送指令用来一次传送多个数据,最多可将255个数据组成一个数据块,数据块的类型可以是字节块、字块和双字块。
(1)字节块传送指令
BMB:字节块传送指令。
(2)字块传送指令
BMW:字块传送指令。
(3)双字块传送指令
BMD:双字块传送指令。
传送指令注意事项:
1、因为定时器T的预设值为16位字,所以采用MOV_W,虽然20的二进制为10100,实际上就是0000000000010100,当然,你采用MOV_B将20传输给VB5也是可以的,但是你需要确保VB4中的值为0。
2、因为西门子中,其地址序号是按字节来排列的,所以,VW100实际上是由VB100,VB101组成的,如果你直接使用了VW100,VW101,那么就会产生地址重叠的问题,VW100由VB100,VB101组成,VW101由VB101,VB102组成,地址会发生重叠,所以,为了避免由于地址重叠而造成一些逻辑错误,一般对于字的应用,采用偶数地址序号。
段码指令使能输入端EN有效时,将字节型输入数据IN的低4位有效数字(16#0~F)转换成七段显示码,并将其输出到OUT所指定的字节单元。该指令在数码显示时直接应用,非常方便。
七段显示器的abcdefg段分别对应于字节的第0位~第6位,字节的某位为1时,其对应的段亮;输出字节的某位为0时,其对应的段暗。将字节的第7位补0,则构成与七段显示器相对应的8位编码,称为七段显示码。
当EN有效时,SEG指令将字节型输人数据IN的低4位对应的七段共阴极显示码输出到OUT指定的字节单元。如果该字节单元是输出继电器字节QB,则QB可直接驱动数码管。
例如,设QB0.0-QBO.7分别连接数码管的a、b、c、d、e、f、g及dp(数码管共阴极连接),若VB1=00000100,执行指令SEG VB1,QB0
则VB1的数据不变,QB0=01100110(“4”的共阴极七段码),该信号使数码管显示“4”。
curton 2019-6-6 20:51
是木科技 2019-6-6 11:09