第4章 LPC2000系列ARM硬件結(jié)構(gòu)(14~18)課件_第1頁
第4章 LPC2000系列ARM硬件結(jié)構(gòu)(14~18)課件_第2頁
第4章 LPC2000系列ARM硬件結(jié)構(gòu)(14~18)課件_第3頁
第4章 LPC2000系列ARM硬件結(jié)構(gòu)(14~18)課件_第4頁
第4章 LPC2000系列ARM硬件結(jié)構(gòu)(14~18)課件_第5頁
已閱讀5頁,還剩150頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 1.LPC2000系列簡介 2.引腳描述 3.存儲(chǔ)器尋址 4.系統(tǒng)控制模塊 5.存儲(chǔ)器加速模塊 (MAM) 6.外部存儲(chǔ)器控制器(EMC) 7.引腳連接模塊 8. GPIOLPC2000系列ARM硬件結(jié)構(gòu) 9. 向量中斷控制器 10.外部中斷輸入 11.定時(shí)器0和定時(shí)器1 12. SPI接口 13. I2C接口 14. UART(0、1) 15. A/D轉(zhuǎn)換器 16. 看門狗 17. 脈寬調(diào)制器(PWM) 18. 實(shí)時(shí)時(shí)鐘4.14 UART(0、1) 特性 LPC2000系列微控制器具有兩個(gè)功能強(qiáng)大的UART,其特性如下: 16字節(jié)接收FIFO和16字節(jié)發(fā)送FIFO; 寄存器位置符合16C5

2、50工業(yè)標(biāo)準(zhǔn); 接收FIFO觸發(fā)點(diǎn)可設(shè)置為1、4、8或14字節(jié); 內(nèi)置波特率發(fā)生器; UART1含有標(biāo)準(zhǔn)調(diào)制解調(diào)器接口信號(hào) 。 應(yīng)用示例LPC2000的I/O電壓為3.3V,連接時(shí)須注意電平的匹配。LPC2000其它通信設(shè)備TxD0RxD0TxD0RxD0與PC機(jī)相連時(shí),由于PC機(jī)串口是RS232電平,所以連接時(shí)需要使用RS232轉(zhuǎn)換器。LPC2000PC機(jī)串口232電平轉(zhuǎn)換TxD0RxD0TxD0RxD0RxD1RTSCTSDSR1DTR1TxD1LPC2000ModemTxDRxDDCDRI1RTSCTSDSR1DTR1DCD1RI1RS232電平轉(zhuǎn)換當(dāng)使用Modem接口時(shí),需要一個(gè)RS2

3、32轉(zhuǎn)換器將信號(hào)轉(zhuǎn)換為RS232電平后,才能與Modem連接 。移位寄存器UnRSR接收緩沖寄存器UnRBRUARTn接收單元RxDn除數(shù)鎖存寄存器UnDLL、UnDLMUARTn波特率發(fā)生器UARTn控制寄存器(UnLCR)FIFO控制寄存器(UnFCR)UARTn狀態(tài)寄存器(UnLSR)中斷中斷使能寄存器UnIER中斷標(biāo)志寄存器UnIIRUARTn高速緩存寄存器UnSCR發(fā)送緩沖寄存器UnTHRUARTn發(fā)送單元TxDn移位寄存器UnTSRMODEMModem控制寄存器U1MCRModem狀態(tài)寄存器U1MSRCTSDSRDCDDTRRIRTSVPB總總線線只有UART1才有Modem接口

4、UART結(jié)構(gòu)圖VPB總總線線AHB-VPB橋ARM7UARTn發(fā)送單元TxDn移位寄存器UnTSR發(fā)送緩沖寄存器UnTHRAHB總線ARM7AHB總線UARTn發(fā)送單元TxDn移位寄存器UnTSR發(fā)送緩沖寄存器UnTHRVPB總總線線AHB-VPB橋CPUUnTSRTXDUnTHRUnTHR描述復(fù)位值7 : 0發(fā)送器保持寄存器。寫入該寄存器的值保存到發(fā)送FIFO中,當(dāng)該字節(jié)到達(dá)FIFO底部時(shí),它將被送入發(fā)送移位寄存器(UnTSR)進(jìn)行發(fā)送。未定義 UART發(fā)送單元 UART0、UART1各含有1個(gè)16字節(jié)的發(fā)送FIFO緩沖區(qū)。 UnTHR是UARTn發(fā)送FIFO的最高字節(jié)。 UART的發(fā)送FI

5、FO是一直使能的。發(fā)送FIFOUnTHRUnTSRTXD UART發(fā)送FIFO緩沖區(qū)VPB總總線線AHB-VPB橋ARM7AHB總線移位寄存器UnRSR接收緩沖寄存器UnRBRUARTn接收單元RxDnVPB總總線線AHB-VPB橋移位寄存器UnRSR接收緩沖寄存器UnRBRUARTn接收單元RxDnARM7AHB總線RXDUnRBRCPUUnRSRUnRBR描述復(fù)位值7 : 0接收緩存寄存器,它包含了接收FIFO中最早接收到的字節(jié)未定義 UART接收模塊 UART0、UART1各含有1個(gè)16字節(jié)的接收FIFO緩沖區(qū)。 軟件設(shè)置接收FIFO緩沖區(qū)的觸發(fā)字節(jié)。 UART FIFO控制寄存器控制寄

6、存器位765 : 3210功能Rx觸發(fā)點(diǎn)設(shè)置復(fù)位TxFIFO復(fù)位RxFIFO使能FIFO接收FIFOUnRSRUnRBRRXDUnFCR UART接收FIFO緩沖區(qū)UARTUART線狀態(tài)寄存器線狀態(tài)寄存器位76543210功能RXFETEMTTHREBIFEPEOERDR UART線狀態(tài)寄存器UnLSR 線狀態(tài)寄存器(UnLSR)為只讀寄存器,它提供UARTn發(fā)送和接收模塊的狀態(tài)信息 。 4.14 UART(0、1) UART波特率發(fā)生器 UART0和UART1各含有一個(gè)單獨(dú)的波特率發(fā)生器,兩者的功能相同,且相互獨(dú)立。 4.14 UART(0、1)名稱描述復(fù)位值UnDLL7:0除數(shù)鎖存寄存器低

