單片機(jī)是一個(gè)籠統(tǒng)的概念,如果對(duì)其進(jìn)行細(xì)分,能夠劃分出很多不同的種類,PIC單片機(jī)與51單片機(jī)就是其中兩種,對(duì)于電源新手來說,很多人對(duì)于這兩款單片機(jī)無法給予較為明確的概念界定,因此經(jīng)常會(huì)出現(xiàn)概念混淆的情況,針對(duì)于此,本文特意為大家整理了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ī)采用硬件堆棧,堆棧只儲(chǔ)存程序跳轉(zhuǎn)前的程序地址,而且堆棧深度最多8級(jí),不能支持程序的無限嵌套,不能使用51系列PUSH。POP等方便的數(shù)據(jù)堆棧指令來保護(hù)現(xiàn)場。在中斷中保護(hù)現(xiàn)場比較繁瑣。
可以看到PIC單片機(jī)與51單片機(jī)還是存在很多差異的。PIC單片機(jī)在指令集上要簡于51單片機(jī),而在中斷入口方面51單片機(jī)也擁有較為明顯的優(yōu)勢(shì)。對(duì)于51單片機(jī)與PIC單片機(jī)仍舊存在迷惑的朋友在閱讀本文之后相信一定能夠?qū)烧叩?em>區(qū)別有所了解。
網(wǎng)站首頁 |網(wǎng)站簡介 | 關(guān)于我們 | 廣告業(yè)務(wù) | 投稿信箱
Copyright © 2000-2020 hngelin.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
宣城市| 福建省| 夏津县| 崇仁县| 灵石县| 鲜城| 巴楚县| 重庆市| 三亚市| 将乐县| 手游| 内乡县| 舞阳县| 乌恰县| 垣曲县| 泰安市| 开阳县| 大化| 教育| 湾仔区| 黔东| 荃湾区| 阿瓦提县| 东城区| 宜兰县| 历史| 育儿| 平安县| 桐梓县| 舞钢市| 林甸县| 长治市| 梧州市| 鄱阳县| 嘉黎县| 黄浦区| 宣化县| 余干县| 四会市| 抚松县| 泰顺县|