首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 电子制作
计算机与微控制器的连接方法
来源:本站整理  作者:佚名  2011-10-27 15:15:57



  4.把二进制数变为十进制数
  
  您会有许多机会要把二进制数变为十进制数。为此只需进行一些简单的加法和乘法,具体如下面所示的VisualBasIC兼容型程序。其中规定了4个二进制位DO至D3的值。消息框MsgBox显示出您规定的二进制数的等效十进制数。例如1 001的运算结果为9。

  用OR操作掩蔽数值
  
  对计算机或微控制器端口的各个位进行操作很常见,但单独对个别位进行操作很常见,但单独对个别位进行操作往往是不可能的或不实际的。与此相反,您必须以4位或8位作为一组同时对各位进行控制。我们已经知道,在二进制记数制中,各个位有不同的权重,所心,12这个数是由以下各位组成的:

  设想您的计算机或微控制器有一个4位的端口。您用O至15的任一值对每一位进行设定;0代表0000二进制位,而15代表1111二进制位。您需要有一种方法去单独控制某一位,但不改变其他位的状态。为此可使用Or(或)掩蔽操作,用起来很简单:

  X=当前值Or待置1的位式中,当前值是当前4位的二进制值(只要利用QBasic中的Inp语句,就可以通过查询得到该端口的当前值),而待置1的位是您想把它为变为1的位。例如,假设当前值是7( 0111),而您想把第3位(权重为8)变为1,则可以X=70r8于是X变为15或1111。

  注:在许多情况下,但不是在一切情况下,“或”操作的结果如同两数相加。但这并不总是真的,所以不要养成把“或”操作当成两数相加的坏习惯。

  下面的Visual Basic兼容型程序说明如何利用“或”掩蔽操作对选中的位进行置1,但不改变其他位的状态。

  假设×是您以前从端口读得的当前值,Mask是您想置1所选用的值,具体程序如下:

  按照程序中规定的数值( X=3.Mask=2),结果仍然是3.这是因为“2”所对应的位本来就被置1。实际上,如果把X改为另一值,如4(二进制为0100),则结果变为6,即代表二进制数0110。

  您也很容易把某一位关闭(即变为O).方法是使用Xor(异或)运算时,如下所示:

  若要了解Xor如何操作,请参考以下的真值表:

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 

关键词:

·上一文章:学习GAL应用设计的意义
·下一文章:T03高热散逸散热器

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:28,242.19000 毫秒