<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > MSP430f149端口功能及設置

MSP430f149端口功能及設置

作者: 時(shí)間:2013-01-16 來(lái)源:網(wǎng)絡(luò ) 收藏

常用的端口有P1、P2、P3、P4、P5、P6,它們都可以直接用于輸入/輸出。MSP430系統中沒(méi)有專(zhuān)門(mén)的輸入/輸出指令,輸入/輸出操作通過(guò)來(lái)實(shí)現。端口P1~P6的每一位都可以獨立用于輸入/輸出,即具有位尋址功能。常見(jiàn)的鍵盤(pán)接口可以直接用端口進(jìn)行模擬,用查詢(xún)或者中斷方式控制。由于MSP430的端口只有數據口,沒(méi)有狀態(tài)口或控制口,在實(shí)際應用中,如在查詢(xún)式輸入/輸出傳送時(shí),可以用端口的某一位或者幾位來(lái)傳送狀態(tài)信息,通過(guò)查詢(xún)對應位的狀態(tài)來(lái)確定外設是否處于“準備好”狀態(tài)。

端口的功能:

(1)P1,P2端口: I/O,中斷功能,其他片內外設功能如定時(shí)器、比較器;

(2)P3,P4P5P6端口:I/O,其他片內外設功能如SPI、UART模式,A/D轉換等;

MSP430各端口具有豐富的控制寄存器供用戶(hù)實(shí)現相應的操作。其中P1,P2具有7個(gè)寄存器,P3~P6具有4個(gè)寄存器。通過(guò)設置寄存器我們可以實(shí)現:

(1)每個(gè)I/O位獨立編程;

(2)任意組合輸入,輸出和中斷;

(3)P1,P2所有8個(gè)位全部可以用作外部中斷處理;

(4)可以使用所以指令對寄存器操作;

(5)可以按字節輸入、輸出,也可按位進(jìn)行操作。

端口P1,P2的功能可以通過(guò)它們的7個(gè)控制寄存器來(lái)實(shí)現。這里,Px代表P1或P2。

(1)PxDIR:輸入/輸出方向寄存器。 8位相互獨立,可以分別定義8個(gè)引腳的輸入/輸出方向。8位再PUC后都被復位。使用輸入/輸出功能時(shí),應該先定義端口的方向 。作為輸入時(shí)只能讀,作為輸出時(shí),可讀可寫(xiě)。0:輸入模式;1:輸出模式。

如:P1DIR|=BIT4; //P1.4輸出 ,P2DIR=0XF0; //高4位輸出,低4位輸入。

(2)PXIN:輸入寄存器,為只讀寄存器。用戶(hù)不能對它進(jìn)行寫(xiě)入,只能通過(guò)讀取其寄存器的內容來(lái)知道I/O口的輸入信號。所以其引腳的方向要選為輸入。如再鍵盤(pán)鍵盤(pán)掃描程序中經(jīng)常要讀取行線(xiàn)或者列線(xiàn)的端口寄存器值來(lái)判斷案件情況。

例如:unsigned char key;

P1DIR=~BIT4; //P1.4輸入

……

key=P1IN0X10; //輸出端口P1.4的值

……

(3)PXOUT:輸出寄存器。該寄存器為I/O端口的輸出緩沖寄存器,再讀取時(shí)輸出緩存的內容與引腳方向定義無(wú)關(guān)。改變方向寄存器的內容,輸出緩存的內容不受影響。

如:PIOUT|=0X01; //P1.0輸出1 , PIOUT=~0X01; //P1.0輸出0 。

(4)PXIFG:中斷標志寄存器。他的8個(gè)標志位標志相應引腳是否有中斷請求有待處理。0:無(wú)中斷請求, 1:有中斷請求。其中斷標志分別為PXIFG.0~PXIFG.7。應該注意的是:PXIFG.0~PXIFG.7共用一個(gè)中斷向量,為多源中斷。當任一事件引起的中斷進(jìn)行處理時(shí),PXIFG.0~PXIFG.7不會(huì )自動(dòng)復位,必須由軟件來(lái)判斷是對哪一個(gè)事件,并將相應的標志復位。另外,外部中斷事件的時(shí)間必須保持不低于1.5倍的MCLK時(shí)間,以保證中斷請求被接受,且使相應中斷標志位置位。

(5)PXIES:中斷觸發(fā)沿選擇寄存器。如果允許PX口的某個(gè)引腳中斷,還需定義該引腳的中斷觸發(fā)方式。0:上升沿觸發(fā)使相應標志置位,1:下降沿觸發(fā)相應標志置位。如:MOV.B #07H, P1IES ;p1低3位下降沿觸發(fā)中斷。

(6)PXIE:中斷使能寄存器。PX口的每一個(gè)引腳都有一位用以控制該引腳是否允許中斷。0:禁止中斷 ,1:允許中斷。MOV.B #0E0H, P2IE ;P2高3位允許中斷。

(7)PXSEL:功能選擇寄存器。P1,P2兩端口還具有其他片內外設功能,將這些功能與芯片外的聯(lián)系通過(guò)復用P1,P2引腳的方式來(lái)實(shí)現。PXSEL用來(lái)選擇引腳的I/O與外圍模塊功能。0:選擇引腳為I/O端口,1:選擇引腳為外圍模塊功能。如:P1SEL|=0X10; //P1.4為外圍模塊功能。

端口P3、P4、P5、P6沒(méi)有中斷能力,其余功能同PI,P2。除掉端口P1,P2與中斷相關(guān)的3個(gè)寄存器,端口P3,P4,P5,P6的4個(gè)寄存器(用法同P1,P2)分別為PXDIR,PXIN,PXOUT,PXSEL可供用戶(hù)使用



關(guān)鍵詞: MSP430f149 端口功能 傳送指令

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>