PIC單片機入門必看
目前的FLASH系列產(chǎn)品,PIC10FXXX、PIC12FXXX、PIC16FXXX,PIC18FXXXX等,PIC10F/PIC12F屬于低檔8位單片機,某些系列帶8BIT AD口,價格低,體積小,適合一些小應(yīng)用,PIC16F屬于中檔8位單片機,大多數(shù)帶10BIT AD口,還有諸如CCP,SPI,I2C,UART等外設(shè)端口,價格適中,出貨量大,PIC18F系列屬于高檔8位單片機,價格偏高,小批量購買的價格和16位單片機差不多。當(dāng)然外設(shè)功能豐富。
8位機的C編譯器,PIC10,12,16系列目前的主流編譯器是HI-TECH的PICC,18系列的主流編譯器有HI-TECH的PICC18及PICC18MCHP自己的PICC18,均為收費軟件,但有評估板或限制版供免費下載使用。
單片機介紹網(wǎng)址:http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGEnodeId=2696?m=en537796
16位單片機系列:
有dsPIC30F系列,dsPIC33FJ系列,PIC24F系列,PIC24H系列
dsPIC30F及dsPIC33FJ系列是MCHP推出的帶DSP內(nèi)核的高性能數(shù)字信號控制器,被稱為"DSC",dsPIC30F是5V供電系統(tǒng),33FJ系列是3.3V供電系統(tǒng)。適合需要一些高速處理AD信號的場合,其中33FJXXXGPXXX系列適合音頻數(shù)字信號處理,33FJXXXMCXXX及30F系列適合馬達(dá)控制場合。
PIC24F系列及PIC24H系列是普通的16BIT MCU,適合一些要求較高的應(yīng)用場合
16位單片機共用一種C編譯器:MCHP自己的PICC30及HI-TECH的PICC30,收費軟件,同樣有限制版或試用版供下載免費使用。
16位DSC及MCU介紹網(wǎng)址:http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGEnodeId=2629?m=en533465
32位單片機系列:
PIC32系列為MCHP在2007年發(fā)布的一個系列高端單片機系列,最高工作頻率80MHz,
以下文字是我從網(wǎng)站說明直譯,有錯請指出:
其特點:
80 MHz, 1.56 DMIPS/MHz CPU core
80MHz,每MHz的工作頻率可提供1.56MIPS的整數(shù)運算能力的內(nèi)核。
Single cycle multiply and divide hardware
單指令周期的乘法和除法運算器
Flash pre-fetch module, 256Byte cache
FLASH預(yù)取指令技術(shù),256字節(jié)深度緩存
Fast context switch and interrupt response
高速切換及中斷響應(yīng)
8 ch. DMA controller
8通道 直接存儲器存取控制器
Key peripherals have dedicated DMA channels
鍵周邊設(shè)備有專用的 直接存儲器存取通道
Atomic bit manipulation
最小單位的二進制處理?
PIC單片機的特點及與51系列單片機的區(qū)別:
這里僅以使用廣泛的中低檔PIC16/PIC12/10系列為例說明。
PIC系列單片機采用哈佛總線結(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系列單片機使用精簡指令集,總共不超過35條指令,采用預(yù)取指令的做法使絕大多數(shù)指令只要一個指令時鐘周期,51則采用復(fù)雜指令集,需要4個或更多指令周期才能執(zhí)行一條指令。
PIC中低檔單片機只有一個中斷入口,一些低檔單片機甚至沒有中斷,中斷發(fā)生后需要用軟件清除中斷標(biāo)志,并且需要用軟件來判斷中斷源,這與51系列有豐富的中斷入口相比有一些局限,而且由于指令長度的局限,PIC 程序和數(shù)據(jù)尋址采用分頁(PAGE)和分塊(BANK)的做法,在程序跳轉(zhuǎn)和數(shù)據(jù)查找方面需要注意頁面和塊的跳轉(zhuǎn)。
PIC系列單片機采用硬件堆棧,堆棧只儲存程序跳轉(zhuǎn)前的程序地址,而且堆棧深度最多8級,不能支持程序的無限嵌套,不能使用51系列PUSH,POP等方便的數(shù)據(jù)堆棧指令來保護現(xiàn)場。在中斷中保護現(xiàn)場比較繁瑣。
PIC單片機匯編語言編程基礎(chǔ)
http://bbs.21ic.com/icview-86137-1-1.html
關(guān)于內(nèi)置或外置EEPROM E2ROM 容易丟數(shù)據(jù)的一些問題討論
http://bbs.21ic.com/icview-85555-1-1.html
PICC中的ram和rom的一定空間,如何讓編輯器保留?
http://bbs.21ic.com/icview-220292-1-1.html
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
上拉電阻相關(guān)文章:上拉電阻原理 雙控開關(guān)相關(guān)文章:雙控開關(guān)原理
評論