
單片機(jī)是一個(gè)籠統(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ù)總線分開,地址長度也不一樣,也同樣不在一個(gè)連續(xù)的空間,程序?yàn)閱巫纸Y(jié)構(gòu),一句程序占用一個(gè)程序字長,這與51不一樣,51系列則采用馮·諾依曼結(jié)構(gòu),程序空間和數(shù)據(jù)空間共用一組8BIT的總線,程序空間和數(shù)據(jù)空間共用一個(gè)連續(xù)的地址空間;程序?yàn)槎嘧止?jié)結(jié)構(gòu),根據(jù)不同指令及數(shù)據(jù)每句程序有不同的長度,這種結(jié)構(gòu)有可能在程序跑飛的時(shí)候讓系統(tǒng)把數(shù)據(jù)當(dāng)做指令執(zhí)行。
PIC系列單片機(jī)使用精簡指令集,總共不超過35條指令,采用預(yù)取指令的做法使絕大多數(shù)指令只要一個(gè)指令時(shí)鐘周期,51則采用復(fù)雜指令集,需要4個(gè)或更多指令周期才能執(zhí)行一條指令。
PIC中低檔單片機(jī)只有一個(gè)中斷入口,一些低檔單片機(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 hexin8.com All Rights Reserved.
中國網(wǎng)絡(luò)消費(fèi)網(wǎng) 版權(quán)所有 未經(jīng)書面授權(quán) 不得復(fù)制或建立鏡像
聯(lián)系郵箱:920 891 263@qq.com
五寨县| 榆社县| 庆云县| 九龙县| 大厂| 云林县| 漾濞| 崇州市| 潮安县| 和龙市| 汝阳县| 惠水县| 淅川县| 深水埗区| 巴彦县| 剑阁县| 凉城县| 夏津县| 山丹县| 沙雅县| 壶关县| 兴海县| 永和县| 满洲里市| 郯城县| 禹州市| 祁东县| 宁河县| 天水市| 滁州市| 乃东县| 临武县| 开原市| 福贡县| 汶川县| 磐石市| 富顺县| 改则县| 衢州市| 临澧县| 客服|