
單片機(jī)是一個籠統(tǒng)的概念,如果對其進(jìn)行細(xì)分,能夠劃分出很多不同的種類,PIC單片機(jī)與51單片機(jī)就是其中兩種,對于電源新手來說,很多人對于這兩款單片機(jī)無法給予較為明確的概念界定,因此經(jīng)常會出現(xiàn)概念混淆的情況,針對于此,本文特意為大家整理了PIC單片機(jī)與51單片機(jī)的區(qū)別,感興趣的朋友快來看一看吧。
本文將以PIC16、PIC12、10系列為例來進(jìn)行介紹。PIC系列單片機(jī)采用哈佛總線結(jié)構(gòu),程序空間總線和數(shù)據(jù)總線分開,地址長度也不一樣,也同樣不在一個連續(xù)的空間,程序為單字結(jié)構(gòu),一句程序占用一個程序字長,這與51不一樣,51系列則采用馮·諾依曼結(jié)構(gòu),程序空間和數(shù)據(jù)空間共用一組8BIT的總線,程序空間和數(shù)據(jù)空間共用一個連續(xù)的地址空間;程序為多字節(jié)結(jié)構(gòu),根據(jù)不同指令及數(shù)據(jù)每句程序有不同的長度,這種結(jié)構(gòu)有可能在程序跑飛的時候讓系統(tǒng)把數(shù)據(jù)當(dāng)做指令執(zhí)行。
PIC系列單片機(jī)使用精簡指令集,總共不超過35條指令,采用預(yù)取指令的做法使絕大多數(shù)指令只要一個指令時鐘周期,51則采用復(fù)雜指令集,需要4個或更多指令周期才能執(zhí)行一條指令。
PIC中低檔單片機(jī)只有一個中斷入口,一些低檔單片機(jī)甚至沒有中斷,中斷發(fā)生后需要用軟件清除中斷標(biāo)志,并且需要用軟件來判斷中斷源,這與51系列有豐富的中斷入口相比有一些局限,而且由于指令長度的局限,PIC程序和數(shù)據(jù)尋址采用分頁(PAGE)和分塊(BANK)的做法,在程序跳轉(zhuǎn)和數(shù)據(jù)查找方面需要注意頁面和塊的跳轉(zhuǎn)。
PIC系列單片機(jī)采用硬件堆棧,堆棧只儲存程序跳轉(zhuǎn)前的程序地址,而且堆棧深度最多8級,不能支持程序的無限嵌套,不能使用51系列PUSH。POP等方便的數(shù)據(jù)堆棧指令來保護(hù)現(xiàn)場。在中斷中保護(hù)現(xiàn)場比較繁瑣。
可以看到PIC單片機(jī)與51單片機(jī)還是存在很多差異的。PIC單片機(jī)在指令集上要簡于51單片機(jī),而在中斷入口方面51單片機(jī)也擁有較為明顯的優(yōu)勢。對于51單片機(jī)與PIC單片機(jī)仍舊存在迷惑的朋友在閱讀本文之后相信一定能夠?qū)烧叩?em>區(qū)別有所了解。
網(wǎng)站首頁 |網(wǎng)站簡介 | 關(guān)于我們 | 廣告業(yè)務(wù) | 投稿信箱
Copyright © 2000-2020 www.hngelin.com All Rights Reserved.
中國網(wǎng)絡(luò)消費網(wǎng) 版權(quán)所有 未經(jīng)書面授權(quán) 不得復(fù)制或建立鏡像
聯(lián)系郵箱:920 891 263@qq.com
调兵山市| 高密市| 库尔勒市| 成武县| 武宁县| 尚义县| 莱州市| 交口县| 兴山县| 中西区| 芦山县| 安新县| 文登市| 玉树县| 左权县| 漳浦县| 石门县| 威远县| 应城市| 滁州市| 龙州县| 五寨县| 中宁县| 马山县| 鄂伦春自治旗| 五原县| 阜新| 池州市| 南涧| 万安县| 大宁县| 东阿县| 合水县| 含山县| 汉川市| 和田市| 垣曲县| 丰台区| 辽宁省| 射阳县| 浦江县|