單片機(jī)的分類有哪些?pic單片機(jī)和51單片機(jī)的區(qū)別
掃描二維碼
隨時(shí)隨地手機(jī)看文章
pic單片機(jī)和51單片機(jī)的主要區(qū)別有哪些呢?單片機(jī)是一個(gè)籠統(tǒng)的概念,如果對(duì)其進(jìn)行細(xì)分,能夠劃分出很多不同的種類,PIC單片機(jī)與51單片機(jī)就是其中兩種。很多人對(duì)于這兩款單片機(jī)無(wú)法給予較為明確的概念界定,因此經(jīng)常會(huì)出現(xiàn)概念混淆的情況,針對(duì)于此,本文特意為大家整理了PIC單片機(jī)與51單片機(jī)的區(qū)別
(1)總線結(jié)構(gòu):MCS-51的總線結(jié)構(gòu)是馮-諾依曼型,計(jì)算機(jī)在同一個(gè)存儲(chǔ)空間取指令和數(shù)據(jù),兩者不能同時(shí)進(jìn)行;而PIC的總線結(jié)構(gòu)是哈佛結(jié)構(gòu),指令和數(shù)據(jù)空間是完全分開(kāi)的,一個(gè)用于指令,一個(gè)用于數(shù)據(jù),由于可以對(duì)程序和數(shù)據(jù)同時(shí)進(jìn)行訪問(wèn),所以提高了數(shù)據(jù)吞吐率。正因?yàn)樵赑IC系列單片機(jī)中采用了哈佛雙總線結(jié)構(gòu),所以與常見(jiàn)的微控制器不同的一點(diǎn)是:程序和數(shù)據(jù)總線可以采用不同的寬度。數(shù)據(jù)總線都是8位的,但指令總線位數(shù)分別位12、14、16位。
(2)流水線結(jié)構(gòu):MCS-51的取指和執(zhí)行采用單指令流水線結(jié)構(gòu),即取一條指令,執(zhí)行完后再取下一條指令;而PIC的取指和執(zhí)行采用雙指令流水線結(jié)構(gòu),當(dāng)一條指令被執(zhí)行時(shí),允許下一條指令同時(shí)被取出,這樣就實(shí)現(xiàn)了單周期指令。
(3)寄存器組:PIC的所有寄存器,包括I/O口,定時(shí)器和程序計(jì)數(shù)器等都采用RAM結(jié)構(gòu)形式,而且都只需要一個(gè)指令周期就可以完成訪問(wèn)和操作;而MCS-51需要兩個(gè)或兩個(gè)以上的周期才能改變寄存器的內(nèi)容。
PIC中低檔單片機(jī)只有一個(gè)中斷入口,一些低檔單片機(jī)甚至沒(méi)有中斷,中斷發(fā)生后需要用軟件清除中斷標(biāo)志,并且需要用軟件來(lái)判斷中斷源,這與51系列有豐富的中斷入口相比有一些局限,而且由于指令長(zhǎng)度的局限,PIC程序和數(shù)據(jù)尋址采用分頁(yè)(PAGE)和分塊(BANK)的做法,在程序跳轉(zhuǎn)和數(shù)據(jù)查找方面需要注意頁(yè)面和塊的跳轉(zhuǎn)。
PIC系列單片機(jī)采用硬件堆棧,堆棧只儲(chǔ)存程序跳轉(zhuǎn)前的程序地址,而且堆棧深度最多8級(jí),不能支持程序的無(wú)限嵌套,不能使用51系列PUSH。POP等方便的數(shù)據(jù)堆棧指令來(lái)保護(hù)現(xiàn)場(chǎng)。在中斷中保護(hù)現(xiàn)場(chǎng)比較繁瑣。
可以看到PIC單片機(jī)與51單片機(jī)還是存在很多差異的。PIC單片機(jī)在指令集上要簡(jiǎn)于51單片機(jī),而在中斷入口方面51單片機(jī)也擁有較為明顯的優(yōu)勢(shì)。對(duì)于51單片機(jī)與PIC單片機(jī)仍舊存在迷惑的朋友可以在線留言或者到21ic電子技術(shù)論壇討論