8、16、32位单片机编程区别分析以及注意事项

8、16、32位单片机编程区别 指cpu处理的数据的宽度,参与运算的寄存器的数据长度。
如果总线宽度与cpu一次处理的数据宽度相同,则这个宽度就是所说的单片机位数。
如果总线宽度与cpu一次处理的数据宽度不同:
1)总线宽度小于cpu一次处理的数据宽度,则以cpu的数据宽度定义单片机的位数,但称为准多少位。比如著名的intel 8088,cpu是16位但总线是8位,所以它是准16位。
2)总线宽度小于cpu一次处理的数据宽度,则以cpu的数据宽度定义单片机的位数。
少位宽不是指总线宽度,也不是存储器的宽度,像51单片机的地址总线是16位的,但是它是8位机。像arm的存储器也有八位的,但是它是32位机。而是指cpu处理的数据的宽度,也就是cpu一次数据的吞吐量。比如同一条指令:mov r0 r2
在51单片机里面,r0和r2都是8位的,所以51的cpu一次只能处理8位数据。
在arm里面,r0和r2是32位的,所以arm的cpu一次能处理32位数据。这就是区别。
有啥复杂的, 一句话:参与运算的寄存器的数据长度。
8位单片机的数据总线宽度为8位,通常直接只能处理8位数据;
16位单片机的数据总线宽度为16位,通常可直接处理8位或16位数据。
最本质的区别是内部cpu的字长不同,即cpu处理数据的最大位数不同,有8位和16位cpu的区别,你可以认为是alu、寄存器的字长等。有的32位dsp芯片其外部接口数据总线是16位的,根据这个来判断是不行的
速度上有区别,取决于cpu、寄存器的字长。8位单片机不能直接处理16位数据,要按照8位数据来处理,要分几个过程来完成。而16位单片机,可直接处理16们数据,因为其alu,寄存器等都是16位的,可一次完成8位单片机要多步完成的动作,特别是对于数据处理,16位单片机有它的优势。而且16位单片机大多数据接口都为16位。
说简单了就是16位的比8位快,8位的单片机发展时间长,且价格偏低。最重要的是在许多的应用场合能够胜任开发的任务。16位的单片机在功能上要比8位的强大很多,只在需要的场合使用。
你知道2进制吧,你是否知道单片机在进行计算的时候统统是2进制数的运算。所以8位单片机和16位单片机的最根本区别就是,8位单片机可以同时进行2个8位的2进制数相加,而16位单片机则大一倍,可以同时让2个16位的2进制数相加。
cpu能同时处理二进制数的位数是多少位,就称其是多少位的计算机。也有数据总线的位数是cpu位数的一半的情况,就称其是准多少位的计算机。比如cpu是16位,数据总线也是16位,则是16位计算机;cpu是16位,数据总线也是8位,则是准16位计算机。
原来是16位单片机想改用8位的替代是可以的,但电路及程序都要做相应改变,并且改为8位机后,在功能和速度上要能够满足你工作的需要才行。
8、16、32位单片机编程注意事项 这个主要是要注意8位机代码移植到32位机的问题,如果你51的c写得很规范移植会好点,如果写的不规范麻烦会大点,比如unsigned int这个类型在8位机和32位编译出来的效果就是不一样的。还有就是arm芯片会有字节对齐的问题,如果51的c里面用到了结构体,那么字节对齐的问题会出现在sizeof(结构体名)。这个函数因为字节对齐问题,可能会算出的结构体字节大小和你想的不一样。其他好像也没有什么需要注意的了

招投标资讯│旌德县城区智慧路灯项目
滴滴在深圳因违规投放青桔单车仅一天被叫停
回顾2019世界移动通信大会的介绍
提高电力变压器抗短路的措施
新唐科技W584A191主板介绍
8、16、32位单片机编程区别分析以及注意事项
怎样扎实的推动人工智能发展
智慧医疗产业技术推介交流会在天津成功举办
电压降怎么计算测量_电压降计算公式介绍
介绍一款低成本高精度仪表放大器AD620AR
芯片困局待解,华为发力非手机业务
电动车控制器功率小于电机功率会怎样
国产智能手表什么时候才能反超AppleWatch
换种方式建信息系统---勤哲软件
区块链如何改变贸易市场
一加5什么时候上市最新消息:一加手机5发布会即将开始,一加5手机较OPPOR11有何优劣势?
法国工业界致力于使用人工智能技术是为什么
Intel正式揭晓了为纪念x86微处理器架构诞生40周年而专门打造的Core i7-8086K!
串口屏的硬件介绍
髙压母排热缩管的加热方式都有哪些