7、字節(jié)兩個(gè)寄存器一起構(gòu)成一個(gè)16位的除數(shù),決定UARTn的波特率。未定義UnDLM7:0除數(shù)鎖存寄存器高字節(jié) 這兩個(gè)寄存器決定波特率時(shí)鐘的頻率,而波特率時(shí)鐘必須是波特率的16倍。波特率計(jì)算公式如下:BaudRate = FPCLK / (U0DLM,U0DLL16) Modem控制寄存器U1MCR位功能功能描述0DTR控制選擇Modem輸出引腳DTR。該位在回寫模式激活時(shí)讀出為0。1RTS控制選擇Modem輸出引腳RTS。該位在回寫模式激活時(shí)讀出為0。3 : 2保留用戶軟件不要向該位寫入14回寫模式0:禁止modem回寫模式1:使能modem回寫模式modem回寫模式提供了一個(gè)執(zhí)行回寫測(cè)試的診斷

8、機(jī)制。7 : 5保留用戶軟件不要向該位寫入1 該寄存器使能Modem的回寫模式,并控制Modem的輸出信號(hào)。4.14 UART(0、1)4.14 UART(0、1) 回寫模式 在Modem回寫模式下,發(fā)送器輸出的串行數(shù)據(jù)在內(nèi)部連接到接收器的串行輸入端。輸入腳RxD1對(duì)回寫模式無影響,輸出腳TxD1保持總為1的狀態(tài)。4個(gè)Modem輸入(CTS, DSR, RI和DCD)與外部斷開。此時(shí),U1MSR的高4位分別由U1MCR的低4位驅(qū)動(dòng)。DSRCTSRIDCDDTRRTSTXDRXDModem接口芯片引腳DSRCTSRIDCDDTRRTSTXDRXDU1MCRBit0Bit1Bit2Bit3位功能功

9、能描述0Delta CTS檢測(cè)到CTS狀態(tài)發(fā)生變化時(shí),該位置位。讀取U1MSR時(shí)清零。1Delta DSR檢測(cè)到DSR狀態(tài)發(fā)生變化時(shí),該位置位。讀取U1MSR時(shí)清零。2后沿 RI檢測(cè)到RI狀態(tài)發(fā)生變化時(shí),該位置位。讀取U1MSR時(shí)清零。3Delta DCD檢測(cè)到DCD狀態(tài)發(fā)生變化時(shí),該位置位。讀取U1MSR時(shí)清零。4CTS反映輸入信號(hào)CTS的補(bǔ)碼?;貙懩J较略撐贿B接U1MCR的bit1。5DSR反映輸入信號(hào)DSR的補(bǔ)碼?;貙懩J较略撐贿B接U1MCR的bit0。6RI反映輸入信號(hào)RI的補(bǔ)碼?;貙懩J较略撐贿B接U1MCR的bit2。7DCD反映輸入信號(hào)DCD的補(bǔ)碼?;貙懩J较略撐贿B接U1MCR的b

10、it1。 Modem狀態(tài)寄存器 該寄存器為只讀,它反映Modem輸入信號(hào)的狀態(tài)信息。需要注意的是,Mdoem信號(hào)對(duì)UART1的操作沒有直接影響,Modem信號(hào)的操作是通過軟件來實(shí)現(xiàn)的。4.14 UART(0、1)4.14 UART(0、1) 中斷中斷使能寄存器UnIER中斷標(biāo)志寄存器UnIIRUART0中斷源UART0發(fā)送單元UART0接收單元UART1中斷源UART1發(fā)送單元UART1接收單元Modem模塊 中斷接口 UART0和UART1的中斷接口包含中斷使能寄存器(UnIER)和中斷標(biāo)識(shí)寄存器(UnIIR)。4.14 UART(0、1) 中斷使能寄存器UnIER描述復(fù)位值0RBR中斷使能

11、。1:使能RDA中斷;0:禁止RDA中斷。01THRE中斷使能。1:使能THRE中斷;0:禁止THRE中斷。02Rx線狀態(tài)中斷使能。1:使能Rx線狀態(tài)中斷;0:禁止Rx線狀態(tài)中斷;該中斷狀態(tài)可從UnLSR4:1讀出。03Modem中斷使能。 1:禁止Modem中斷;0:禁止Rx線狀態(tài)中斷;該中斷狀態(tài)可從U1MSR3:0讀取。注:只有UART1具有。07 : 4保留,用戶軟件不要向這些位寫入1。未定義 UnIER可以控制UARTn的4個(gè)中斷源。其中RBR中斷使能包括兩個(gè)中斷,一個(gè)是接收數(shù)據(jù)可用(RDA)中斷,一個(gè)是接收超時(shí)中斷(CTI)。稍后將對(duì)各中斷源作詳細(xì)介紹。4.14 UART(0、1)

12、中斷標(biāo)識(shí)寄存器UnIIR描述復(fù)位值0中斷掛起。1:沒有掛起的中斷;0:至少有一個(gè)中斷被掛起。03 : 1中斷標(biāo)識(shí)。這3位表示了對(duì)應(yīng)于UARTn Rx FIFO的中斷。未列出的其它組合作為保留值。011:1. 接收線狀態(tài)中斷(RLS)0010:2a. 接收數(shù)據(jù)可用中斷(RDA)0110:2b. 字符超時(shí)指示(CTI)001:3. 發(fā)送中斷(THRE)000:4. Modem中斷 注:只有UART1具有7 : 3保留,用戶軟件不要向這些位寫入1。未定義 UnIIR提供狀態(tài)代碼用于指示一個(gè)掛起中斷的中斷源和優(yōu)先級(jí)。在訪問UnIIR過程中,中斷被凍結(jié)。如果在訪問UnIIR時(shí)產(chǎn)生了中斷,該中斷將被記錄,

13、在下次訪問UnIIR時(shí)可以讀出,避免了中斷的丟失。VIC中斷控制器ARM7TDMI內(nèi)核Modem中斷(UnIIR3:1=001)UnIERbit2bit1bit0bit3RLS中斷(UnIIR3:1=011)RDA中斷(UnIIR3:1=010)CTI中斷(UnIIR3:1=110)THRE中斷(UnIIR3:1=001)注意:只有UART1才有Modem中斷。4.14 UART(0、1) UART中斷示意圖優(yōu)先級(jí)最高第二第二第三RLS中斷RDA中斷CTI中斷THRE中斷VIC中斷控制器ARM7TDMI內(nèi)核Modem中斷第四UnIERbit2bit1bit0bit3注意:只有UART1才有Mo

14、dem中斷。4.14 UART(0、1) UART中斷優(yōu)先級(jí)l RLS中斷:該中斷為最高優(yōu)先級(jí)。它在UARTn發(fā)生下面的錯(cuò)誤時(shí)產(chǎn)生中斷:1、溢出錯(cuò)誤(OE)2、奇偶錯(cuò)誤(PE)3、幀錯(cuò)誤(FE)4、間隔中斷(BI)通過查看UnLSR4:1可以了解到產(chǎn)生該中斷的錯(cuò)誤條件。讀取UnLSR時(shí)清除該中斷;4.14 UART(0、1) 中斷源說明 l RDA中斷:該中斷與CTI中斷并列為第二優(yōu)先級(jí)。當(dāng)接收的有效數(shù)據(jù)到達(dá)接收FIFO設(shè)置寄存器(UnFCR)中設(shè)置的觸發(fā)點(diǎn)時(shí),RDA被激活。當(dāng)接收FIFO中的有效數(shù)據(jù)少于觸發(fā)點(diǎn)時(shí),RDA復(fù)位;1.移位寄存器(UnRSR)從RxDn引腳接收串行數(shù)據(jù)后,送入接收F

15、IFO中;2.當(dāng)接收FIFO中的有效數(shù)據(jù)數(shù)量到達(dá)預(yù)定的觸發(fā)點(diǎn)時(shí),置位RDA中斷;3.從UnRBR寄存器中讀取FIFO中最早到達(dá)的數(shù)據(jù),當(dāng)FIFO中的有效數(shù)據(jù)小于預(yù)定觸發(fā)點(diǎn)時(shí),清零RDA中斷;接收FIFO12345679101112131415168觸發(fā)點(diǎn)設(shè)置=8UnRBRUnRSRRxDnUnIIR3:1xxxUnIIR010100 xxx1DATA 中斷源說明 l CTI中斷:當(dāng)接收FIFO中的有效數(shù)據(jù)少于預(yù)定的觸發(fā)點(diǎn)數(shù)量(至少有一個(gè)字節(jié))時(shí),如果在一定時(shí)間內(nèi)仍然沒有接收到新的數(shù)據(jù),那將觸發(fā)該中斷。這個(gè)時(shí)間為:3.54.5個(gè)字節(jié)所需要的時(shí)間。注:對(duì)接收FIFO的任何操作都會(huì)清零該中斷標(biāo)志。

16、接收FIFO12345679101112131415168觸發(fā)點(diǎn)設(shè)置=8UnRBR1.移位寄存器(UnRSR)從RxDn引腳接收串行數(shù)據(jù)后,送入接收FIFO中;2.當(dāng)接收FIFO中的有效數(shù)據(jù)少于觸發(fā)個(gè)數(shù),但至少有一個(gè)時(shí),如果長時(shí)間沒有數(shù)據(jù)到達(dá),將觸發(fā)CTI中斷;3.從UnRBR中讀取接收FIFO中的數(shù)據(jù),或者有新的數(shù)據(jù)送入接收FIFO,都將清零CTI中斷;UnRSRDATARxDnUnIIR3:1xxxUnIIR011100 xxx1 中斷源說明 接收FIFO12345679101112131415168觸發(fā)點(diǎn)設(shè)置=8UnRBR說明:“3.54.5個(gè)字節(jié)的時(shí)間”,其意思是在串口當(dāng)前的波特率下,

17、發(fā)送3.54.5個(gè)字節(jié)所需要的時(shí)間;UnRSRDATARxDnUnIIR3:1xxxUnIIR011100 xxx1注意:當(dāng)接收FIFO中存在多個(gè)數(shù)據(jù),從UnRBR讀取數(shù)據(jù),但是沒有讀完所有數(shù)據(jù),那么在經(jīng)過3.54.5個(gè)字節(jié)的時(shí)間后將觸發(fā)CTI中斷;l CTI中斷:當(dāng)接收FIFO中的有效數(shù)據(jù)少于預(yù)定的觸發(fā)點(diǎn)數(shù)量(至少有一個(gè)字節(jié))時(shí),如果在一定時(shí)間內(nèi)仍然沒有接收到新的數(shù)據(jù),那將觸發(fā)該中斷。這個(gè)時(shí)間為:3.54.5個(gè)字節(jié)所需要的時(shí)間。注:對(duì)接收FIFO的任何操作都會(huì)清零該中斷標(biāo)志。 中斷源說明 12345679101112131415168UnRBRU0TSRTxDnUnIIR3:1xxxUnII

18、R01l THRE中斷:該中斷為第三優(yōu)先級(jí)。當(dāng)發(fā)送FIFO為空并且滿足一定的條件時(shí),該中斷將被觸發(fā)。這些條件是:發(fā)送FIFO1.系統(tǒng)啟動(dòng)時(shí),雖然發(fā)送FIFO為空,但不會(huì)產(chǎn)生THRE中斷。DATA1100UnTSR2.在上一次發(fā)生THRE中斷后,向發(fā)送FIFO中寫入1個(gè)字節(jié)數(shù)據(jù),將在延時(shí)一個(gè)字節(jié)加上一個(gè)停止位后發(fā)生THRE中斷。 這是因?yàn)椋喝绻l(fā)送移位寄存器為空,那么寫入發(fā)送FIFO的數(shù)據(jù)將直接進(jìn)入發(fā)送移位寄存器; 此時(shí)發(fā)送FIFO仍然為空,如果立即產(chǎn)生THRE中斷,就會(huì)影響緊接著要寫入發(fā)送FIFO的數(shù)據(jù); 所以在發(fā)送完該字節(jié)以及一個(gè)停止位后,才產(chǎn)生THRE中斷;3.如果在發(fā)送FIFO中有過兩個(gè)

19、字節(jié)以上的數(shù)據(jù),但是現(xiàn)在發(fā)送FIFO為空時(shí),將立即觸發(fā)THRE中斷。當(dāng)THRE中斷為當(dāng)前有效的最高優(yōu)先級(jí)中斷時(shí),往UnTHR寫數(shù)據(jù),或者對(duì)UnIIR的讀操作,將使THRE中斷復(fù)位。 中斷源說明 除數(shù)鎖存寄存器UnDLL、UnDLMUARTn波特率發(fā)生器UARTn控制寄存器(UnLCR)FIFO控制寄存器(UnFCR)中斷中斷使能寄存器UnIERMODEMModem控制寄存器U1MCRVPB總總線線4.14 UART(0、1) UART設(shè)置使用UART前需要設(shè)置的寄存器4.14 UART(0、1) UART設(shè)置使用UART前需要設(shè)置的寄存器寄存器名稱功能UnLCR設(shè)置UARTn的通信格式。UnF

20、CR設(shè)置UARTn的接收FIFO緩沖區(qū)。UnDLL、 UnDLM設(shè)置UARTn的通信波特率。UnIER設(shè)置UARTn的中斷。U1MCRModem接口設(shè)置(只有UART1具有)。4.14 UART(0、1) UART設(shè)置 使用UART前需要設(shè)置的寄存器UnLCR,設(shè)置UART通信字符長度、停止位個(gè)數(shù)、奇偶校驗(yàn)位等參數(shù)。UART控制寄存器位765 : 4621 :0功能除數(shù)鎖存間隔奇偶選擇奇偶設(shè)置停止位字長UART寄存器地址訪問方式UART0U0RBR0 xE000 C000DLAB=0,對(duì)地址:0 xE000 C000進(jìn)行讀讀訪問U0THRDLAB=0,對(duì)地址:0 xE000 C000進(jìn)行寫寫訪

21、問U0DLLDLAB=1,對(duì)地址:0 xE000 C000進(jìn)行訪問U0IER0 xE000 C004DLAB=0,對(duì)地址:0 xE000 C004進(jìn)行訪問U0DLMDLAB=1,對(duì)地址:0 xE000 C004進(jìn)行訪問UART1U1RBR0 xE001 0000DLAB=0,對(duì)地址:0 xE001 0000進(jìn)行讀讀訪問U1THRDLAB=0,對(duì)地址:0 xE001 0000進(jìn)行寫寫訪問U1DLLDLAB=1,對(duì)地址:0 xE001 0000進(jìn)行訪問U1IER0 xE001 0004DLAB=0,對(duì)地址:0 xE001 0004進(jìn)行訪問U1DLMDLAB=1,對(duì)地址:0 xE001 0004進(jìn)行

22、訪問 UART特殊寄存器位置相同的寄存器 UART應(yīng)用示例操作流程設(shè)置引腳連接模塊將對(duì)應(yīng)IO連接到UARTn設(shè)置串口波特率設(shè)置串口工作模式發(fā)送或接收數(shù)據(jù)檢查串口狀態(tài)字或等待串口中斷 UART應(yīng)用示例初始化代碼UART0初始化代碼:#define UART_BPS 115200Void UART0_Ini(void) uint16 Fdiv; PINSEL0 = 0 x00000005; U0LCR = 0 x83; Fdiv = (Fpclk / 16) / UART_BPS; U0DLM = Fdiv / 256; U0DLL = Fdiv % 256; U0LCR = 0 x03;定義表示

23、波特率的宏,方便修改設(shè)置引腳連接模塊置位除數(shù)鎖存位根據(jù)波特率計(jì)算分頻值設(shè)置除數(shù)寄存器(除數(shù)鎖存訪問位必須置位)清除除數(shù)鎖存位,并設(shè)置工作模式 UART應(yīng)用示例初始化代碼UART0初始化代碼:#define UART_BPS 115200Void UART0_Ini(void) uint16 Fdiv; PINSEL0 = 0 x00000005; U0LCR = 0 x83; Fdiv = (Fpclk / 16) / UART_BPS; U0DLM = Fdiv / 256; U0DLL = Fdiv % 256; U0LCR = 0 x03;設(shè)置引腳連接模塊將對(duì)應(yīng)IO連接到UART0設(shè)置串

24、口波特率設(shè)置串口工作模式發(fā)送或接收數(shù)據(jù)檢查串口狀態(tài)字或等待串口中斷 UART應(yīng)用示例收發(fā)數(shù)據(jù)void UART0_SendByte(uint8 data) U0THR = data; while(U0LSR & 0 x40) = 0);uint8 UART0_RcvByte(void) uint8 rcv_data; while(U0LSR & 0 x01) = 0); rcv_data = U0RBR; return(rcv_data);查詢方式發(fā)送一字節(jié)數(shù)據(jù):查詢方式接收一字節(jié)數(shù)據(jù):將要發(fā)送的一字節(jié)數(shù)據(jù)寫入U(xiǎn)0THR等待數(shù)據(jù)發(fā)送完畢等待數(shù)據(jù)到達(dá)從U0RBR中讀出接收的數(shù)據(jù)返

25、回接收的數(shù)據(jù)UART中斷 UART與VIC的關(guān)系 UART0、UART1分別位于VIC的通道6和通道7。中斷使能寄存器VICIntEnable的Bit6和Bit7分別用來控制通道6和通道7的使能。 通道6UART0向量IRQ通道0向量IRQ通道15非向量IRQ通道VICIntSelect6VICIntEnable6IRQFIQ通道7UART1VICIntSelect7VICIntEnable7IRQFIQVICVectAddr0VICVectCntl0VICVectAddr15VICVectCntl15VICDefVectAddrIRQ通道分配UART中斷 UART0與VIC的關(guān)系當(dāng)VICIn

26、tEnable6 = 0時(shí),通道6中斷禁止;通道6UART0向量IRQ通道0向量IRQ通道15非向量IRQ通道VICIntSelect6VICIntEnable6 = 0IRQFIQ通道7UART1VICIntSelect7VICIntEnable7 = 0IRQFIQVICVectAddr0VICVectCntl0VICVectAddr15VICVectCntl15VICDefVectAddrIRQ通道分配UART中斷 UART0與VIC的關(guān)系當(dāng)VICIntEnable6 = 0時(shí),通道6中斷禁止;通道6UART0向量IRQ通道0向量IRQ通道15非向量IRQ通道VICIntSelect6V

27、ICIntEnable6 = 1IRQFIQ通道7UART1VICIntSelect7VICIntEnable7 = 0IRQFIQVICVectAddr0VICVectCntl0VICVectAddr15VICVectCntl15VICDefVectAddrIRQ通道分配當(dāng)VICIntEnable6 = 1時(shí),通道6中斷使能。UART中斷 UART1與VIC的關(guān)系當(dāng)VICIntEnable7 = 0時(shí),通道7中斷禁止;通道6UART0向量IRQ通道0向量IRQ通道15非向量IRQ通道VICIntSelect6VICIntEnable6 = 0IRQFIQ通道7UART1VICIntSelec

28、t7VICIntEnable7 = 0IRQFIQVICVectAddr0VICVectCntl0VICVectAddr15VICVectCntl15VICDefVectAddrIRQ通道分配UART中斷 UART1與VIC的關(guān)系當(dāng)VICIntEnable7 = 0時(shí),通道7中斷禁止;通道6UART0向量IRQ通道0向量IRQ通道15非向量IRQ通道VICIntSelect6VICIntEnable6 = 0IRQFIQ通道7UART1VICIntSelect7VICIntEnable7 = 1IRQFIQVICVectAddr0VICVectCntl0VICVectAddr15VICVect

29、Cntl15VICDefVectAddrIRQ通道分配當(dāng)VICIntEnable7 = 1時(shí),通道7中斷使能。UART中斷 UART中斷LPC2000系列ARM UART中斷分為 四類: 接收中斷 發(fā)送中斷(THRE) 接收狀態(tài)中斷(RLS) Modem中斷 (Modem) 接收超時(shí)中斷(CTI) 接收數(shù)據(jù)可用中斷(RDA)UART中斷 UART中斷示意圖UART中斷使能寄存器UnIERUART中斷標(biāo)志寄存器UnIIR3:1Bit0:RBR中斷使能 接收中斷 010 :RDA110 :CTIBit1:THRE中斷使能 發(fā)送中斷 001 :THRE Bit2:接收狀態(tài)中斷使能 接收狀態(tài)中斷 01

