当前位置: 首页 > >

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

发布时间:



1、 8位、16位、32位的位是什么?


? ?? ????

CPU
处理的数据的宽度
,
参与运算的寄存器的数据长度。






2、 51和ARM 32位




????????
在51
单片机里面,
R0

R2
都是
8
位的,所以
51

CPU
一次只能处理
8
位数据。


????????
在ARM
里面,
R0

R2

32
位的,所以
ARM

CPU
一次能处理
32
位数据。




3、进一步解释

?????????单片机在进行计算的时候统统是2进制数的运算。所以8位单片机和16位单片机的最根本区别就是,8位单片机可以同时进行2个8位的2进制数相加,而16位单片机则大一倍,可以同时让2个16位的2进制数相加。






????????CPU
能同时处理二进制数的位数是多少位
,
就称其是多少位的计算机。也有数据总线的位数是
CPU
位数的一半的情况,就称其是准多少位的计算机。比如
CPU

16
位,数据总线也是
16
位,则是
16
位计算机;
CPU

16
位,数据总线也是
8
位,则是准
16
位计算机。






4、8位机可以进行32位数据类型定义吗?



? ? ? ? ? 8位单片机是CPU一次处理数据的宽度,8位芯片可以定义8位、16位、32位的变量,
但是不同的数据类型的运算速度和存储空间差别较大。


????????????(1)8位的char类型,C语言源码


? ? ? ? ? ? ? ? ??



? ? ? ? ? ? 汇编:


? ? ? ? ? ? ? ??






? ? ? ? ?? (2)short类型


? ? ? ? ? ? ? ? ?



? ? ? ? ? ? ????汇编:


????????????????????



? ? ? ? ? ? (3)float类型


????????????????????



? ? ? ? ? ? ? ? ? ? 汇编:


? ? ? ? ? ? ? ? ? ?



? ? ? ?
? ? ?? 总结:


? ? ? ? ? ? ? ? ? ? 可以看出在C语言的层面并没有区别,但是实际工作量都在汇编层完成,并进行了封装。








友情链接: