PIC單片機(jī)有哪些優(yōu)勢和不足?如何設(shè)置PIC單片機(jī)端口?
從家電控制到工業(yè)自動化,PIC單片機(jī)在各類場景中發(fā)揮著重要作用,由此可見PIC單片機(jī)的重要性。為增進(jìn)大家對PIC單片機(jī)的認(rèn)識,本文將對PIC單片機(jī)的優(yōu)勢和不足以及PIC單片機(jī)的端口設(shè)置方法予以介紹。如果你對PIC單片機(jī)具有興趣,不妨繼續(xù)往下閱讀哦。
一、PIC單片機(jī)的優(yōu)勢和不足
PIC單片機(jī)系列,作為美國微芯公司的杰出產(chǎn)品,憑借其卓越的性能和廣泛的應(yīng)用領(lǐng)域,在單片機(jī)市場上占據(jù)了舉足輕重的地位。該系列分為基本級、中級和高級三個級別,旨在滿足不同層次的應(yīng)用需求。
PIC單片機(jī)的核心優(yōu)勢在于其CPU采用的RISC結(jié)構(gòu),這一結(jié)構(gòu)精簡而高效,分別包含33、35、58條指令,構(gòu)成了精簡指令集。這種設(shè)計不僅減少了指令的數(shù)量,還提高了指令的執(zhí)行效率。
同時,PIC單片機(jī)采用了Harvard雙總線結(jié)構(gòu),使得程序存儲器和數(shù)據(jù)存儲器的訪問能夠并行處理,極大地提升了運行速度。
在指令流水線結(jié)構(gòu)方面,PIC單片機(jī)更是展現(xiàn)出了其獨特的優(yōu)勢。在一個周期內(nèi),它能夠完成兩部分工作:一是執(zhí)行當(dāng)前指令,二是從程序存儲器中取出下一條指令。這種設(shè)計使得每條指令只需一個周期即可完成,從而大大提高了整體運行效率。
首先,它具有低工作電壓和低功耗的特點,這使得它在節(jié)能和環(huán)保方面具有顯著優(yōu)勢。其次,PIC單片機(jī)的驅(qū)動能力強(qiáng),其I/O口采用CMOS互補(bǔ)推挽輸出電路,能夠輕松驅(qū)動各種外設(shè)。此外,PIC單片機(jī)還支持在線調(diào)試及編程(ISP)功能,為開發(fā)者提供了極大的便利。
然而,PIC單片機(jī)也存在一些不足之處。例如,其專用寄存器(SFR)并不像某些其他系列的單片機(jī)那樣都集中在一個固定的地址區(qū)間內(nèi),而是分散在四個地址區(qū)間內(nèi)。這在編程過程中可能會增加一定的難度,需要開發(fā)者反復(fù)選擇對應(yīng)的存儲體。
另外,PIC單片機(jī)的數(shù)據(jù)傳送和邏輯運算基本上都得通過工作寄存器W來進(jìn)行,而不像某些其他系列的單片機(jī)那樣可以通過寄存器相互之間直接傳送,這也在一定程度上限制了其性能的發(fā)揮。
二、如何設(shè)置PIC單片機(jī)端口
以PIC16F616為例,PIC16F616有12個IO口,但是有一個引腳(RA3)只能作為輸入引腳用,不能用作輸出,另外,A口具有電平變化間斷的功能,而C口沒有,在設(shè)計的時候要留意。
在設(shè)置的時候,一般要進(jìn)行以下幾項設(shè)置:
(1)設(shè)置端口是模擬端口仍是數(shù)字端口,可以通過寄存器ANSEL來設(shè)置。例如你想用AD,就要將相應(yīng)的引腳設(shè)置為模擬輸入端口。
(2)假如你選擇的是數(shù)字端口,接下來就要設(shè)置端口的方向,是輸入仍是輸出(RA3除外),可通過寄存器TRISA(A口)或TRISC(C口)來設(shè)置。
(3)設(shè)置端口的輸出電平,可以通過寄存器PORTA(A口)或PORTC(C口)來設(shè)置。
這是對IO口的通用設(shè)置,但是這不是全部的設(shè)置,接下來的設(shè)置要看時A口仍是C口了。對于A口,它有幾個特殊的功能:內(nèi)部弱上拉、電平變化間斷、RA2/INT引腳的沿間斷。假如想要這些功能,就要對相應(yīng)的寄存器進(jìn)行設(shè)置。
弱上拉的設(shè)置:只有當(dāng)引腳為輸出的時候弱上拉才有效,可以通過寄存器WPUA來設(shè)置相應(yīng)引腳的弱上拉,值得一提的假如開啟了弱上拉,會有多余的電流鋪張, 這樣對于低功耗的設(shè)計是不可取的,但是假如在進(jìn)行一些例如鍵盤電路設(shè)計的候,可以開啟弱上拉功能,這樣就不需要在鍵盤電路中加上拉電阻了。
電平變化間斷的設(shè)置:可以通過寄存器IOCA來設(shè)置,但是首先要將相應(yīng)引腳設(shè)置為數(shù)字端口且為輸入狀態(tài)。同時要將寄存器INTCON的REIE位設(shè)置為1,總間斷要答應(yīng)(置寄存器INTCON的GIE位),假如設(shè)置相應(yīng)引腳有這個功能,當(dāng)此引腳電平發(fā)生的時候,就會產(chǎn)生一個間斷,同時一些間斷標(biāo)志位被置上(INTCON的RAIF位被置1),且總間斷GIE被置為0.在間斷服務(wù)程序中,要軟件清除RAIF位和重新置GIE位才能繼承開啟此間斷。
RA2/INT腳的沿間斷設(shè)置:同樣首先要將相應(yīng)引腳設(shè)置為數(shù)字端口且為輸入狀態(tài),設(shè)置INTCON的INTF位為1,表示答應(yīng)int引腳外部間斷,寄存器 OPTION_REG的INTEGD位可以設(shè)置是上升沿間斷仍是下降沿間斷。當(dāng)發(fā)生間斷時,INTCON的INTF位被置為1,GIE被清零,在間斷服務(wù)程序中,要軟件清除INTF位和重新置GIE位才能繼承開啟此間斷。
以上便是此次帶來的PIC單片機(jī)相關(guān)內(nèi)容,通過本文,希望大家對PIC單片機(jī)已經(jīng)具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!