30、1 :RLSBit3:Modem狀態(tài)中斷使能 Modem中斷 000 :Modem 注意:只有UART1具有Modem中斷。UART中斷 UART中斷示意圖注意:只有UART1具有Modem中斷。UART中斷使能寄存器UnIERUART中斷標(biāo)志寄存器UnIIR3:1Bit0:RBR中斷使能 接收中斷 010 :RDA110 :CTIBit1:THRE中斷使能 001 :THRE Bit2:接收狀態(tài)中斷使能 011 :RLSBit3:Modem狀態(tài)中斷使能 000 :Modem 1111發(fā)送中斷 接收狀態(tài)中斷 Modem中斷 中斷使能位為1時(shí),對(duì)應(yīng)的中斷使能UART中斷總結(jié) 接收中斷數(shù)據(jù)可用中斷

31、(RDA) LPC2000系列ARM UART接口具有16字節(jié)的接收FIFO,接收觸發(fā)點(diǎn)可以設(shè)置為1、4、8、14字節(jié),當(dāng)接收到的字節(jié)數(shù)達(dá)到接收觸發(fā)點(diǎn)時(shí),便會(huì)觸發(fā)中斷。 UnRBR接收移位寄存器觸發(fā)點(diǎn)設(shè)置=8接收FIFO128916觸發(fā)觸發(fā)RDA中斷中斷UART中斷總結(jié) 接收中斷接收超時(shí)中斷(CTI) 當(dāng)接收FIFO中的有效數(shù)據(jù)個(gè)數(shù)少于觸發(fā)個(gè)數(shù)時(shí)(注:接收FIFO中至少有一個(gè)字節(jié)),如果在3.5到4.5個(gè)字符的時(shí)間內(nèi),沒有收到其它數(shù)據(jù),將觸發(fā)CTI中斷。UnRBR接收移位寄存器觸發(fā)點(diǎn)設(shè)置=8接收FIFO128916觸發(fā)觸發(fā)CTI中斷中斷UART中斷總結(jié) 發(fā)送中斷 LPC2000系列ARM UA

32、RT接口具有16字節(jié)的發(fā)送FIFO,當(dāng)發(fā)送FIFO由非空變?yōu)榭諘r(shí),便會(huì)觸發(fā)“發(fā)送中斷”。 發(fā)送移位寄存器UnTHR接收FIFO128916觸發(fā)發(fā)送中斷觸發(fā)發(fā)送中斷注意:前面對(duì)“發(fā)送中斷”做了詳細(xì)的描述,在這里,為了描述方便,將發(fā)送中斷簡單表示成“發(fā)送FIFO由非空變?yōu)榭铡?。UART中斷總結(jié) 接收狀態(tài)中斷 在UART接收數(shù)據(jù)時(shí),如果出現(xiàn):溢出錯(cuò)誤(OE)、奇偶錯(cuò)誤(PE)、幀錯(cuò)誤(FE)和間隔中斷(BI)中的任意一個(gè)錯(cuò)誤時(shí),都會(huì)觸發(fā)接收狀態(tài)中斷。 +觸發(fā)接收狀態(tài)中斷觸發(fā)接收狀態(tài)中斷溢出錯(cuò)誤(OE)奇偶錯(cuò)誤(PE)幀錯(cuò)誤(FE)間隔中斷(BI)UART中斷總結(jié) Modem中斷 UART1接口具有M

33、odem中斷,當(dāng)引腳DCD、DSR或CTS上發(fā)生狀態(tài)變化時(shí),都會(huì)觸發(fā)Modem中斷。此外,Modem輸入引腳RI上低到高電平的跳變也會(huì)產(chǎn)生一個(gè)Modem中斷。 +觸發(fā)觸發(fā)Modem中斷中斷DCD引腳狀態(tài)發(fā)生變化DSR引腳狀態(tài)發(fā)生變化CTS引腳狀態(tài)發(fā)生變化RI引腳上升沿 1.LPC2000系列簡介 2.引腳描述 3.存儲(chǔ)器尋址 4.系統(tǒng)控制模塊 5.存儲(chǔ)器加速模塊 (MAM) 6.外部存儲(chǔ)器控制器(EMC) 7.引腳連接模塊 8. GPIOLPC2000系列ARM硬件結(jié)構(gòu) 9. 向量中斷控制器 10.外部中斷輸入 11.定時(shí)器0和定時(shí)器1 12. SPI接口 13. I2C接口 14. UART

34、(0、1) 15. A/D轉(zhuǎn)換器 16. 看門狗 17. 脈寬調(diào)制器(PWM) 18. 實(shí)時(shí)時(shí)鐘4.15 A/D轉(zhuǎn)換器 特性 LPC2114/2124具有一個(gè)AD轉(zhuǎn)換器,LPC2200系列具有兩個(gè)AD轉(zhuǎn)換器,它們具有如下特性:10位逐次逼近式模式轉(zhuǎn)換器;測(cè)量范圍:03.3V;10位轉(zhuǎn)換事件=2.44us;可設(shè)置AD轉(zhuǎn)換觸發(fā)方式;具有掉電模式。4.15 A/D轉(zhuǎn)換器 A/D轉(zhuǎn)換器描述 A/D轉(zhuǎn)換器的基本時(shí)鐘由VPB時(shí)鐘提供??删幊谭诸l器可將時(shí)鐘調(diào)整至逐步逼近轉(zhuǎn)換所需的4.5MHz(最大)。如要要得到10位精度的結(jié)果,需要11個(gè)A/D轉(zhuǎn)換時(shí)鐘。 A/D轉(zhuǎn)換器的參考電壓來自V3A和VSSA引腳。4.

35、15 A/D轉(zhuǎn)換器 A/D轉(zhuǎn)換器描述引腳名稱類型引腳描述AIN7AIN0輸入模擬輸入。A/D轉(zhuǎn)換器單元可分時(shí)測(cè)量這8個(gè)引腳上的輸入信號(hào)電壓。即使這些引腳設(shè)置為GPIO功能,仍可以使用A/D轉(zhuǎn)換器部件。V3A,VSSA電源模擬電源和地。它們分別與標(biāo)稱的V3和VSSD的電壓相同,但為了降低噪聲和出錯(cuò)幾率,兩者應(yīng)當(dāng)隔離。轉(zhuǎn)換器的VrefP和VrefN信號(hào)在內(nèi)部與這兩個(gè)電源信號(hào)相連。A/D引腳描述4.15 A/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)換時(shí)鐘VICAIN0AIN1AIN7 A/D轉(zhuǎn)換器寄存器描述ADDRA/D轉(zhuǎn)換控制

