移位指令闹鬼了吗? 点击:822 | 回复:20



亚空间

    
发表于:2012-03-21 18:51:23
楼主
求助帖20分-已结帖
大哥们,遇到个难题,求助。
我用移位指令做实验,指令:SHL_W
我在输入端输入16进制的1;N端同样,输出端监控。
我要实现的结果是在EN端加一个秒脉冲,每次ON的时候,把输入端的1每次左移一位,结果却不对。
我监控到的结果是只能移动一次,以后再有脉冲也不会移位了。
哪里错了呢?
请熟悉移位指令的高手出手相助。


楼主最近还看过



彩云之滇东北

  • 精华:37帖
  • 求助:5帖
  • 帖子:148帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2012-03-21 19:43:45
1楼
加一个上升沿试试                                   

chenminglei0509

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 721回
  • 年度积分:0
  • 历史总积分:5079
  • 注册:2011年3月13日
发表于:2012-03-21 19:56:59
2楼

恩,需要在条件里增加一个上升沿触发。否则的话每一个扫描周期移位指令都执行一次,根本看不出来结果的。

青岛黄工

  • [版主]
  • 精华:5帖
  • 求助:89帖
  • 帖子:171帖 | 4776回
  • 年度积分:0
  • 历史总积分:24301
  • 注册:2007年4月02日
发表于:2012-03-21 20:18:42
3楼
觉得你的问题是这样子的,如果有多个触发条件,那么每个条件后面都要加个微分指令。。。。。。。。。。。

亚空间

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 22回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2004年6月12日
发表于:2012-03-21 20:26:50
4楼
以上所述均为EN端有上升沿检测的结果。分数够,不让修改,只能发在这里了。抱歉。

welfare87

  • 精华:1帖
  • 求助:4帖
  • 帖子:53帖 | 2827回
  • 年度积分:0
  • 历史总积分:25853
  • 注册:2009年2月20日
发表于:2012-03-21 21:01:17
5楼
输入端你写个常数,常数不会变,每次都在移,重复一样的事情

亚空间

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 22回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2004年6月12日
发表于:2012-03-21 21:10:28
6楼
回复内容:
对:welfare87关于 输入端你写个常数,常数不会变,每次都在移,重复一样的事情 内容的回复:

输入端不是常数,是经过赋值而来的变量,word数据类型的。

wyb2866255---王者之师

  • 精华:73帖
  • 求助:0帖
  • 帖子:218帖 | 2872回
  • 年度积分:0
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-03-21 21:25:59
7楼

1、给存储器值1应只能一次,即用SM0.1或为变量的前沿(或后沿)将1送入存储器,见下图网络1。

2、用秒脉冲SM0.5的前沿(或后沿)对存储器进行移位触发,才可确保每秒左移一位,为了能看到移位效果,本程序的存储器选用输出QW0(即QB0与QB1二通道),指令用循环左移指令(便于观看),见下梯形图,下载运行后,立刻Q0.0=1(亮),延时1秒,Q0.0=0(灭),,Q0.1=1(亮)。。。一直循环一位下去。

      开机运行后,就可看到Q0.0-->Q0.1-->Q0.2....

王者之师——竹叶三

  • [版主]
  • 精华:7帖
  • 求助:21帖
  • 帖子:1141帖 | 3349回
  • 年度积分:51
  • 历史总积分:58249
  • 注册:2009年7月21日
发表于:2012-03-21 21:30:30
8楼
回复内容:
对:亚空间关于回复内容:对:welfare87关于 输入端你写个常数,常数不会变,每次都在移,重复一样的事情 内容的回复:输入端不是常数,是经过赋值而来的变量,word数据类型的。 内容的回复:


我同意87的观点。

yibeiqingcha

  • 精华:0帖
  • 求助:8帖
  • 帖子:13帖 | 326回
  • 年度积分:0
  • 历史总积分:1658
  • 注册:2011年4月08日
发表于:2012-03-21 21:40:27
9楼

学习了!!!!!!!!!

EBN战略军团—乖乖

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 47回
  • 年度积分:0
  • 历史总积分:332
  • 注册:2012年3月17日
发表于:2012-03-21 21:56:28
10楼
哈哈    飘过啊!。。。。。。。。。。

腚海神针

  • 精华:0帖
  • 求助:2帖
  • 帖子:249帖 | 743回
  • 年度积分:0
  • 历史总积分:4529
  • 注册:2007年12月05日
发表于:2012-03-21 22:49:26
11楼
在输入端输入16进制的1,每次都是把1左移1位变成10,如果要看到变化的话,两边都得是变量。

