dvbbs
注册需知 请填写完整,否则有可能被认为是群发恶意注册被删. 欢迎您成为我们的新会员,新朋友 收藏本页
联系我们
论坛帮助
dvbbs

<我爱电子>论坛<我爱电子>网 欢迎您!动手制作的情趣 → [实例]用ST08系统做18路LED彩灯程序控制


  共有9753人关注过本帖平板打印

主题:[实例]用ST08系统做18路LED彩灯程序控制

帅哥哟,离线,有人找我吗?
plc388
  1楼 个性首页 | 博客 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 plc388
等级:管理员 贴子:145 积分:4557 威望:100 精华:0 注册:2008/3/29 22:34:43
  发贴心情 Post By:2008/12/23 23:44:54

关于56N 57N 58N (59N)指令中参数N的计算.

 

这里的56表示是控制单片机的P0接口的; 57 58 59 分别表示控制单片机的P1 P2 P3接口的.

 

这里的指令参数N 它是个十进制数.数值范围 00-255 共计256个数.

 

这个十进制参数正好能代表8位输出口的全部数出状态.

 

如十进制的00     用二进制数表示 就是 00000000 这正好能表示这8个输出口的输出状态  LED 发光管全亮 

如十进制的01     用二进制数表示 就是 00000001   只有末位的LED 发光管不亮 

如十进制的03     用二进制数表示 就是 00000011   有末位的2位LED 发光管不亮

......

 

在实际应用中,我们常会先确定输出状态 ,得到的是二进制数,然后要将它换算出十进制参数.

如 01010010 这样的二进制表示接口状态的数怎样才能转换成十进制的程序参数呢!

 

有一个简单的方法, 我们可先把二进制数的各位的权标出.

 

如上面这个二进制数     0     1     0     1   0   0   1    0

它们的各位代表的权 128  64   32   16  8   4   2    1

 

那么只要把上面那个二进制数是1状态的权加在一起.就是它的十进制参数了.

这个示例就这样加            64+16+2=82

 

这样在使用56N 57N 58N (59N)指令中只要用82替代那个N,

那么相应的输出口的状态就是 0     1     0     1   0   0   1    0   (有5路输出是低电平.LED灯亮) 

 

 

[此贴子已经被作者于2008-12-24 9:38:12编辑过]

支持(0中立(0反对(0回到顶部