36、電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7名稱描述訪問復(fù)位值A(chǔ)DCRA/D控制寄存器。A/D轉(zhuǎn)換開始前,必須設(shè)置ADCR寄存器來選擇工作模式。讀寫0 x0000001ADDRA/D數(shù)據(jù)寄存器。該寄存器包含ADC的結(jié)束標(biāo)志位和10位的轉(zhuǎn)換結(jié)果(當(dāng)結(jié)束標(biāo)志位為1時(shí),轉(zhuǎn)換結(jié)果才是有效的)。讀寫NA A/D轉(zhuǎn)換器寄存器描述控制寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0

37、AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSELSEL:從AIN3AIN0(LPC2114/2124)或AIN7AIN0(LPC2212/2214)中選擇采樣和轉(zhuǎn)換輸入引腳。Bit0控制AIN0,bit1控制AIN1,依此類推。1:對(duì)應(yīng)輸入端被選中; 0:對(duì)應(yīng)輸入端未選中;注意:軟件模式下只能置位其中一位,硬件模式下可以是任意組合。ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7ADCR位2726:2423:222

38、119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL0123456700000000位值A(chǔ)IN0AIN1AIN2AIN3AIN4AIN5AIN6AIN7 A/D轉(zhuǎn)換器寄存器描述控制寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSELCLKDIV:將VPB時(shí)鐘(PCLK)進(jìn)行分頻,得到AD轉(zhuǎn)換時(shí)鐘。分頻后的時(shí)鐘必須小于或等于4.

39、5MHz。通常將CLKDIV編程為允許的最小值,以獲得4.5MHz或稍低于4.5MHz的時(shí)鐘。A/D轉(zhuǎn)換器時(shí)鐘 PCLK / ( CLKDIV + 1)CLKDIV ( PCLK / AD轉(zhuǎn)換時(shí)鐘)-1 A/D轉(zhuǎn)換器寄存器描述控制寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSELBURST:BURST/軟件方式控制。當(dāng)該位為0時(shí),選擇軟件方式啟動(dòng)AD轉(zhuǎn)換,需要11個(gè)時(shí)鐘才能完成。

40、當(dāng)該位為1時(shí),選擇BURST(突發(fā))模式啟動(dòng)AD轉(zhuǎn)換,所需時(shí)鐘數(shù)由CLK字段控制。 BURST模式下,對(duì)所有在SEL字段中置1的位對(duì)應(yīng)的輸入端進(jìn)行轉(zhuǎn)換,首先轉(zhuǎn)換的是最低有效位。然后是更高的位。如此周而復(fù)始,直至該位清零。 A/D轉(zhuǎn)換器寄存器描述控制寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSEL0123456700110110位值A(chǔ)IN0AIN1AIN2AIN3AIN4AIN5

41、AIN6AIN7首先轉(zhuǎn)換最低有效位再轉(zhuǎn)換更高的有效位AIN2AIN3AIN5AIN6 A/D轉(zhuǎn)換器寄存器描述控制寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSELCLKS:控制BURST模式下每次轉(zhuǎn)換需要使用的時(shí)鐘數(shù)和所得ADDR轉(zhuǎn)換結(jié)果的LS位中可確保精度的位的數(shù)目,CLKS可在11個(gè)時(shí)鐘(10位)4個(gè)時(shí)鐘(3位)之間選擇:000=11個(gè)時(shí)鐘/10位,001=10個(gè)時(shí)鐘/9位,

42、111=4個(gè)時(shí)鐘/3位。 A/D轉(zhuǎn)換器寄存器描述控制寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSELPDN:控制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)換時(shí)鐘VICAIN0AIN1AIN7ADCR位2726:2423:22

43、2119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSELTEST1:0:器件測(cè)試控制位。00:正常模式;01:數(shù)字測(cè)試模式;10:DAC測(cè)試模式;11:一次轉(zhuǎn)換測(cè)試模式; A/D轉(zhuǎn)換器寄存器描述控制寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSELSTART:該字段用于控制AD轉(zhuǎn)換的啟動(dòng)方式,該字段只有在BURST為0時(shí)有效。

44、000:不啟動(dòng);001:立即啟動(dòng)轉(zhuǎn)換;010:P0.16引腳出現(xiàn)預(yù)置的電平時(shí),啟動(dòng)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)換時(shí)鐘VICAIN0AIN1AIN7ADCR位2726:2423:222119:171615:87:0功能EDGESTARTTEST1:0PDNCLKSBURSTCLKDIVSELEDGE:當(dāng)START字段的值為010111時(shí),該位的設(shè)置有效

45、。0:在所選CAP/MAT信號(hào)的下降沿啟動(dòng)轉(zhuǎn)換1:在所選CAP/MAT信號(hào)的上升沿啟動(dòng)轉(zhuǎn)換 A/D轉(zhuǎn)換器寄存器描述控制寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7位313029:2726:2423:1615:65:0功能DONEOVERUN0CHN0V/VddA00:這些位讀出時(shí)為0。用于未來擴(kuò)展功能更強(qiáng)大的AD轉(zhuǎn)換器。ADDR A/D轉(zhuǎn)換器寄存器描述數(shù)據(jù)寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7位313029:2726:2423:1

46、615:65:0功能DONEOVERUN0CHN0V/VddA0V/VddA:當(dāng)DONE位為1時(shí),該字段包含對(duì)SEL字段選中的Ain腳的轉(zhuǎn)換結(jié)果,為一個(gè)二進(jìn)制數(shù)。 轉(zhuǎn)換結(jié)果為0時(shí),表示Ain引腳電平小于、等于或接近于VSSA。為0 x3FF時(shí),表示Ain引腳電平等于、大于或接近于VddA。輸入電壓計(jì)算公式為:Vin = 結(jié)果(VSSA / 0 x3FF)ADDR A/D轉(zhuǎn)換器寄存器描述數(shù)據(jù)寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7位313029:2726:2423:1615:65:0功能DONEOVERUN0CH

47、N0V/VddA00:這些位讀出時(shí)為0。它們?cè)试S連續(xù)A/D值的累加,而不需要屏蔽處理,使得至少有256個(gè)值不會(huì)溢出到CHN字段。ADDR A/D轉(zhuǎn)換器寄存器描述數(shù)據(jù)寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7位313029:2726:2423:1615:65:0功能DONEOVERUN0CHN0V/VddA0CHN:該字段包含的是LS位的轉(zhuǎn)換通道。ADDR A/D轉(zhuǎn)換器寄存器描述數(shù)據(jù)寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7位3130

