刚开始基础计算机编程的时候,学习的是二进制、十进制、十六进制。

十进制是生活习惯中最常用的计数方法,也是我们计数的思维逻辑。

后来接触了计算机基础,我们知道计算机都是用二进制表示的,但是这种表示方法让人理解很困难。

因此人们编制了统一的信息交换代码,也就是ASCII码表,它的全称是“美国信息交换标准代码”

详细的ASCII 码表见下:

如上表:每一个ASCII 都有3部分组成.  ASCII值、16进制、控制字符。

其中ASCII值就是控制字符对应的十进制数值,16进制和ASCII值是对应的,控制字符就是可以表示的字符。

例如,如下图所示:

ASCII值65:就是大写因为字母‘A’的ASCII的值,这里的65是10进制

16进制41H:转换成10进制是65,和ASCII值是对应的。

控制字符A:就是需要表示的大写字母‘A’

ASCII码表有那些应用呢?

最常见的就是我们的电脑上的键盘,但输入方式切换成英文的时候,我们通过键盘输入的数字0-9,小写a-z、大写字母A-Z、还有一些符号@、!、&、*等都是ASCII格式。

其中键盘的0-9对应的ASCII值就是0x31-0x32(16进制),A-Z对应的ASCII值是(0x41-0x5A),a-z对应的ASCII值是(0x61-0x7A);

我第一次真正接触ASCII,是写LCD1602驱动的时候,其实ASCII在单片机程序编程中也是非常常用的,尤其是屏幕的显示,以及串口通讯、4G通讯等

例如1602液晶屏的显示,如果要显示 ’A’,需要给液晶屏输入“0x41”

在这里也给大家顺便讲一下单片机程序中的ASCII字符怎么表示。如下面代码定义了字符0-9:

unsigned char code ASCII0_9[10]=”0123456789”;  //C51单片机

我们将需要表示的数值放置在一个自定义的数组中,然后把字符用“”括起来。

如上,如果我们调用ASCII0-9[0]对应的10进制数就是48,16进制是0x30,表示字符0。

同时我们定义的数组,还需要用code来修饰,code表示将定义的数组变成常量(51单片机用code,  STM32单片机用const )。

我们在C语言程序编程中,有一种变量的定义“char”,我们也叫字符型类型,也是和ASCII有关,char 占用一个字节,取值范围是-128 ~127。

ASCII表是基于英语来编写的,其中包含了英文的大小写字母,以及数字0-9,各种符号。

之前的ASCII表是0-127,共128个字符。

但是随着科技的不断的进步,先前定义的ASCII 不能满足大家的需求. 后来ASCII 的表有扩展到了256个字符。

扩充ASCII码表如下图所示:

我们看一下ASCII 扩展表上面的字符,大多数我们都很陌生,其实我们在单片机程序编程中用的也是非常少,大家只要了解就行了。

关于ASCII码表,今天就先给大家介绍到这里了。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