|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机是一个笼统的概念,如果对其进行细分,能够划分出很多不同的种类,PIC单片机与51单片机就是其中两种。很多人对于这两种单片机无法给予较为明确的概念界定,因此经常会出现概念混淆的情况,针对于此,本文特意为大家整理了PIC单片机与51单片机的区别。% i5 m7 T3 d( I* c7 q9 _
4 O/ U9 d' ]* T/ A M- P! w ![]() ! a& `2 v, o6 j8 Z
' T: j3 h) D2 b2 g& l(1)总线结构:MCS-51的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能同时进行;而PIC的总线结构是哈佛结构,指令和数据空间是完全分开的,一个用于指令,一个用于数据。由于可以对程序和数据同时进行访问,所以提高了数据吞吐率。正因为在PIC系列单片机中采用了哈佛双总线结构,所以与常见的微控制器不同的一点是:程序和数据总线可以采用不同的宽度。数据总线都是8位的,但指令总线位数分别位12、14、16位。
, N2 @) y5 r' ?' [8 s9 }7 i. Z, z' J, U, U; B/ t
(2)流水线结构:MCS-51的取指和执行采用单指令流水线结构,即取一条指令,执行完后再取下一条指令;而PIC的取指和执行采用双指令流水线结构,当一条指令被执行时,允许下一条指令同时被取出,这样就实现了单周期指令。. m; S: D! h1 ?$ k
6 |5 Y) A) J4 u d6 x" ^& l(3)寄存器组:PIC的所有寄存器,包括I/O口,定时器和程序计数器等都采用RAM结构形式,而且都只需要一个指令周期就可以完成访问和操作;而MCS-51需要两个或两个以上的周期才能改变寄存器的内容。# O6 J% `# w% n) K
) ?6 \. F5 m9 O3 M6 l5 ^5 P6 hPIC中低档单片机只有一个中断入口,一些低档单片机甚至没有中断。中断发生后需要用软件清除中断标志,并且需要用软件来判断中断源,这与51系列有丰富的中断入口相比有一些局限,而且由于指令长度的局限,PIC程序和数据寻址采用分页(PAGE)和分块(BANK)的做法,在程序跳转和数据查找方面需要注意页面和块的跳转。# I$ y/ w# }" \3 L
3 z. y. ], A, S% q V0 ~
PIC系列单片机采用硬件堆栈,堆栈只储存程序跳转前的程序地址,而且堆栈深度最多8级,不能支持程序的无限嵌套,不能使用51系列PUSH。POP等方便的数据堆栈指令来保护现场。在中断中保护现场比较繁琐。: E; L; k0 P% M' y& ~. h
- l; v- t) G$ [) ?# [6 V1 G
可以看到PIC单片机与51单片机还是存在很多差异的。PIC单片机在指令集比51单片机更加精简,而在中断入口方面51单片机也拥有较为明显的优势。 |
|
|