48、29:2726:2423:1615:65:0功能DONEOVERUN0CHN0V/VddA00:這些位讀出為0。用于未來CHN字段的擴(kuò)展,使之兼容更多通道的轉(zhuǎn)換值。ADDR A/D轉(zhuǎn)換器寄存器描述數(shù)據(jù)寄存器ADDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7位313029:2726:2423:1615:65:0功能DONEOVERUN0CHN0V/VddA0OVERUN:在BURST模式下,如果在轉(zhuǎn)換產(chǎn)生最低位之前,以前轉(zhuǎn)換的結(jié)果丟失或被覆蓋,該位將置位。讀ADDR寄存器時(shí),該位清零。ADDR A/D轉(zhuǎn)換器寄存器描述數(shù)據(jù)寄存器A

49、DDRA/D轉(zhuǎn)換控制電路A/D數(shù)據(jù)寄存器ADCRA/D控制寄存器FpclkAD轉(zhuǎn)換時(shí)鐘VICAIN0AIN1AIN7位313029:2726:2423:1615:65:0功能DONEOVERUN0CHN0V/VddA0DONE:AD轉(zhuǎn)換完成標(biāo)志位。當(dāng)AD轉(zhuǎn)換結(jié)束時(shí)該位置位。在讀取ADDR或ADCR被寫入時(shí),該位清零。如果在轉(zhuǎn)換過程中,設(shè)置了ADCR,那么該位將置位,并啟動(dòng)一次新的轉(zhuǎn)換。ADDR A/D轉(zhuǎn)換器寄存器描述數(shù)據(jù)寄存器 ADC中斷與VIC的關(guān)系A(chǔ)DC中斷向量IRQ通道0向量IRQ通道15非向量IRQ通道通道18ADCVICIntSelect18VICIntEnable18IRQFIQV

50、ICVectAddr0VICVectCntl0VICVectAddr15VICVectCntl15VICDefVectAddrIRQ通道分配 ADC處于VIC的通道18,中斷使能寄存器VICIntEnable用來控制VIC通道的中斷使能。 ADC中斷與VIC的關(guān)系A(chǔ)DC中斷向量IRQ通道0向量IRQ通道15非向量IRQ通道通道18ADCVICIntSelect18VICIntEnable18IRQFIQVICVectAddr0VICVectCntl0VICVectAddr15VICVectCntl15VICDefVectAddrIRQ通道分配 ADC處于VIC的通道18,中斷使能寄存器VICI

51、ntEnable用來控制VIC通道的中斷使能。當(dāng)VICIntEnable18 = 0時(shí),通道18中斷禁止;向量IRQ通道0向量IRQ通道15非向量IRQ通道通道0ADCVICIntSelect18VICIntEnable18IRQFIQVICVectAddr0VICVectCntl0VICVectAddr15VICVectCntl15VICDefVectAddrIRQ通道分配 ADC中斷與VIC的關(guān)系 ADC處于VIC的通道18,中斷使能寄存器VICIntEnable用來控制VIC通道的中斷使能。當(dāng)VICIntEnable18 = 0時(shí),通道18中斷禁止;ADC中斷當(dāng)VICIntEnable1

52、8 = 1時(shí),通道18中斷使能; ADC中斷說明ADC中斷 A/D轉(zhuǎn)換器沒有專門的中斷使能位,這一點(diǎn)是和其它功能部件所不同的。 ADC轉(zhuǎn)換時(shí)間VICDONE = 1ADC啟動(dòng)轉(zhuǎn)換(軟件、硬件) 啟動(dòng)A/D轉(zhuǎn)換,A/D轉(zhuǎn)換后,DONE置位,觸發(fā)中斷。4.15 A/D轉(zhuǎn)換器 使用A/D轉(zhuǎn)換器的注意要點(diǎn)AD轉(zhuǎn)換器的時(shí)鐘不能大于4.5MHz;使用MAT引腳觸發(fā)AD轉(zhuǎn)換啟動(dòng)時(shí),相應(yīng)的MAT信號(hào)不必輸出到引腳。使用MAT引腳觸發(fā)的方法,可以實(shí)現(xiàn)AD轉(zhuǎn)換定時(shí)啟動(dòng);BURST模式下,每次轉(zhuǎn)換結(jié)束后立即開始下一路的轉(zhuǎn)換,所以BURST模式具有最高的效率;軟件模式下,SEL字段中只能有一位置位,如果多位置位,將使

53、用最低有效位。 A/D轉(zhuǎn)換器操作示例操作流程計(jì)算ADC部件時(shí)鐘設(shè)置引腳連接模塊設(shè)置AD工作模式啟動(dòng)AD轉(zhuǎn)換等待轉(zhuǎn)換結(jié)束讀取轉(zhuǎn)換結(jié)果 A/D轉(zhuǎn)換器操作示例#define ADCLK 4500000 / 定義AD部件時(shí)鐘頻率,單位:Hz#define ADBIT 10 / 定義BURST模式下的轉(zhuǎn)換精度#define ADBIT2 (10 - ADBIT). PINSEL1 = (PINSEL1 & 0 xFC3FFFFF) | 0 x00400000; ADCR = (0 x01 27) | / EDGE (0 x05 24) | / START (0 x00 22) | / TEST1

54、:0 (0 x01 21) | / PDN (ADBIT2 17)| / CLKS (0 x00 16) | / BUREST (Fpclk/ADCLK + 1) 8) | / CLKDIV (0 x01 0); / SELADCR |= (1 6) & 0 x3FF; .使用軟件方式對(duì)Ain0轉(zhuǎn)換:設(shè)置引腳連接模塊硬件觸發(fā)邊沿設(shè)置AD啟動(dòng)設(shè)置測(cè)試模式設(shè)置AD部件上電設(shè)置BURST模式精度BURST模式禁止啟動(dòng)AD轉(zhuǎn)換等待轉(zhuǎn)換結(jié)束讀取轉(zhuǎn)換結(jié)果轉(zhuǎn)換通道選擇ADC部件時(shí)鐘 1.LPC2000系列簡介 2.引腳描述 3.存儲(chǔ)器尋址 4.系統(tǒng)控制模塊 5.存儲(chǔ)器加速模塊 (MAM) 6.外部存

