uthman
QQ:3749615
级别: 家园常客
精华主题: 1 篇
发帖数量: 453 个
工控威望: 813 点
下载积分: 2739 分
在线时间: 771(小时)
注册时间: 2007-10-25
最后登录: 2024-11-23
查看uthman的 主题 / 回贴
楼主  发表于: 2008-04-12 13:21
输入X0
输出Y0—Y7
按1次X0        输出Y0 
    2                        y1
      ……
  8            y7
      9                        y0
      10                      y0  y1
      11                    y0  y2
      12                    y0  y3
      ……
    17                    y0
        18                    y0  y1
        19                    y0  y1  y2
          20                    y0  y1 y3
          64                    y0 y1 y2 y3 y4 y5 y6 y7 y8
          65                    无输出

  转换2.rar (10 K) 下载次数:43
[ 此贴被uthman在2008-04-30 20:28重新编辑 ]
本帖最近评分记录:
  • 下载积分:+3(YMMFA) 鼓励!
    sjm213
    有小知识,无大学问。
    级别: 论坛版主

    精华主题: 7 篇
    发帖数量: 5200 个
    工控威望: 7423 点
    下载积分: 158799 分
    在线时间: 3161(小时)
    注册时间: 2007-11-21
    最后登录: 2024-11-22
    查看sjm213的 主题 / 回贴
    1楼  发表于: 2008-04-12 14:32
    本来一看上去用MOV赋值比较简单,但还要根据这个规律进行推出个公式来满足结果,计算过程就复杂了。
    用移位,也不符合移位的规律。
    还是直接对应输出。
    用计数器记取X0的次数,将计数器除8取得商和余数。
    分两步走:
    1.余数获得的8个状态分别对应Y0~Y7,
    2.商则是再与余数相减,再分两步走  (1)结果小于等于0时无输出,(2)结果大于0时:商为0时无输出,为1时输出Y0,为2时输出Y1……为7时输出Y7。
    当计数为0,或到65时复位所有输出。
    主要是这个规律麻烦。要不用不了这么多步。
    先算商和余数相减,再用余数状态,用的步数能少点吧?
    [ 此贴被sjm213在2008-04-12 14:52重新编辑 ]
    sjm213
    有小知识,无大学问。
    级别: 论坛版主

    精华主题: 7 篇
    发帖数量: 5200 个
    工控威望: 7423 点
    下载积分: 158799 分
    在线时间: 3161(小时)
    注册时间: 2007-11-21
    最后登录: 2024-11-22
    查看sjm213的 主题 / 回贴
    2楼  发表于: 2008-04-19 11:00
    即使用译码指令,这个程序也不会非常简单的。就此程序而言,用DECO和MOV没有本质的区别。