<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          PIC單片機(jī)入門必看

          作者: 時(shí)間:2012-12-18 來源:網(wǎng)絡(luò) 收藏

          目前的FLASH系列產(chǎn)品,PIC10FXXX、PIC12FXXX、PIC16FXXX,PIC18FXXXX等,PIC10F/PIC12F屬于低檔8位單片機(jī),某些系列帶8BIT AD口,價(jià)格低,體積小,適合一些小應(yīng)用,PIC16F屬于中檔8位單片機(jī),大多數(shù)帶10BIT AD口,還有諸如CCP,SPI,I2C,UART等外設(shè)端口,價(jià)格適中,出貨量大,PIC18F系列屬于高檔8位單片機(jī),價(jià)格偏高,小批量購(gòu)買的價(jià)格和16位單片機(jī)差不多。當(dāng)然外設(shè)功能豐富。

          的C編譯器,PIC10,12,16系列目前的主流編譯器是HI-TECH的PICC,18系列的主流編譯器有HI-TECH的PICC18及PICC18MCHP自己的PICC18,均為收費(fèi)軟件,但有評(píng)估板或限制版供免費(fèi)下載使用。

          單片機(jī)介紹網(wǎng)址:http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGEnodeId=2696?m=en537796

          16位單片機(jī)系列:

          有dsPIC30F系列,dsPIC33FJ系列,PIC24F系列,PIC24H系列

          dsPIC30F及dsPIC33FJ系列是MCHP推出的帶DSP內(nèi)核的高性能數(shù)字信號(hào)控制器,被稱為"DSC",dsPIC30F是5V供電系統(tǒng),33FJ系列是3.3V供電系統(tǒng)。適合需要一些高速處理AD信號(hào)的場(chǎng)合,其中33FJXXXGPXXX系列適合音頻數(shù)字信號(hào)處理,33FJXXXMCXXX及30F系列適合馬達(dá)控制場(chǎng)合。

          PIC24F系列及PIC24H系列是普通的16BIT MCU,適合一些要求較高的應(yīng)用場(chǎng)合

          16位單片機(jī)共用一種C編譯器:MCHP自己的PICC30及HI-TECH的PICC30,收費(fèi)軟件,同樣有限制版或試用版供下載免費(fèi)使用。

          16位DSC及MCU介紹網(wǎng)址:http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGEnodeId=2629?m=en533465

          32位單片機(jī)系列:

          PIC32系列為MCHP在2007年發(fā)布的一個(gè)系列高端單片機(jī)系列,最高工作頻率80MHz,

          以下文字是我從網(wǎng)站說明直譯,有錯(cuò)請(qǐng)指出:

          其特點(diǎn):

          80 MHz, 1.56 DMIPS/MHz CPU core

          80MHz,每MHz的工作頻率可提供1.56MIPS的整數(shù)運(yùn)算能力的內(nèi)核。

          Single cycle multiply and divide hardware

          單指令周期的乘法和除法運(yùn)算器

          Flash pre-fetch module, 256Byte cache

          FLASH預(yù)取指令技術(shù),256字節(jié)深度緩存

          Fast context switch and interrupt response

          高速切換及中斷響應(yīng)

          8 ch. DMA controller

          8通道 直接存儲(chǔ)器存取控制器

          Key peripherals have dedicated DMA channels

          鍵周邊設(shè)備有專用的 直接存儲(chǔ)器存取通道

          Atomic bit manipulation

          最小單位的二進(jìn)制處理?

          的特點(diǎn)及與51系列單片機(jī)的區(qū)別:

          這里僅以使用廣泛的中低檔PIC16/PIC12/10系列為例說明。

          PIC系列單片機(jī)采用哈佛總線結(jié)構(gòu),程序空間總線和數(shù)據(jù)總線分開,地址長(zhǎng)度也不一樣,也同樣不在一個(gè)連續(xù)的空間,程序?yàn)閱巫纸Y(jié)構(gòu),一句程序占用一個(gè)程序字長(zhǎng),這與51不一樣,51系列則采用馮.諾依曼結(jié)構(gòu),程序空間和數(shù)據(jù)空間共用一組8BIT的總線,程序空間和數(shù)據(jù)空間共用一個(gè)連續(xù)的地址空間;程序?yàn)槎嘧止?jié)結(jié)構(gòu),根據(jù)不同指令及數(shù)據(jù)每句程序有不同的長(zhǎng)度,這種結(jié)構(gòu)有可能在程序跑飛的時(shí)候讓系統(tǒng)把數(shù)據(jù)當(dāng)做指令執(zhí)行。

          PIC系列單片機(jī)使用精簡(jiǎn)指令集,總共不超過35條指令,采用預(yù)取指令的做法使絕大多數(shù)指令只要一個(gè)指令時(shí)鐘周期,51則采用復(fù)雜指令集,需要4個(gè)或更多指令周期才能執(zhí)行一條指令。

          PIC中低檔單片機(jī)只有一個(gè)中斷入口,一些低檔單片機(jī)甚至沒有中斷,中斷發(fā)生后需要用軟件清除中斷標(biāo)志,并且需要用軟件來判斷中斷源,這與51系列有豐富的中斷入口相比有一些局限,而且由于指令長(zhǎng)度的局限,PIC 程序和數(shù)據(jù)尋址采用分頁(yè)(PAGE)和分塊(BANK)的做法,在程序跳轉(zhuǎn)和數(shù)據(jù)查找方面需要注意頁(yè)面和塊的跳轉(zhuǎn)。

          PIC系列單片機(jī)采用硬件堆棧,堆棧只儲(chǔ)存程序跳轉(zhuǎn)前的程序地址,而且堆棧深度最多8級(jí),不能支持程序的無限嵌套,不能使用51系列PUSH,POP等方便的數(shù)據(jù)堆棧指令來保護(hù)現(xiàn)場(chǎng)。在中斷中保護(hù)現(xiàn)場(chǎng)比較繁瑣。

          匯編語(yǔ)言編程基礎(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

          單片機(jī)相關(guān)文章:單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)視頻教程


          單片機(jī)相關(guān)文章:單片機(jī)工作原理


          上拉電阻相關(guān)文章:上拉電阻原理
          雙控開關(guān)相關(guān)文章:雙控開關(guān)原理

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();