55、儲(chǔ)器控制器(EMC) 7.引腳連接模塊 8. GPIOLPC2000系列ARM硬件結(jié)構(gòu) 9. 向量中斷控制器 10.外部中斷輸入 11.定時(shí)器0和定時(shí)器1 12. SPI接口 13. I2C接口 14. UART(0、1) 15. A/D轉(zhuǎn)換器 16. 看門狗 17. 脈寬調(diào)制器(PWM) 18. 實(shí)時(shí)時(shí)鐘4.16 看門狗 看門狗簡介 在嵌入式應(yīng)用中,CPU必須可靠工作,即使因?yàn)槟撤N原因進(jìn)入了一個(gè)錯(cuò)誤狀態(tài),系統(tǒng)也應(yīng)該可以自動(dòng)恢復(fù)。看門狗的用途就是使微控制器在進(jìn)入錯(cuò)誤狀態(tài)后的一定時(shí)間內(nèi)復(fù)位。 其原理是在系統(tǒng)正常工作時(shí),用戶程序每隔一段時(shí)間執(zhí)行喂狗動(dòng)作(一些寄存器的特定操作),如果系統(tǒng)出錯(cuò),喂狗間

56、隔超過看門狗溢出時(shí)間,那么看門狗將會(huì)產(chǎn)生復(fù)位信號(hào),使微控制器復(fù)位。4.16 看門狗 特性 LPC2000系列微控制器都集成有看門狗部件,其特性為: 帶內(nèi)部預(yù)分頻器的可編程32位定時(shí)器; 如果沒有周期性重裝(喂狗)動(dòng)作,則產(chǎn)生片內(nèi)復(fù)位; 具有調(diào)試模式; 看門狗軟件使能后,必須由復(fù)位來禁止; 錯(cuò)誤的喂狗動(dòng)作,將立即引起復(fù)位。中斷信號(hào)復(fù)位信號(hào)4分頻喂狗寄存器WDFEEDPCLK看門狗常數(shù)寄存器WDTC計(jì)數(shù)器WDTV看門狗模式寄存器WDMOD正確喂狗錯(cuò)誤喂狗溢出 看門狗內(nèi)部結(jié)構(gòu)圖中斷信號(hào)復(fù)位信號(hào)4分頻喂狗寄存器WDFEEDPCLK看門狗常數(shù)寄存器WDTC計(jì)數(shù)器WDTV看門狗模式寄存器WDMOD正確喂狗

57、錯(cuò)誤喂狗溢出名稱描述訪問WDMOD看門狗模式寄存器。該寄存器包含看門狗定時(shí)器的基本模式和狀態(tài)。讀/設(shè)置WDTC看門狗定時(shí)器常數(shù)寄存器。該寄存器決定超時(shí)值。讀寫WDFEED看門狗喂狗寄存器。通過它執(zhí)行特定喂狗時(shí)序。只寫WDTV看門狗定時(shí)器值寄存器。反映倒計(jì)數(shù)器當(dāng)前值。只讀 看門狗寄存器描述 寄存器描述看門狗模式寄存器位7 : 43210功能保留WDINTWDTOFWDRESETWDENWDEN:看門狗中斷使能位,該位只能置位。 該位置位后,將使能看門狗。一旦該位置位,軟件無法將其清零。只有外部復(fù)位或看門狗定時(shí)器溢出能將其清零。注意:將該位置位后只是使能WDT,但沒有啟動(dòng)WDT,當(dāng)?shù)谝淮挝构凡僮鲿r(shí)

58、才啟動(dòng)WDT。中斷信號(hào)復(fù)位信號(hào)4分頻喂狗寄存器WDFEEDPCLK看門狗常數(shù)寄存器WDTC計(jì)數(shù)器WDTV看門狗模式寄存器WDMOD正確喂狗錯(cuò)誤喂狗溢出位7 : 43210功能保留WDINTWDTOFWDRESETWDEN中斷信號(hào)復(fù)位信號(hào)4分頻喂狗寄存器WDFEEDPCLK看門狗常數(shù)寄存器WDTC計(jì)數(shù)器WDTV看門狗模式寄存器WDMOD正確喂狗錯(cuò)誤喂狗溢出WDRESET:看門狗復(fù)位使能位,該位只能軟件清除。 該位置位后,看門狗溢出將引起復(fù)位。一旦該位置位,軟件無法將其清零。只有外部復(fù)位或看門狗定時(shí)器溢出能將其清零。 寄存器描述看門狗模式寄存器位7 : 43210功能保留WDINTWDTOFWDR

59、ESETWDEN中斷信號(hào)復(fù)位信號(hào)4分頻喂狗寄存器WDFEEDPCLK看門狗常數(shù)寄存器WDTC計(jì)數(shù)器WDTV看門狗模式寄存器WDMOD正確喂狗錯(cuò)誤喂狗溢出WDTOF:看門狗超時(shí)標(biāo)志。 當(dāng)看門狗發(fā)生超時(shí),看門狗超時(shí)標(biāo)志置位。該標(biāo)志由軟件清零。 寄存器描述看門狗模式寄存器位7 : 43210功能保留WDINTWDTOFWDRESETWDEN中斷信號(hào)復(fù)位信號(hào)4分頻喂狗寄存器WDFEEDPCLK看門狗常數(shù)寄存器WDTC計(jì)數(shù)器WDTV看門狗模式寄存器WDMOD正確喂狗錯(cuò)誤喂狗溢出WDINT:看門狗中斷標(biāo)志。 當(dāng)看門狗發(fā)生超時(shí),該位置位。該標(biāo)志不能由軟件清零,只能通過外部復(fù)位或者看門狗復(fù)位清零。 寄存器描述

60、看門狗模式寄存器 寄存器描述看門狗常數(shù)寄存器 該寄存器決定看門狗超時(shí)值,當(dāng)喂狗時(shí)序產(chǎn)生時(shí),該寄存器的內(nèi)容重新裝入看門狗定時(shí)器。該寄存器的復(fù)位值為0 xFF,即使寫入更小的值,也會(huì)裝入0 xFF。溢出最小時(shí)間:tpclk0 xFF4溢出最大時(shí)間:tpclk0 xFFFFFFFF4中斷信號(hào)復(fù)位信號(hào)4分頻喂狗寄存器WDFEEDPCLK看門狗常數(shù)寄存器WDTC計(jì)數(shù)器WDTV看門狗模式寄存器WDMOD正確喂狗錯(cuò)誤喂狗溢出0 xAA 寄存器描述看門狗喂狗寄存器 向該寄存器寫入0 xAA,然后寫入0 x55會(huì)使WDTC的值重新裝入看門狗定時(shí)器。如果看門狗通過WDMOD寄存器使能,那么第一次喂狗操作還將啟動(dòng)看門狗運(yùn)行。在看門狗能夠產(chǎn)生中

溫馨提示

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

評(píng)論

0/150

提交評(píng)論