把16位存储器存储的ASCII码(0-9)的第2位取出来并转换为10进制数——例如ASCII码34,取出第2位就是4。
这个应用很有意义,例如取读到的条形码的第几位。
下周末结贴,9个最优回帖分别获得20MP、10MP、10MP、10MP、20积分、20积分、20积分、20积分、20积分!
MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。
目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。
ASCII码是美国标准信息交换码(American Standard Code for Information Interchange),字母和各种字符必须按照特定的规则用二进制编码才能在计算机中表示。编码方式可以有很多种,ASCII码是其中最常见的一种。标准ASCII码用七位二进制编码,有128个。
ASCII码即美国标准信息交换码(American Standard Code for Information Interchange),是目前计算机中使用最广泛的符号编码。 ASCII码包括32个通用控制字符、10个十进制数码、52个大小写字母和32个专用字符共128个字符。因此ASCII编码方案需要使用7位二进制数进行编码以区分每一个字符(因此ASCII是7位码)。通常使用1个字节(8 个二进制位)表示一个ASCII字符。
因为1位二进制数可以表示(21=)2种状态:0、1;而2位二进制数可以表示(22)=4种状态:00、01、10、11;依次类推,7位二进制数可以表示(27=)128种状态,每种状态都唯一地编为一个7位的二进制码,对应一个字符(或控制码),这些码可以排列成一个十进制序号0~127。所以,7位ASCII码是用七位二进制数进行编码的,可以表示128个字符。 第0~32号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;第33~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
最基本的ACSII是7位,但是为了方便处理,填充至8位。最高位有时做奇偶校验,有时为了扩展。扩展的形式有很多,比如就像是86013说的,识别中文,或者是表示特殊字符。比如ÿ、€、、等等。也有极少数情况下,ACSII字符以7位来传输。
注意:在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
在工业控制中,1个标准ASCII码占7位,如果用八位表示的话 最高位就是“0”了。
回到主题上来。
综合上述可知,16位存储器存储2个ASCII码,假设存的是ASCII码34,那么16进制存储器的数据就是:高8位为33,低8位为34。
对于该题的实现方法有多种,概述如下:
方法1:也就是yuanle和abysmal说到的方法。把该存储器与FFH(也就是00FFH)作与操作,得到ASCII的第2位数据——存储器的低8位数据,也就是34。(说明:任何一个二进制数与相同位数的全1二进制数做与操作,得到的都是这个数本身;任何一个二进制数与相同位数的全0二进制数做与操作,得到的都是0。因此该方法的原理就很容易明白了。如果要取高8位,那么把该16位数据和FF00H作与操作后,还要右移8位才可以得到。)
然后把得到的低8位ASCII数据减去48或者30H,就是10进制数了。
方法2:把该存储器左移8位,右移8位,就得到结果34了。然后把得到的低8位ASCII数据减去48或者30H,就是10进制数了。
方法3:这是特殊的用法,不是每种PLC都支持。对于三菱PLC而言,具有把1个16进制数据存储到4个4位的连续存储器中,而且每个或多个4位的存储器可以随意使用。所以对于三菱这样的PLC来讲。还多一种方法。