首页 理论教育 单片机开发中的数制与码制及编码方法

单片机开发中的数制与码制及编码方法

时间:2023-10-23 理论教育 版权反馈
【摘要】:在C51程序中,常用到“=”指令对变量或寄存器进行赋值,变量或寄存器赋值的数字一般采用十六进制表示。单片机常用数制常见的计数进位制有二进制、八进制、十进制和十六进制。0x01为两位十六进制,表示为二进制时刚好为1B数据。表3-7 不同进位计数制对照表采用一定的编码规则可以实现复杂系统的变量抽象,这个过程称为编码。

单片机开发中的数制与码制及编码方法

在C51程序中,常用到“=”指令对变量或寄存器进行赋值,变量或寄存器赋值的数字一般采用十六进制表示。在了解单片机常用的数据格式之前,我们先要了解码制和数制的概念。

1.数制

数制是指按照一定权法则和进位方式表示的一种计数制,又称进位计数制。如日常生活中,人们通常使用十进制数,其进位方式为逢十进一。权是指多位数中的每个数代表除表示数字的大小外,还要表示所处位置的权高低,如十进制的各位、十位、百位等。

(1)单片机常用数制

常见的计数进位制有二进制八进制、十进制和十六进制。数字电路中的高低电平为二值信息,可以用二进制数表示,但二进制数据代码长且很难记忆,并且C51不支持二进制定义,为了记忆和使用方便,单片机系统的软件代码中数据常采用十六进制表示。如单片机程序设计时,8位寄存器P0=0x01,其中0x01即01H,是在C51中的书写格式。0x01为两位十六进制,表示为二进制时刚好为1B数据。如果直接赋予十进制,如变量i=56,虽然直观,但单片机运行时仍要转换为十六进制。

(2)不同进制转换

在分析寄存器状态时常使用二进制表示,需要把十六进制转换为二进制。十六进制和二进制之间转换很直观,如1B数据0xC7,转换为十进制需要计算,但转换为二进制时,分成高4位1100(C)和低4位0111(7)即可。十进制、二进制和十六进制之间的关系见表3-7。(www.xing528.com)

2.码制

码制是指利用一定的字符表示一类事物的编码规则,一般利用比较直观的和比较容易记忆的符号表示那些抽象的符号或事件。如数字电路中利用逻辑“0”表示低电平,逻辑“1”表示高电平,如利用字符“0~9”表示十进制数字、利用10个4位二进制数表示十进制的0~9(8421BCD码)等。

表3-7 不同进位计数制对照表

978-7-111-43463-4-Chapter03-9.jpg

采用一定的编码规则可以实现复杂系统的变量抽象,这个过程称为编码。编码易于系统的数字信息化,并具有使运算简单、易实现等很多优点。如计算机存储器和传输数据虽然都是二进制形式的信息,但它们通过编码可代表不同的含义,有的表示机器指令,有的表示二进制数据,有的表示英文字母,有的则表示汉字,还有的可能是表示色彩与声音,如利用二进制表示字符的ASCII码。

计算机内部采用二值逻辑来表示各种信息,但计算机在与外部交换信息仍采用人们熟悉和便于阅读的形式,把代码通过编码规则还原出表示的信息过程称为译码,如不同进制数据到人们熟知的十进制数据的转换,数据到音频、视频的转换等。在单片机系统中,编码和译码的过程在大多数情况下采用软件来实现。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