端口0功能選擇寄存器(P0SEL)_第1頁
端口0功能選擇寄存器(P0SEL)_第2頁
端口0功能選擇寄存器(P0SEL)_第3頁
端口0功能選擇寄存器(P0SEL)_第4頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、端口0功能選擇寄存器(P0SEL)。這是一個8位的寄存器,對應端口1的8個引腳,將相應位設為0,表示將相應引腳設置為普通的I/O口,若設置為1,則將相關引腳設為外設I/O,默認值都為0。端口0方向選擇寄存器(P0DIR)。這是一個8位的寄存器,對應端口1的8個引腳,將相應位設為0,表示將相應引腳設置為輸入引腳,若設置為1,則將相關引腳設為輸出引腳,默認值都為0。端口0輸入模式寄存器(P0INP)。這是一個8位的寄存器,對應端口1的8個引腳,將相應位設為0,表示將相應引腳設置為上拉/下拉模式,若設置為1,則將相關引腳設為三態(tài)模式,其中P0_0和P0_1沒有上拉/下拉功能,可以不用配置,默認值都為

2、0。再來看看與中斷相關的寄存器端口中斷控制寄存器(PICTL)。該寄存器的最低位控制端口0輸入模式下的中斷配置,當該位為0時,表示輸入的上升沿引起中斷,該位為1時,表示輸入的下降沿引起中斷。端口0中斷屏蔽寄存器(P0IEN)。該寄存器控制端口0下8位引腳的中斷使能,將相應位設置為0,表示禁用相應引腳的中斷;將相應位設置為1,表示使能相應引腳的中斷.端口0中斷狀態(tài)標志寄存器(P0IFG)。當發(fā)生中斷時,相應位將被置1.中斷使能寄存器1(IEN1)。該寄存器的bit5位為端口0的中斷使能位,將該位設置為1,表示打開端口0中斷,設置為0,表示禁用端口0中斷。中斷使能寄存器0(IEN0)。該寄存器的最

3、高位為中斷總開關,將該位設置為1,表示打開總中斷,設為0,表示禁用所有中斷。例子會被反復觸發(fā)的燈#include <ioCC2530.h>typedef unsigned char uchar;typedef unsigned int uint;#define LED1 P1_0#define KEY1 P0_1void delay_ms(uint ms) uint i,j; for(i=0;i<ms;i+) for(j=0;j<555;j+);void initLed(void) P1SEL &= 0x01; /設置P1_0為普通IO P1DIR |= 0X0

4、1; /設置P1_0為輸出模式void initKey(void) P0IEN |= 0X02; /P0.1中斷使能 PICTL |= 0X01; /P0口下降沿觸發(fā) IEN1 |= 0x20; /允許P0口中斷 P0IFG = 0X00; /初始化中斷標志位P0IF = 0; EA = 1; /總中斷使能/*在IAR編譯器里用_interrupt來定義一個中斷函數。用#pragma vector = P0INT_VECTOR來提供中斷函數的入口地址P0_ISR為函數名,可以修改。*/#pragma vector = P0INT_VECTOR_interrupt void P0_ISR(void) P0IFG = 0; P0IF = 0; /通常情況這里應該是關掉中端,并且把這兩句話放到函數結束 LED1 = 0; delay_ms(2000); / LED1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論