嵌入式技術與應用ARM硬件結(jié)構(gòu)4課件_第1頁
嵌入式技術與應用ARM硬件結(jié)構(gòu)4課件_第2頁
嵌入式技術與應用ARM硬件結(jié)構(gòu)4課件_第3頁
嵌入式技術與應用ARM硬件結(jié)構(gòu)4課件_第4頁
嵌入式技術與應用ARM硬件結(jié)構(gòu)4課件_第5頁
已閱讀5頁,還剩117頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

嵌入式技術與應用

智能電器與智能系統(tǒng)省重點實驗室

ARM硬件結(jié)構(gòu)5CHAPTER第5章目錄1.簡介2.引腳配置3.存儲器尋址4.系統(tǒng)控制模塊5.存儲器加速模塊6.外部存儲器控制器7.引腳連接模塊8.向量中斷控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定時器0/115.脈寬調(diào)制器(PWM)16.A/D轉(zhuǎn)換器17.實時時鐘18.看門狗5.14定時器0/1應用LPC2000CAPMAT捕獲外部信號用于對內(nèi)部事件進行計數(shù)的間隔定時器,或者產(chǎn)生系統(tǒng)節(jié)拍匹配輸出管腳名稱管腳方向管腳描述CAP0.3~CAP0.0CPA1.3~CAP1.0輸入捕獲信號,用來捕獲管腳的跳變,可配置為將定時器值裝入一個捕獲寄存器,并可選擇產(chǎn)生一個中斷??蛇x擇多個管腳用作捕獲功能,而且,假設如果有2個管腳被選擇并行提供CAP0.2功能,它們的輸入將進行邏輯或,所得結(jié)果用作一個捕獲輸入。定時器引腳描述信號過濾捕獲控制寄存器Tx定時器捕獲寄存器多個引腳作為捕獲功能時,對輸入信號相或處理如果輸入信號滿足設定的要求,將觸發(fā)捕獲動作管腳名稱管腳方向管腳描述MAT0.3~MAT0.0MAT1.3~MAT1.0輸出外部匹配輸出0/1。當匹配寄存器0/1(MR3:0)等于定時器計數(shù)器(TC)時,該輸出可翻轉(zhuǎn)、變?yōu)榈碗娖?、變?yōu)楦唠娖交虿蛔?。外部匹配寄存器(EMR)控制該輸出的功能??蛇x擇多個管腳并行用作匹配輸出功能。例如,同時選擇2個管腳并行提供MAT1.3功能。定時器引腳描述信號輸出匹配控制寄存器Tx定時器匹配寄存器=當定時器值等于預設的匹配值時,從引腳輸出特定的信號信號輸出=寄存器描述——基本功能寄存器名稱描述訪問復位值TCR定時器控制寄存器??刂贫〞r器計數(shù)器功能(禁止或復位)。讀寫0TC定時器計數(shù)器。為32位計數(shù)器,計數(shù)頻率為PCLK經(jīng)過預分頻計數(shù)器后頻率值。讀寫0PR預分頻控制寄存器。用于設定預分頻值,為32位寄存器。讀寫0PC預分頻計數(shù)器。為32位計數(shù)器,計數(shù)頻率為PCLK,當計數(shù)值等于預分頻計數(shù)器的值時,TC計數(shù)器加一。讀寫0IR中斷標志寄存器。讀該寄存器識別中斷源,寫該寄存器清除中斷標志。讀寫0預分頻計數(shù)器TxPC定時器計數(shù)器TxTC預分頻寄存器TxPR定時器控制TxTCR中斷標志寄存器TxIRFpclk寄存器描述——基本功能寄存器預分頻計數(shù)器TxPC定時器計數(shù)器TxTC預分頻寄存器TxPR定時器控制TxTCR中斷標志寄存器TxIRFpclk預分頻計數(shù)器TxPC定時器計數(shù)器TxTC預分頻寄存器TxPR定時器控制TxTCR中斷標志寄存器TxIRFpclkTxPRTxPR寄存器為32位寄存器,該寄存器指定了預分頻計數(shù)器的最大值。位31:0功能預分頻值寄存器描述——基本功能寄存器預分頻計數(shù)器TxPC定時器計數(shù)器TxTC預分頻寄存器TxPR定時器控制TxTCR中斷標志寄存器TxIRFpclkTxPRTxPCTxPC寄存器為32位寄存器。預分頻計數(shù)器每個pclk周期加1。當其到達預分頻寄存器中保存的值時,定時器計數(shù)器加1,預分頻計數(shù)器在下個pclk周期復位。這樣,當PR=0時,定時器計數(shù)器每個pclk周期加1,當PR=1時,定時器計數(shù)器每2個pclk周期加1。位31:0復位值功能計數(shù)值0寄存器描述——基本功能寄存器預分頻計數(shù)器TxPC定時器計數(shù)器TxTC預分頻寄存器TxPR定時器控制TxTCR中斷標志寄存器TxIRFpclkTxPR當預分頻計數(shù)器到達計數(shù)的上限時,定時器計數(shù)器寄存器(TxTC)加1。TC從0x00000000計數(shù)一直到0xFFFFFFFF,然后翻轉(zhuǎn)至0,除非中途被復位。計數(shù)值翻轉(zhuǎn)不會引起中斷。TxTC位31:0復位值功能計數(shù)值0寄存器描述——基本功能寄存器預分頻計數(shù)器TxPC定時器計數(shù)器TxTC預分頻寄存器TxPR定時器控制TxTCR中斷標志寄存器TxIRFpclkTxPR中斷寄存器包含4個位用于匹配中斷,另外4個位用于捕獲中斷。如果有中斷產(chǎn)生,IR中的對應位會置位。向?qū)腎R位寫入1會復位中斷,寫入0無效。位功能描述位功能描述0MR0中斷匹配0中斷4CR0中斷捕獲0中斷1MR1中斷匹配1中斷5CR1中斷捕獲1中斷2MR2中斷匹配2中斷6CR2中斷捕獲2中斷3MR3中斷匹配3中斷7CR3中斷捕獲3中斷TxIR寄存器描述——匹配功能寄存器名稱描述訪問復位值MCR匹配控制寄存器,用于控制在匹配時是否產(chǎn)生中斷或復位TC讀寫0MR0匹配寄存器0,通過MCR寄存器可以設置匹配發(fā)生時的動作讀寫0MR1匹配寄存器1,通過MCR寄存器可以設置匹配發(fā)生時的動作讀寫0MR2匹配寄存器2,通過MCR寄存器可以設置匹配發(fā)生時的動作讀寫0MR3匹配寄存器3,通過MCR寄存器可以設置匹配發(fā)生時的動作讀寫0EMR外部匹配寄存器,EMR控制外部匹配管腳MATx.0~MATx.3讀寫0匹配控制MCR匹配值MR0~MR3匹配輸出EMR定時器計數(shù)器TC寄存器描述——匹配功能寄存器匹配控制MCR匹配值MR0~MR3匹配輸出EMR定時器計數(shù)器TC匹配寄存器(MR0~MR3)值與定時器計數(shù)值相比較,當兩個值相等時自動觸發(fā)在MCR寄存器中設置的動作。MR0~MR3位31:0復位值功能匹配值0寄存器描述——匹配功能寄存器匹配控制MCR匹配值MR0~MR3匹配輸出EMR定時器計數(shù)器TC外部匹配寄存器提供外部匹配管腳MATn.0~MATn.3(n為0或1)的控制和狀態(tài)。EMR寄存器描述——匹配功能寄存器匹配控制MCR匹配值MR0~MR3匹配輸出EMR定時器計數(shù)器TCEMR位功能描述復位值0外部匹配0反映相應外部匹配的狀態(tài),而不管是否連接到管腳。發(fā)生匹配時該位的動作由EMR中相應的控制位決定。01外部匹配102外部匹配203外部匹配305:4外部匹配控制0決定相應外部匹配的功能。00:不執(zhí)行任何動作;01:將對應的外部匹配輸出設置為0;10:將對應的外部匹配輸出設置為1;11:使對應的外部匹配輸出翻轉(zhuǎn)。07:6外部匹配控制109:8外部匹配控制2011:10外部匹配控制30寄存器描述——捕獲功能寄存器捕獲控制CCR捕獲寄存器CR0~CR3定時器計數(shù)器TC捕獲控制CCR捕獲寄存器CR0~CR3定時器計數(shù)器TCCCR在發(fā)生捕獲事件時,捕獲控制寄存器用于控制是否將定時器計數(shù)值裝入寄存器。同時還可以設置被捕獲信號的特征。寄存器描述——捕獲功能寄存器捕獲控制CCR捕獲寄存器CR0~CR3定時器計數(shù)器TCCCR位功能描述復位值0CAPn.0上升沿捕獲為1時,CAPn.0引腳上0到1的跳變將導致TC的內(nèi)容裝入CR0。為0時,該特性被禁止。01CAPn.1下降沿捕獲為1時,CAPn.0引腳上1到0的跳變將導致TC的內(nèi)容裝入CR0。為0時,該特性被禁止。02CAPn.0事件中斷為1時,CAPn.0的捕獲事件將產(chǎn)生一個中斷。為0時該特性被禁止。05:3CAPn.1與CAPn.0對應位功能相同(略)08:6CAPn.2與CAPn.0對應位功能相同(略)011:9CAPn.3與CAPn.0對應位功能相同(略)0寄存器描述——捕獲功能寄存器捕獲控制CCR捕獲寄存器CR0~CR3定時器計數(shù)器TC每個捕獲寄存器都與一個或幾個器件管腳相關聯(lián)。當管腳發(fā)生特定的事件時,可將定時器計數(shù)值裝入該寄存器。捕獲控制寄存器的設定決定捕獲功能是否使能,以及捕獲事件在管腳的上升沿、下降沿或是雙邊沿發(fā)生。CR0~CR3位31:0復位值功能捕獲值0定時器操作示例定時器設置為匹配時復位計數(shù)器并產(chǎn)生中斷。預分頻設置為2,匹配寄存器設置為6。在發(fā)生匹配的定時器周期結(jié)束時,定時器計數(shù)值復位。這樣就使匹配值具有完整長度的周期。PR=2,MRx=6,匹配時使能中斷和復位預分頻計數(shù)器計數(shù)頻率為PCLK定時器計數(shù)器計數(shù)頻率為PCLK/3最后一個周期復位定時器計數(shù)器產(chǎn)生匹配中斷定時器操作示例操作流程計算定時器的計數(shù)頻率設置匹配值及工作模式設置捕獲方式設置定時器中斷VIC啟動定時器TCR定時器操作示例——匹配輸出VoidMATOut(void){PINSEL0=0x00000800;T0TC=0;T0PR=0;T0MCR=0x01;T0EMR=0xC0;T0MR1=5000;T0TCR=0x01;}C代碼:定時器設置為0設置預分頻值設置匹配后復位TC設置匹配后MAT0.1輸出翻轉(zhuǎn)輸出頻率周期控制啟動定時器0設置引腳連接模塊將引腳P0.5設置為輸出50%的方波,程序設置了MR1匹配后復位定時器,并且MAT0.1輸出電平翻轉(zhuǎn)。定時器操作示例——定時器捕獲VoidTimeCAP(void){PINSEL0=0x20;T0PR=0;T0CCR=0x02;T0TC=0;T0TCR=0x01;}C代碼:設置預分頻值為0設置為下降沿捕獲清零TC啟動定時器設置引腳連接模塊示例使用定時器對P0.2引腳的信號進行捕獲,并設置為下降沿捕獲。當有捕獲事件產(chǎn)生時自動把定時器的當前值裝載到T0CR0寄存器中。第5章目錄1.簡介2.引腳配置3.存儲器尋址4.系統(tǒng)控制模塊5.存儲器加速模塊6.外部存儲器控制器7.引腳連接模塊8.向量中斷控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定時器0/115.脈寬調(diào)制器(PWM)16.A/D轉(zhuǎn)換器17.實時時鐘18.看門狗5.15脈寬調(diào)制器特性LPC2000系列微控制器的脈寬調(diào)制器建立在獨立的32位標準定時器之上,具有如下特性:帶可編程32位預分頻的32位定時器/計數(shù)器;7個匹配寄存器,可實現(xiàn)6個單邊沿控制或3個雙邊沿控制PWM輸出,或兩者的混合輸出;脈沖周期和寬度可以是任何的定時器計數(shù)值;匹配寄存器更新與脈沖輸出同步,防止產(chǎn)生錯誤脈沖。5.15脈寬調(diào)制器PWM簡介LPC2000的PWM基于標準的定時器模塊,具有定時器的所有特性,它是定時器功能中匹配事件的功能擴展。使用PWM功能,可以在指定引腳輸出需要的波形。輸出波形可分為兩類:單邊沿輸出;雙邊沿輸出。5.15脈寬調(diào)制器PWM簡介使用兩個匹配寄存器就可以實現(xiàn)單邊沿控制的PWM輸出。其中一個匹配寄存器(PWMMR0)控制PWM周期,另一個匹配寄存器控制PWM邊沿的位置,即占空比。PWMMR0是所有PWM輸出共用的,所以每增加一路PWM輸出,實際上只要增加一個控制占空比的匹配寄存器。當PWMMR0發(fā)生匹配時,輸出都會變成高電平。——單邊沿輸出5.15脈寬調(diào)制器PWM簡介——單邊沿輸出TPWMMR0控制PWM周期其它匹配寄存器控制邊沿位置其它匹配寄存器控制邊沿位置不同占空比的單邊沿控制PWM輸出所有單邊沿輸出在周期開始時都為高電平,并在匹配發(fā)生前一直保持高電平5.15脈寬調(diào)制器PWM簡介實現(xiàn)雙邊沿輸出需要3個匹配寄存器進行控制。其中PWMMR0用于控制PWM周期,其它兩個匹配寄存器分別控制PWM輸出的前沿和后沿的位置。與單邊沿輸出一樣,PWMMR0是所有輸出共用的,所以每增加一路雙邊沿輸出,需要增加兩個匹配控制寄存器。——雙邊沿輸出5.15脈寬調(diào)制器PWM簡介T雙邊沿控制PWM輸出正負脈沖PWMMR0控制PWM周期其它匹配寄存器控制邊沿位置其它匹配寄存器控制邊沿位置——雙邊沿輸出5.15脈寬調(diào)制器PWM簡介——PWM輸出觸發(fā)關系PWM通道單邊沿PWM(PWMSELn=0)雙邊沿PWM(PWMSELn=1)置位復位置位復位1匹配0匹配1匹配0匹配12匹配0匹配2匹配1匹配23匹配0匹配3匹配2匹配34匹配0匹配4匹配3匹配45匹配0匹配5匹配4匹配56匹配0匹配6匹配5匹配6舉例說明:使用PWM通道5輸出時。如果為單邊沿輸出,那么匹配0事件置位輸出引腳,匹配5事件復位輸出引腳。如果為雙邊沿輸出,那么匹配4事件置位輸出引腳,匹配5事件復位輸出引腳。5匹配0匹配5匹配4匹配55.15脈寬調(diào)制器PWM引腳描述管腳名稱管腳方向管腳描述PWM1輸出一共有6個PWM輸出通道PWM2輸出一共有6個PWM輸出通道PWM3輸出一共有6個PWM輸出通道PWM4輸出一共有6個PWM輸出通道PWM5輸出一共有6個PWM輸出通道PWM6輸出一共有6個PWM輸出通道5.15脈寬調(diào)制器PWM寄存器描述PWM模塊的控制寄存器數(shù)量較多,但是因為它是建立在標準定時器的基礎上,所以一部分寄存器功能與定時器功能類似。所有寄存器大致可以分為兩類:基本功能寄存器匹配控制寄存器PWM寄存器描述——基本功能寄存器名稱描述訪問PWMTCRPWM定時器控制寄存器??刂芇WM定時器計數(shù)器功能(禁止或復位)。讀寫PWMTCPWM定時器計數(shù)器。為32位計數(shù)器,計數(shù)頻率為PCLK經(jīng)過預分頻計數(shù)器后的頻率值。讀寫PWMPRPWM預分頻控制寄存器。用于設定預分頻值,為32位寄存器。讀寫PWMPCPWM預分頻計數(shù)器。為32位計數(shù)器,計數(shù)頻率為PCLK,當計數(shù)值等于預分頻計數(shù)器的值時,TC計數(shù)器加一。讀寫PWMIRPWM中斷標志寄存器。讀該寄存器識別中斷源,寫該寄存器清除中斷標志。讀寫預分頻計數(shù)器PWMPC定時器計數(shù)器PWMTC預分頻寄存器PWMPR定時器控制PWMTCR中斷標志寄存器PWMIRFpclk大部分寄存器的功能與定時器部件相同,所以僅介紹與之不同的地方預分頻計數(shù)器PWMPC定時器計數(shù)器PWMTC預分頻寄存器PWMPR定時器控制PWMTCR中斷標志寄存器PWMIRFpclk預分頻計數(shù)器PWMPC定時器計數(shù)器PWMTC預分頻寄存器PWMPR定時器控制PWMTCR中斷標志寄存器PWMIRFpclkPWM定時器控制寄存器TCR用于控制定時器計數(shù)器的操作。TCR功能描述復位值0計數(shù)器使能1:定時器計數(shù)器和預分頻計數(shù)器使能計數(shù);0:定時器計數(shù)器和預分頻計數(shù)器停止計數(shù)。01計數(shù)器復位為1時,定時器計數(shù)器和預分頻計數(shù)器在PCLK的下一個上升沿同步復位。計數(shù)器在TCR的bit1恢復為0之前保持復位狀態(tài)。02保留用戶程序不要向該位寫入1NA3PWM使能為1時,PWM模式使能。為0時,PWM禁止0PWMTCRPWM寄存器描述——基本功能寄存器預分頻計數(shù)器PWMPC定時器計數(shù)器PWMTC預分頻寄存器PWMPR定時器控制PWMTCR中斷標志寄存器PWMIRFpclk寄存器描述——基本功能寄存器中斷寄存器包含11個位。其中7個位用于匹配中斷,其它的位保留。中斷發(fā)生時,對應位將被置一。向?qū)腎R位寫入1會復位中斷,寫入0無效。位功能描述位功能描述0PWMMR0匹配0中斷4:7—保留1PWMMR0匹配1中斷8PWMMR4匹配4中斷2PWMMR0匹配2中斷9PWMMR5匹配5中斷3PWMMR0匹配3中斷10PWMMR6匹配6中斷PWMIRPWM寄存器描述——匹配功能寄存器名稱描述訪問PWMMCRPWM匹配控制寄存器。用于控制匹配時是否產(chǎn)生中斷或復位TC。讀寫PWMMR0~PWMMR6PWM匹配定時器。每個寄存器對應于一個匹配值。除MR0和TC匹配會置位所有單邊沿模式下的PWM輸出外,其它的匹配事件將清零相應的單邊沿或雙邊沿PWM輸出。在雙邊沿模式下,匹配事件還將置位下一個相鄰的PWM輸出。比如PWM2發(fā)生匹配,會清零PWM2輸出,如果在雙邊沿模式下還將置位PWM3輸出。讀寫PWMPCRPWM控制寄存器。使能PWM輸出并選擇PWM通道類型為單邊沿或雙邊沿控制。讀寫PWMLERPWM鎖存使能寄存器。使能新的PWM匹配值有效。讀寫鎖存使能PWMLER定時器計數(shù)器PWMTCPWM控制PWMPCR匹配控制PWMMCR映像寄存器匹配寄存器PWMMRxPWM輸出鎖存使能PWMLER定時器計數(shù)器PWMTCPWM控制PWMPCR匹配控制PWMMCR映像寄存器匹配寄存器PWMMRxPWM輸出PWM寄存器描述——匹配功能寄存器鎖存使能PWMLER定時器計數(shù)器PWMTCPWM控制PWMPCR匹配控制PWMMCR映像寄存器匹配寄存器PWMMRxPWM輸出PWMMCR位功能描述復位值0中斷(PWMMR0)為1時,PWMMR0與PWMTC值的匹配時將產(chǎn)生中斷,該中斷被禁止。01復位(PWMMR0)為1時,PWMMR0與PWMTC值的匹配時將產(chǎn)生復位,該中斷被禁止。02停止(PWMMR0)為1時,PWMMR0與PWMTC值的匹配時將產(chǎn)生停止,該中斷被禁止。04:20PWMMR1~6功能與PWMMR0相同(略)0PWM寄存器描述——匹配功能寄存器鎖存使能PWMLER定時器計數(shù)器PWMTCPWM控制PWMPCR匹配控制PWMMCR映像寄存器匹配寄存器PWMMRxPWM輸出PWMMRxPWM匹配寄存器值連續(xù)與PWM定時器計數(shù)值相比較。當這兩個值相等時自動觸發(fā)相應動作。這些動作包括產(chǎn)生中斷、復位PWM定時器計數(shù)器或停止定時器。位31:0復位值功能設定的匹配值0PWM寄存器描述——匹配功能寄存器鎖存使能PWMLER定時器計數(shù)器PWMTCPWM控制PWMPCR匹配控制PWMMCR映像寄存器匹配寄存器PWMMRxPWM輸出PWM鎖存使能寄存器用于控制PWM匹配寄存器的更新。在產(chǎn)生PWM時,為了保證一個周期的完整,在更改PWM匹配寄存器之后,并不能立即生效。而是在MR0發(fā)生匹配并且PWMLER中的相應位置位時才能使修改值生效。PWMLERPWM寄存器描述——匹配功能寄存器鎖存使能PWMLER定時器計數(shù)器PWMTCPWM控制PWMPCR匹配控制PWMMCR映像寄存器匹配寄存器PWMMRxPWM輸出PWMLER位功能描述復位值0使能PWM匹配0鎖存該位置位后,寫入PWM匹配寄存器0(PWMMR0)的值才能在MR0發(fā)生匹配事件后生效。06:1使能PWM匹配1~6鎖存功能同上,只是分別對應匹配1到匹配6。07保留用戶程序不要向該位寫入1。NAPWM寄存器描述——匹配功能寄存器鎖存使能PWMLER定時器計數(shù)器PWMTCPWM控制PWMPCR匹配控制PWMMCR映像寄存器匹配寄存器PWMMRxPWM輸出PWMPCRPWM匹配控制寄存器用于使能并選擇每個PWM通道的類型。PWM寄存器描述——匹配功能寄存器PWMPCR位功能描述復位值1:0保留用戶程序不要向這些位寫入1。NA2PWMSEL2為0時,PWM2通道選擇單邊沿控制模式。為1選擇雙邊沿模式。03PWMSEL3功能同上,控制PWM3通道的輸出模式。04PWMSEL4功能同上,控制PWM4通道的輸出模式。05PWMSEL5功能同上,控制PWM5通道的輸出模式。06PWMSEL6功能同上,控制PWM6通道的輸出模式。08:7保留用戶程序不要向這些位寫入1。NA9PWMENA1為1時,使能PWM1輸出;為0時禁止。010PWMENA2為1時,使能PWM2輸出;為0時禁止。011PWMENA3為1時,使能PWM3輸出;為0時禁止。012PWMENA4為1時,使能PWM4輸出;為0時禁止。013PWMENA5為1時,使能PWM5輸出;為0時禁止。014PWMENA6為1時,使能PWM6輸出;為0時禁止。015保留用戶程序不要向這些位寫入1。NA5.15脈寬調(diào)制器使用PWM的注意要點修改匹配寄存器之后,必須設置鎖存使能寄存器中的相應位,否則匹配寄存器的值不能生效;修改匹配寄存器時,不需要停止PWM定時器,以免產(chǎn)生無完整的PWM波形;不使用PWM功能時,可將該部件作為一個標準的32位定時器使用;PWMTC計數(shù)頻率=Fpclk/(PWMPR+1)PWM使用示例操作流程連接PWM輸出功能引腳設置預分頻值設置匹配值設置PWM輸出方式啟動PWM定時器PWM使用示例VoidPWM1Out(uint16FREQ){PINSEL0&=0xFFFFFFFC;PINSEL0|=0x00000002;PWMPCR=0x200;PWMMCR=0x02;PWMPR=0x00;PWMMR0=Fpclk/FREQ;PWMMR1=PWMMR0/2;PWMLER=0x03;PWMTCR=0x09;}PWM1輸出50%占空比方波輸出頻率,單位Hz設置引腳連接模塊連接PWM1輸出使能PWM1輸出MR0匹配后復位定時器設置預分頻值為0設置PWM周期設置占空比為50%使能PWM匹配鎖存使能PWM,啟動定時器——單邊沿輸出PWM使用示例VoidPWM2Out(uint16FREQ){PINSEL0&=0xFFFF3FFF;PINSEL0|=0x00008000;PWMPCR=0x404;PWMMCR=0x02;PWMPR=0x00;PWMMR0=Fpclk/FREQ;PWMMR1=PWMMR0/5;PWMMR2=PWMMR1*2;PWMLER=0x07;PWMTCR=0x09;}PWM2雙邊沿控制輸出輸出頻率,單位Hz設置引腳連接模塊連接PWM1輸出設置PWM2雙邊沿輸出MR0匹配后復位定時器設置預分頻值為0設置PWM周期設置前沿在周期的1/5處設置后沿在周期的2/5處使能PWM匹配鎖存使能PWM,啟動定時器——雙邊沿輸出第5章目錄1.簡介2.引腳配置3.存儲器尋址4.系統(tǒng)控制模塊5.存儲器加速模塊6.外部存儲器控制器7.引腳連接模塊8.向量中斷控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定時器0/115.脈寬調(diào)制器(PWM)16.A/D轉(zhuǎn)換器17.實時時鐘18.看門狗5.16A/D轉(zhuǎn)換器特性LPC2114/2124具有一個AD轉(zhuǎn)換器,LPC2200系列具有兩個AD轉(zhuǎn)換器,它們具有如下特性:10位逐次逼近式模式轉(zhuǎn)換器;測量范圍:0~3.3V;10位轉(zhuǎn)換事件>=2.44us;可設置AD轉(zhuǎn)換觸發(fā)方式;具有掉電模式。5.16A/D轉(zhuǎn)換器A/D轉(zhuǎn)換器描述A/D轉(zhuǎn)換器的基本時鐘由VPB時鐘提供??删幊谭诸l器可將時鐘調(diào)整至逐步逼近轉(zhuǎn)換所需的4.5MHz(最大)。如要要得到10位精度的結(jié)果,需要11個A/D轉(zhuǎn)換時鐘。A/D轉(zhuǎn)換器的參考電壓來自V3A和VSSA引腳。5.16A/D轉(zhuǎn)換器A/D轉(zhuǎn)換器描述引腳名稱類型引腳描述AIN7~AIN0輸入模擬輸入。A/D轉(zhuǎn)換器單元可分時測量這8個引腳上的輸入信號電壓。即使這些引腳設置為GPIO功能,仍可以使用A/D轉(zhuǎn)換器部件。V3A,VSSA電源模擬電源和地。它們分別與標稱的V3和VSSD的電壓相同,但為了降低噪聲和出錯幾率,兩者應當隔離。轉(zhuǎn)換器的VrefP和VrefN信號在內(nèi)部與這兩個電源信號相連。A/D引腳描述5.16A/D轉(zhuǎn)換器A/D轉(zhuǎn)換器內(nèi)部結(jié)構(gòu)…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…A/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…名稱描述訪問復位值ADCRA/D控制寄存器。A/D轉(zhuǎn)換開始前,必須設置ADCR寄存器來選擇工作模式。讀寫0x0000001ADDRA/D數(shù)據(jù)寄存器。該寄存器包含ADC的結(jié)束標志位和10位的轉(zhuǎn)換結(jié)果(當結(jié)束標志位為1時,轉(zhuǎn)換結(jié)果才是有效的)。讀寫NAA/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL——控制寄存器SEL:從AIN3~AIN0(LPC2114/2124)或AIN7~AIN0(LPC2212/2214)中選擇采樣和轉(zhuǎn)換輸入引腳。Bit0控制AIN0,bit1控制AIN1,依此類推。1:對應輸入端被選中;0:對應輸入端未選中;注意:軟件模式下只能置位其中一位,硬件模式下可以是任意組合。A/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL——控制寄存器0123456700000000位值AIN0AIN1AIN2AIN3AIN4AIN5AIN6AIN7A/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL——控制寄存器CLKDIV:將VPB時鐘(PCLK)進行分頻,得到AD轉(zhuǎn)換時鐘。分頻后的時鐘必須小于或等于4.5MHz。通常將CLKDIV編程為允許的最小值,以獲得4.5MHz或稍低于4.5MHz的時鐘。A/D轉(zhuǎn)換器時鐘=PCLK/(CLKDIV+1)A/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL——控制寄存器BURST:BURST/軟件方式控制。當該位為0時,選擇軟件方式啟動AD轉(zhuǎn)換,需要11個時鐘才能完成。當該位為1時,選擇BURST(突發(fā))模式啟動AD轉(zhuǎn)換,所需時鐘數(shù)由CLK字段控制。BURST模式下,對所有在SEL字段中置1的位對應的輸入端進行轉(zhuǎn)換,首先轉(zhuǎn)換的是最低有效位。然后是更高的位。如此周而復始,直至該位清零。A/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL——控制寄存器0123456700110110位值AIN0AIN1AIN2AIN3AIN4AIN5AIN6AIN7首先轉(zhuǎn)換最低有效位再轉(zhuǎn)換更高的有效位AIN2AIN3AIN5AIN6A/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL——控制寄存器CLKS:控制BURST模式下每次轉(zhuǎn)換需要使用的時鐘數(shù)和所得ADDR轉(zhuǎn)換結(jié)果的LS位中可確保精度的位的數(shù)目,CLKS可在11個時鐘(10位)~4個時鐘(3位)之間選擇:000=11個時鐘/10位,001=10個時鐘/9位,…111=4個時鐘/3位。A/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL——控制寄存器PDN:控制AD部件是否工作。1:A/D轉(zhuǎn)換器處于正常工作模式; 0:A/D轉(zhuǎn)換器處于掉電模式;A/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL——控制寄存器TEST1:0:器件測試控制位。 00:正常模式; 01:數(shù)字測試模式; 10:DAC測試模式; 11:一次轉(zhuǎn)換測試模式;A/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL——控制寄存器START:該字段用于控制AD轉(zhuǎn)換的啟動方式,該字段只有在BURST為0時有效。000:不啟動; 001:立即啟動轉(zhuǎn)換; 010:P0.16引腳出現(xiàn)預置的電平時,啟動AD轉(zhuǎn)換。以下值也具有相同特性;011:P0.22引腳; 100:MAT0.1引腳; 101:MAT0.3引腳;110:MAT1.0引腳; 111:MAT1.1引腳;A/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL——控制寄存器EDGE:當START字段的值為010~111時,該位的設置有效。 0:在所選CAP/MAT信號的下降沿啟動轉(zhuǎn)換 1:在所選CAP/MAT信號的上升沿啟動轉(zhuǎn)換A/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…位313029:2726:2423:1615:65:0功能DONEOVERUN0CHN0V/VddA0——數(shù)據(jù)寄存器0:這些位讀出時為0。用于未來擴展功能更強大的AD轉(zhuǎn)換器。ADDRA/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…位313029:2726:2423:1615:65:0功能DONEOVERUN0CHN0V/VddA0——數(shù)據(jù)寄存器V/VddA:當DONE位為1時,該字段包含對SEL字段選中的Ain腳的轉(zhuǎn)換結(jié)果,為一個二進制數(shù)。轉(zhuǎn)換結(jié)果為0時,表示Ain引腳電平小于、等于或接近于VSSA。為0x3FF時,表示Ain引腳電平等于、大于或接近于VddA。輸入電壓計算公式為:Vin=結(jié)果×(VSSA/0x3FF)ADDRA/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…位313029:2726:2423:1615:65:0功能DONEOVERUN0CHN0V/VddA0——數(shù)據(jù)寄存器0:這些位讀出時為0。它們允許連續(xù)A/D值的累加,而不需要屏蔽處理,使得至少有256個值不會溢出到CHN字段。ADDRA/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…位313029:2726:2423:1615:65:0功能DONEOVERUN0CHN0V/VddA0——數(shù)據(jù)寄存器CHN:該字段包含的是LS位的轉(zhuǎn)換通道。ADDRA/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…位313029:2726:2423:1615:65:0功能DONEOVERUN0CHN0V/VddA0——數(shù)據(jù)寄存器0:這些位讀出為0。用于未來CHN字段的擴展,使之兼容更多通道的轉(zhuǎn)換值。ADDRA/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…位313029:2726:2423:1615:65:0功能DONEOVERUN0CHN0V/VddA0——數(shù)據(jù)寄存器OVERUN:在BURST模式下,如果在轉(zhuǎn)換產(chǎn)生最低位之前,以前轉(zhuǎn)換的結(jié)果丟失或被覆蓋,該位將置位。讀ADDR寄存器時,該位清零。ADDRA/D轉(zhuǎn)換器寄存器描述…ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時鐘VICAIN0AIN1AIN7…位313029:2726:2423:1615:65:0功能DONEOVERUN0CHN0V/VddA0——數(shù)據(jù)寄存器DONE:AD轉(zhuǎn)換完成標志位。當AD轉(zhuǎn)換結(jié)束時該位置位。在讀取ADDR或ADCR被寫入時,該位清零。如果在轉(zhuǎn)換過程中,設置了ADCR,那么該位將置位,并啟動一次新的轉(zhuǎn)換。ADDR5.16A/D轉(zhuǎn)換器使用A/D轉(zhuǎn)換器的注意要點AD轉(zhuǎn)換器的時鐘不能大于4.5MHz;使用MAT引腳觸發(fā)AD轉(zhuǎn)換啟動時,相應的MAT信號不必輸出到引腳。使用MAT引腳觸發(fā)的方法,可以實現(xiàn)AD轉(zhuǎn)換定時啟動;BURST模式下,每次轉(zhuǎn)換結(jié)束后立即開始下一路的轉(zhuǎn)換,所以BURST模式具有最高的效率;軟件模式下,SEL字段中只能有一位置位,如果多位置位,將使用最低有效位。A/D轉(zhuǎn)換器操作示例操作流程計算ADC部件時鐘設置引腳連接模塊設置AD工作模式啟動AD轉(zhuǎn)換等待轉(zhuǎn)換結(jié)束讀取轉(zhuǎn)換結(jié)果A/D轉(zhuǎn)換器操作示例#defineADCLK4500000//定義AD部件時鐘頻率,單位:Hz#defineADBIT10//定義BURST模式下的轉(zhuǎn)換精度#defineADBIT2(10-ADBIT)...PINSEL1=(PINSEL1&0xFC3FFFFF)|0x00400000;ADCR=(0x01<<27)|//EDGE(0x05<<24)|//START(0x00<<22)|//TEST1:0(0x01<<21)|//PDN(ADBIT2<<17)|//CLKS(0x00<<16)|//BUREST((Fpclk/ADCLK-1)<<8)|//CLKDIV(0x01<<0);//SELADCR|=(1<<24);While((ADDR&0x80000000)!=0);ADCData=(ADDR>>6)&0x3FF;...使用軟件方式對Ain0轉(zhuǎn)換:設置引腳連接模塊硬件觸發(fā)邊沿設置AD啟動設置測試模式設置AD部件上電設置BURST模式精度BURST模式使能啟動AD轉(zhuǎn)換等待轉(zhuǎn)換結(jié)束讀取轉(zhuǎn)換結(jié)果轉(zhuǎn)換通道選擇ADC部件時鐘第5章目錄1.簡介2.引腳配置3.存儲器尋址4.系統(tǒng)控制模塊5.存儲器加速模塊6.外部存儲器控制器7.引腳連接模塊8.向量中斷控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定時器0/115.脈寬調(diào)制器(PWM)16.A/D轉(zhuǎn)換器17.實時時鐘18.看門狗5.17實時時鐘特性LPC2000系列微控制器內(nèi)部集成了一個功能完整的實時時鐘模塊,它具有如下特性:帶有日歷和時鐘功能;超低功耗設計;提供秒、分、小時、日、月、年和星期;可編程基準時鐘分頻器允許調(diào)節(jié)RTC以適應不同的晶振頻率。5.17實時時鐘描述實時時鐘(RTC)提供一套計數(shù)器在系統(tǒng)工作時對時間進行測量。RTC消耗的功率非常低,這使其適合于由電池供電的,CPU不連續(xù)工作(空閑模式)的系統(tǒng)。注意:由于LPC2000系列微控制器的RTC模塊沒有獨立的時鐘源,它使用的時鐘頻率是通過對Fpclk分頻得到,所以CPU不能進入掉電模式。5.17實時時鐘RTC內(nèi)部結(jié)構(gòu)時鐘發(fā)生器預分頻器時間計數(shù)器報警控制=時鐘控制增量中斷控制中斷標志報警寄存器PCLK產(chǎn)生秒時鐘時間寄存器組與報警設定值進行比較有兩類中斷,一種是時間增量中斷,一種是報警中斷時鐘發(fā)生器預分頻器時間計數(shù)器報警控制=時鐘控制增量中斷控制中斷標志報警寄存器PCLK寄存器描述時鐘發(fā)生器預分頻器時間計數(shù)器報警控制=時鐘控制增量中斷控制中斷標志報警寄存器PCLK時間計數(shù)器時鐘發(fā)生器預分頻器時鐘控制報警控制增量中斷控制中斷標志報警寄存器所有寄存器大致可以分為三類:時鐘產(chǎn)生寄存器;時間寄存器組;中斷產(chǎn)生控制;寄存器描述時間計數(shù)器=時鐘發(fā)生器預分頻器時鐘控制報警控制增量中斷控制中斷標志報警寄存器PCLK時鐘產(chǎn)生寄存器組控制產(chǎn)生RTC時間計數(shù)器需要的秒時鐘信號?!獣r鐘產(chǎn)生寄存器組名稱有效位描述訪問PREINT13預分頻值,整數(shù)部分讀寫PREFRAC15預分頻值,小數(shù)部分讀寫CCR4時鐘節(jié)拍計數(shù)器讀寫CTC15時鐘控制寄存器只讀寄存器描述——預分頻寄存器名稱有效位描述訪問PREINT13預分頻值,整數(shù)部分讀寫PREFRAC15預分頻值,小數(shù)部分讀寫CCR4時鐘節(jié)拍計數(shù)器讀寫CTC15時鐘控制寄存器只讀名稱有效位描述訪問PREINT13預分頻值,整數(shù)部分讀寫PREFRAC15預分頻值,小數(shù)部分讀寫CCR4時鐘節(jié)拍計數(shù)器讀寫CTC15時鐘控制寄存器只讀PREINT13預分頻值,整數(shù)部分讀寫PREFRAC15預分頻值,小數(shù)部分讀寫預分頻器用于將任何頻率高于65.536KHz的PCLK時鐘分頻產(chǎn)生32.768KHz的基準時鐘。這樣就可以不管外設時鐘的頻率為多少,RTC總是以正確的速率運行。預分頻寄存器分為整數(shù)部分和小數(shù)部分,因此有可能某個時鐘節(jié)拍多包含一個PCLK周期,而某個節(jié)拍卻少一個PCLK周期。但是每個時鐘節(jié)拍的周期一定是32768個PCLK周期。寄存器描述預分頻整數(shù)部分為13位有效位,小數(shù)部分為15位有效位。預分頻整數(shù)部分的計算公式為:

PREINT=int(PCLK/32768)–1預分頻小數(shù)部分的計算公式為:

PREFRAC=PCLK–((PREINT+1)×32768)——預分頻寄存器名稱有效位描述訪問PREINT13預分頻值,整數(shù)部分讀寫PREFRAC15預分頻值,小數(shù)部分讀寫CCR4時鐘節(jié)拍計數(shù)器讀寫CTC15時鐘控制寄存器只讀PREINT13預分頻值,整數(shù)部分讀寫PREFRAC15預分頻值,小數(shù)部分讀寫寄存器描述——時鐘控制寄存器名稱有效位描述訪問PREINT13預分頻值,整數(shù)部分讀寫PREFRAC15預分頻值,小數(shù)部分讀寫CCR4時鐘節(jié)拍計數(shù)器讀寫CTC15時鐘計數(shù)寄存器只讀時鐘控制寄存器包含4位有效位,它用于控制時鐘分頻電路的操作,包括啟動RTC和復位時鐘節(jié)拍計數(shù)器(CTC)等功能。CCR4時鐘控制寄存器讀寫位功能描述0CLKEN時鐘使能。當該位為1時,時間計數(shù)器使能。為0時,時間計數(shù)器被禁止,這時可對其初始化。1CTCRSTCTC復位。為1時,時鐘節(jié)拍計數(shù)器復位。在CCR的bit1變?yōu)?之前,它將一直保持復位狀態(tài)。3:2CTTEST測試使能。在正常操作中,這些位應當全為0。寄存器描述——時鐘計數(shù)寄存器名稱有效位描述訪問PREINT13預分頻值,整數(shù)部分讀寫PREFRAC15預分頻值,小數(shù)部分讀寫CCR4時鐘節(jié)拍計數(shù)器讀寫CTC15時鐘計數(shù)寄存器只讀時鐘節(jié)拍計數(shù)器對預分頻器的輸出時鐘進行計數(shù),用于產(chǎn)生秒的時鐘節(jié)拍。它是一個只讀寄存器,但它可通過時鐘控制寄存器(CCR)復位為0。CTC15時鐘計數(shù)寄存器只讀位功能描述0保留用戶程序不要向該位寫入115:1時鐘節(jié)拍計數(shù)器對預分頻器的時鐘輸出進行計數(shù),每計滿32768個時鐘,該寄存器復位,并向時間計數(shù)器發(fā)送一個秒脈沖寄存器描述時間計數(shù)器=時鐘發(fā)生器預分頻器時鐘控制報警控制增量中斷控制中斷標志報警寄存器PCLK時間計數(shù)器組中包含當前的時間,它們分為兩類:完整時間寄存器和分類時間寄存器?!獣r間計數(shù)器寄存器描述時間計數(shù)器=時鐘發(fā)生器預分頻器時鐘控制報警控制增量中斷控制中斷標志報警寄存器PCLK——時間計數(shù)器名稱有效位描述CTIME032包含秒、分、時和星期。CTIME132包含日期(月)、月和年CTIME232包含日期(年)在完整時間寄存器中,時間以一個比較完整的格式存儲,程序只需要3次讀操作即可讀出所有計數(shù)器值。這些寄存器為只讀寄存器。寄存器描述——時間計數(shù)器名稱有效位描述CTIME032包含秒、分、時和星期。CTIME132包含日期(月)、月和年CTIME232包含日期(年)(0~59)—(0~59)—(0~23)—(0~6)—取值范圍秒保留分保留小時保留星期保留功能5:07:613:815:1430:1623:2126:2431:27CTIME0(1~28,29,30)—(1~12)—(0~4095)—取值范圍日期(月)保留月保留年保留功能4:07:511:815:1227:1631:28CTIME1(1~365,366)—取值范圍日期(年)保留功能8:031:9CTIME2這兩個寄存器意義不同,(月)表示當日在當月中的序號,(年)表示當日在當年中的序號寄存器描述——時間計數(shù)器分類時間寄存器包含8個寄存器,所有寄存器都可讀可寫。名稱有效位描述SEC6秒值。該值的范圍為0~59。MIN6分值。該值的范圍為0~59。HOUR5小時值。該值的范圍為0~23。DOM5日期(月)值。該值的范圍為1~28,29,30或31(取決于月份以及是否為閏年)。DOW3星期值。該值的范圍為1~365(閏年為366)。DOY9日期(年)值。該值的范圍為1~365。MONTH4月值。該值的范圍為1~12。YEAR12年值。該值的范圍為0~4095。名稱有效位描述SEC6秒值。該值的范圍為0~59。MIN6分值。該值的范圍為0~59。HOUR5小時值。該值的范圍為0~23。DOM5日期(月)值。該值的范圍為1~28,29,30或31(取決于月份以及是否為閏年)。DOW3星期值。該值的范圍為1~365(閏年為366)。DOY9日期(年)值。該值的范圍為1~365。MONTH4月值。該值的范圍為1~12。YEAR12年值。該值的范圍為0~4095。注意:這些日期的寄存器只能在適當?shù)臅r間間隔處遞增,而在定義的溢出點處復位。為了使這些值有意義,它們不能進行計算且必須正確初始化。其中DOY寄存器需要單獨初始化,也就是說該寄存器的值不會因為對年、月、日寄存器進行初始化而自動確定到一個正確的值。寄存器描述時間計數(shù)器=時鐘發(fā)生器預分頻器時鐘控制報警控制增量中斷控制中斷標志報警寄存器PCLKRTC部件的中斷分為兩類,一類為時間計數(shù)器的增量中斷,由增量中斷寄存器控制。另一類為報警匹配產(chǎn)生的中斷,由報警屏蔽寄存器控制?!袛喈a(chǎn)生寄存器名稱描述訪問ILR中斷位置寄存器讀寫CIIR遞增中斷寄存器讀寫AMR報警屏蔽寄存器讀寫報警寄存器組設定報警時間讀寫寄存器描述——中斷產(chǎn)生寄存器名稱描述訪問ILR中斷位置寄存器讀寫CIIR遞增中斷寄存器讀寫AMR報警屏蔽寄存器讀寫報警寄存器組設定報警時間讀寫名稱描述訪問ILR中斷位置寄存器讀寫CIIR遞增中斷寄存器讀寫AMR報警屏蔽寄存器讀寫報警寄存器組設定報警時間讀寫名稱描述訪問ILR中斷位置寄存器讀寫CIIR遞增中斷寄存器讀寫AMR報警屏蔽寄存器讀寫報警寄存器組設定報警時間讀寫位功能描述0RTCCIF為1時,表示計數(shù)器增量中斷模塊產(chǎn)生了中斷。向該位寫入1清除該中斷標志。1RTCALF為1時,表示報警寄存器產(chǎn)生了中斷。向該位寫入1清除該中斷標志位。中斷位置寄存器是一個2位的寄存器,它指出哪些模塊產(chǎn)生中斷,它實際上是一個中斷標志寄存器。寄存器描述——中斷產(chǎn)生寄存器名稱描述訪問ILR中斷位置寄存器讀寫CIIR遞增中斷寄存器讀寫AMR報警屏蔽寄存器讀寫報警寄存器組設定報警時間讀寫計數(shù)器增量中斷寄存器可使計數(shù)器每次增加時產(chǎn)生一次中斷,比如設置秒增加中斷為1,則每秒均產(chǎn)生一次中斷。在清除增量中斷標志之前,該中斷一直保持有效。寄存器描述——中斷產(chǎn)生寄存器名稱描述訪問ILR中斷位置寄存器讀寫CIIR遞增中斷寄存器讀寫AMR報警屏蔽寄存器讀寫報警寄存器組設定報警時間讀寫CIIR功能描述0IMSEC為1時,秒值的增加產(chǎn)生一次中斷。1IMMIN為1時,分值的增加產(chǎn)生一次中斷。2IMHOUR為1時,小時值的增加產(chǎn)生一次中斷。3IMDOM為1時,日期(月)的增加產(chǎn)生一次中斷。4IMDOW為1時,星期值的增加產(chǎn)生一次中斷。5IMDOY為1時,日期(年)的增加產(chǎn)生一次中斷。6IMMON為1時,月值的增加產(chǎn)生一次中斷。7IMYEAR為1時,年值的增加產(chǎn)生一次中斷。寄存器描述——中斷產(chǎn)生寄存器名稱描述訪問ILR中斷位置寄存器讀寫CIIR遞增中斷寄存器讀寫AMR報警屏蔽寄存器讀寫報警寄存器組設定報警時間讀寫報警屏蔽寄存器允許用戶屏蔽任意的報警寄存器,被屏蔽的報警寄存器將不與時間計數(shù)器比較。未被屏蔽的報警寄存器與時間計數(shù)器比較如果匹配,將產(chǎn)生中斷。該中斷只有在從不匹配到匹配時才發(fā)生,可以避免中斷重復。注意:如果所有屏蔽位都置位,報警將被禁止。寄存器描述——中斷產(chǎn)生寄存器名稱描述訪問ILR中斷位置寄存器讀寫CIIR遞增中斷寄存器讀寫AMR報警屏蔽寄存器讀寫報警寄存器組設定報警時間讀寫AMR功能描述0AMRSEC為1時,秒值不與報警寄存器比較。1AMRMIN為1時,分值不與報警寄存器比較。2AMRHOUR為1時,小時值不與報警寄存器比較。3AMRDOM為1時,日期(月)值不與報警寄存器比較。4AMRDOW為1時,星期值不與報警寄存器比較。5AMRDOY為1時,日期(年)值不與報警寄存器比較。6AMRMON為1時,月值不與報警寄存器比較。7AMRYEAR為1時,年值不與報警寄存器比較。寄存器描述——中斷產(chǎn)生寄存器名稱描述訪問ILR中斷位置寄存器讀寫CIIR遞增中斷寄存器讀寫AMR報警屏蔽寄存器讀寫報警寄存器組設定報警時間讀寫報警寄存器的值與時間計數(shù)器相比較,如果所有未被屏蔽的報警寄存器都與它們對應的時間計數(shù)器相匹配,那么將產(chǎn)生一次中斷。向中斷位置寄存器的bit1寫入1清除中斷。名稱描述訪問ALSEC秒報警值讀寫ALMIN分報警值讀寫ALHOUR小時報警值讀寫ALDOM日期(月)報警值讀寫ALDOW星期報警值讀寫ALDOY日期(年)報警值讀寫ALMON月報警值讀寫ALYEAR年報警值讀寫寄存器描述——中斷產(chǎn)生寄存器名稱描述訪問ILR中斷位置寄存器讀寫CIIR遞增中斷寄存器讀寫AMR報警屏蔽寄存器讀寫報警寄存器組設定報警時間讀寫5.17實時時鐘使用RTC的注意要點RTC部件使用VPB時鐘,如果該時鐘出現(xiàn)任何的異常都會導致時間值的偏移,所以芯片不能進入掉電模式;芯片掉電后RTC不能保持寄存器的內(nèi)容;芯片復位后只有預分頻寄存器被硬件初始化,其它寄存器的內(nèi)容不受復位影響;RTC部件的閏年計算比較簡單,當年計數(shù)器的最低兩位為0時,認為該年為閏年,這在2100年時會出錯。閏年影響2月份的日期數(shù)和年的日期數(shù)。RTC使用示例設置RTC基準時鐘分頻器初始化RTC時鐘值報警中斷設置啟動RTC讀取當前時間或等待中斷操作流程VoidRTCIni(void){PREINT=Fpclk/32768–1;PREFRAC=Fpclk–(Fpclk/32768)*32768;YEAR=200;MONTH=2;DOM=19;DOW=4;HOUR=8;MIN=30;SEC=0;CIIR=0x01;CCR=0x01;}RTC使用示例設置預分頻寄存器設置年設置月設置日(月)設置星期設置小時設置分設置秒設置增量中斷啟動RTC——RTC初始化示例...ILR=0x03; //清除RTC中斷標志CIIR=0x02; //設置分值增量中斷ALHOUR=12; //設置小時比較值ALMIN=0; //設置分比較值ALSEC=0;//設置秒比價值AMR=0xF8;//設置報警屏蔽寄存器 //只允許時、分、秒比較...RTC使用示例——RTC定時報警設置第5章目錄1.簡介2.引腳配置3.存儲器尋址4.系統(tǒng)控制模塊5.存儲器加速模塊6.外部存儲器控制器7.引腳連接模塊8.向量中斷控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定時器0/115.脈寬調(diào)制器(PWM)16.A/D轉(zhuǎn)換器17.實時時鐘18.看門狗5.18看門狗看門狗簡介在嵌入式應用中,CPU必須可靠工作,即使因為某種原因進入了一個錯誤狀態(tài),系統(tǒng)也應該可以自動恢復??撮T狗的用途就是使微控制器在進入錯誤狀態(tài)后的一定時間內(nèi)復位。其原理是在系統(tǒng)正常工作時,用戶程序每隔一段時間執(zhí)行喂狗動作(一些寄存器的特定操作),如果系統(tǒng)出錯,喂狗間隔超過看門狗溢出時間,那么看門狗將會產(chǎn)生復位信號,使微控制器

溫馨提示

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

評論

0/150

提交評論