单片机是一个笼统的概念,如果对其进行细分,能够划分出很多不同的种类,PIC单片机与51单片机就是其中两种。很多人对于这两种单片机无法给予较为明确的概念界定,因此经常会出现概念混淆的情况,针对于此,本文特意为大家整理了PIC单片机与51单片机的区别。
![“”](http://mouser.eetrend.com/files/2019-06/wen_zhang_/100043750-72516-weibiaoti-5.jpg)
(1)总线结构:MCS-51的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能同时进行;而PIC的总线结构是哈佛结构,指令和数据空间是完全分开的,一个用于指令,一个用于数据。由于可以对程序和数据同时进行访问,所以提高了数据吞吐率。正因为在PIC系列单片机中采用了哈佛双总线结构,所以与常见的微控制器不同的一点是:程序和数据总线可以采用不同的宽度。数据总线都是8位的,但指令总线位数分别位12、14、16位。
(2)流水线结构:MCS-51的取指和执行采用单指令流水线结构,即取一条指令,执行完后再取下一条指令;而PIC的取指和执行采用双指令流水线结构,当一条指令被执行时,允许下一条指令同时被取出,这样就实现了单周期指令。
(3)寄存器组:PIC的所有寄存器,包括I/O口,定时器和程序计数器等都采用RAM结构形式,而且都只需要一个指令周期就可以完成访问和操作;而MCS-51需要两个或两个以上的周期才能改变寄存器的内容。
PIC中低档单片机只有一个中断入口,一些低档单片机甚至没有中断。中断发生后需要用软件清除中断标志,并且需要用软件来判断中断源,这与51系列有丰富的中断入口相比有一些局限,而且由于指令长度的局限,PIC程序和数据寻址采用分页(PAGE)和分块(BANK)的做法,在程序跳转和数据查找方面需要注意页面和块的跳转。
PIC系列单片机采用硬件堆栈,堆栈只储存程序跳转前的程序地址,而且堆栈深度最多8级,不能支持程序的无限嵌套,不能使用51系列PUSH。POP等方便的数据堆栈指令来保护现场。在中断中保护现场比较繁琐。
可以看到PIC单片机与51单片机还是存在很多差异的。PIC单片机在指令集比51单片机更加精简,而在中断入口方面51单片机也拥有较为明显的优势。
本文转载自:21IC
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理。