8位、16位、32位单片机(MCU)

2019-04-15 17:37发布

1、 8位、16位、32位的位是什么?         CPU处理的数据的宽度,参与运算的寄存器的数据长度。
2、 51和ARM 32位        51单片机里面,R0R2都是8位的,所以51CPU一次只能处理8位数据。        ARM里面,R0R232位的,所以ARMCPU一次能处理32位数据。
3、进一步解释         单片机在进行计算的时候统统是2进制数的运算。所以8位单片机和16位单片机的最根本区别就是,8位单片机可以同时进行28位的2进制数相加,而16位单片机则大一倍,可以同时让216位的2进制数相加。        CPU能同时处理二进制数的位数是多少位,就称其是多少位的计算机。也有数据总线的位数是CPU位数的一半的情况,就称其是准多少位的计算机。比如CPU16位,数据总线也是16位,则是16位计算机;CPU16位,数据总线也是8位,则是准16位计算机。
4、8位机可以进行32位数据类型定义吗?          8位单片机是CPU一次处理数据的宽度,8位芯片可以定义8位、16位、32位的变量,但是不同的数据类型的运算速度和存储空间差别较大。            (1)8位的char类型,C语言源码                               汇编:                            (2)short类型                                  汇编:                                (3)float类型                                        汇编:                                   总结:                    可以看出在C语言的层面并没有区别,但是实际工作量都在汇编层完成,并进行了封装。