Tianjun

  • 精华:3帖
  • 求助:52帖
  • 帖子:572帖 | 5540回
  • 年度积分:6
  • 历史总积分:32368
  • 注册:2006年9月20日
发表于:2012-03-22 08:29:35
12楼
楼上说的对                                             

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:27帖 | 3065回
  • 年度积分:0
  • 历史总积分:12427
  • 注册:2008年9月18日
发表于:2012-03-22 08:49:53
13楼

仔细看说明, 自己没搞清楚, 闹仕么鬼..................

 

陈石头

  • 精华:33帖
  • 求助:2帖
  • 帖子:434帖 | 9288回
  • 年度积分:0
  • 历史总积分:54989
  • 注册:2008年3月07日
发表于:2012-03-22 15:20:43
14楼

亚空间

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 22回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2004年6月12日
发表于:2012-03-22 16:41:06
15楼
回复内容:
对:wyb2866255---王者之师关于 1、给存储器值1应只能一次,即用SM0.1或为变量的前沿(或后沿)将1送入存储器,见下图网络1。2、用秒脉冲SM0.5的前沿(或后沿)对存储器进行移位触发,才可确保每秒左移一位,为了能看到移位效果,本程序的存储器选用输出QW0(即QB0与QB1二通道),指令用循环左移指令(便于观看),见下梯形图,下载运行后,立刻Q0.0=1(亮),延时1秒,Q0.0=0(灭),,Q0.1=1(亮)。。。一直循环一位下去。      开机运行后,就可看到Q0.0-->Q0.1-->Q0.2.... 内容的回复:

虽然你给出的是200的程序,我用的是300的,但含义相似,用你的方法解决问题了,是我没有把输出端的地址没有在输入端使用,所以出现只能移位一次的情况。你严谨搞技术的作风令我感动,谢谢你,

liuliuguanjun

  • 精华:1帖
  • 求助:1帖
  • 帖子:9帖 | 1264回
  • 年度积分:0
  • 历史总积分:8209
  • 注册:2007年10月17日
发表于:2012-03-23 10:25:26
16楼
引用 wyb2866255---王者之师 的回复内容:1、给存储器值1应只能一次,即用SM0.1或为变量的前沿(或后沿)将1送入存储器,见下图网络1。2、用秒脉冲SM0.5的前沿(或后沿)对存储器进行移位触发,才可确保每秒左移一位,为了能看到移位效果,本程序的存储器选用输出QW0(即QB0与QB1二通道),指令用循环左移指令(便于观看),见下梯形图,下载运行后,立刻Q0.0=1(亮),延时1秒,Q0.0=0(灭),,Q0.1=1(亮)。。。一直循环一位下去。      开机运行后,就可看到Q0.0-->Q0.1-->Q0.2....

精的解说

hujiamiao1990

  • 精华:0帖
  • 求助:14帖
  • 帖子:22帖 | 202回
  • 年度积分:0
  • 历史总积分:762
  • 注册:2011年8月01日
发表于:2012-04-17 19:38:02
17楼
回复内容:
对:wyb2866255---王者之师关于1、给存储器值1应只能一次,即用SM0.1或为变量的前沿(或后沿)将1送入存储器,见下图网络1。2、用秒脉冲SM0.5的前沿(或后沿)对存储器进行移位触发,才可确保每秒左移一位,为了能看到移位效果,本程序的存储器选用输出QW0(即QB0与QB1二通道),指令用循环左移指令(便于观看),见下梯形图,下载运行后,立刻Q0.0=1(亮),延时1秒,Q0.0=0(灭),,Q0.1=1(亮)。。。一直循环一位下去。      开机运行后,就可看到Q0.0-->Q0.1-->Q0.2....内容的回复:

 开机运行后,就可看到Q1.0-->Q1.1-->Q1.2.......Q0.0>Q0.1>Q0.2
Q

chengshunli123

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 49回
  • 年度积分:0
  • 历史总积分:135
  • 注册:2012年4月26日
发表于:2012-04-27 16:49:29
18楼
谢谢各位老师们,其实看起来这程序不难啊

腚海神针

  • 精华:0帖
  • 求助:2帖
  • 帖子:249帖 | 743回
  • 年度积分:0
  • 历史总积分:4529
  • 注册:2007年12月05日
发表于:2012-05-17 15:13:00
19楼
你是不是直接把1做移位了,那样每次都是把那个1左移1位所以看不出变化,0楼写的很好.

C素年锦时

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 546回
  • 年度积分:0
  • 历史总积分:1187
  • 注册:2012年4月26日
发表于:2012-05-17 15:49:26
20楼
学习来的。       
SSI ļʱ