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

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语言源码
                   8位、16位、32位单片机(MCU)
            汇编:

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

           (2)short类型
                  8位、16位、32位单片机(MCU)
                汇编:
                    8位、16位、32位单片机(MCU)
            (3)float类型
                    8位、16位、32位单片机(MCU)
                    汇编:
                    8位、16位、32位单片机(MCU)
               总结:
                    可以看出在C语言的层面并没有区别,但是实际工作量都在汇编层完成,并进行了封装。