×
电源 > 电源应用 > 详情

五分钟了解PIC与51单片机的区别

发布时间:2020-11-26 发布时间:
|

单片机是一个笼统的概念,如果对其进行细分,能够划分出很多不同的种类,PIC单片机与51单片机就是其中两种,对于电源新手来说,很多人对于这两款单片机无法给予较为明确的概念界定,因此经常会出现概念混淆的情况,针对于此,本文特意为大家整理了PIC单片机与51单片机区别,感兴趣的朋友快来看一看吧。


本文将以PIC16、PIC12、10系列为例来进行介绍。PIC系列单片机采用哈佛总线结构,程序空间总线和数据总线分开,地址长度也不一样,也同样不在一个连续的空间,程序为单字结构,一句程序占用一个程序字长,这与51不一样,51系列则采用冯·诺依曼结构,程序空间和数据空间共用一组8BIT的总线,程序空间和数据空间共用一个连续的地址空间;程序为多字节结构,根据不同指令及数据每句程序有不同的长度,这种结构有可能在程序跑飞的时候让系统把数据当做指令执行。

PIC系列单片机使用精简指令集,总共不超过35条指令,采用预取指令的做法使绝大多数指令只要一个指令时钟周期,51则采用复杂指令集,需要4个或更多指令周期才能执行一条指令。

PIC中低档单片机只有一个中断入口,一些低档单片机甚至没有中断,中断发生后需要用软件清除中断标志,并且需要用软件来判断中断源,这与51系列有丰富的中断入口相比有一些局限,而且由于指令长度的局限,PIC程序和数据寻址采用分页(PAGE)和分块(BANK)的做法,在程序跳转和数据查找方面需要注意页面和块的跳转。

PIC系列单片机采用硬件堆栈,堆栈只储存程序跳转前的程序地址,而且堆栈深度最多8级,不能支持程序的无限嵌套,不能使用51系列PUSH。POP等方便的数据堆栈指令来保护现场。在中断中保护现场比较繁琐。

可以看到PIC单片机与51单片机还是存在很多差异的。PIC单片机在指令集上要简于51单片机,而在中断入口方面51单片机也拥有较为明显的优势。对于51单片机与PIC单片机仍旧存在迷惑的朋友在阅读本文之后相信一定能够对两者的区别有所了解。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
高油价与环保 太阳能的机遇