《無線傳感器網(wǎng)絡(luò)》課件第5章 CC2530基礎(chǔ)實驗_第1頁
《無線傳感器網(wǎng)絡(luò)》課件第5章 CC2530基礎(chǔ)實驗_第2頁
《無線傳感器網(wǎng)絡(luò)》課件第5章 CC2530基礎(chǔ)實驗_第3頁
《無線傳感器網(wǎng)絡(luò)》課件第5章 CC2530基礎(chǔ)實驗_第4頁
《無線傳感器網(wǎng)絡(luò)》課件第5章 CC2530基礎(chǔ)實驗_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章CC2530基礎(chǔ)實驗CC2530(無線片上系統(tǒng)單片機)是用于IEEE802.15.4、ZigBee和RF4CE應(yīng)用的一個真正的片上系統(tǒng)(SoC)解決方案。它能夠以非常低的總的材料成本建立強大的網(wǎng)絡(luò)節(jié)點。CC2530結(jié)合了領(lǐng)先的2.4GHz的RF收發(fā)器的優(yōu)良性能,業(yè)界標(biāo)準(zhǔn)的增強型8051單片機,系統(tǒng)內(nèi)可編程閃存,8-KBRAM和許多其他強大的功能。 根據(jù)芯片內(nèi)置閃存的不同容量,CC2530有四種不同的型號:CC2530F32/64/128/256,編號后綴分別代表具有32/64/128/256KB的閃存。CC2530具有不同的運行模式,使得它尤其適應(yīng)超低功耗要求的系統(tǒng)。運行模式之間的轉(zhuǎn)換時間短進(jìn)一步確保了低能源消耗。CC2530高性能、低功耗且具有代碼預(yù)取功能的8051微控制器內(nèi)核符合2.4-GHzIEEE802.15.4標(biāo)準(zhǔn)的優(yōu)良的無線接收靈敏度和抗干擾性能2.4GRF收發(fā)器?

低功耗寬電源電壓范圍(2V–3.6V)支持硬件調(diào)試支持精確的數(shù)字化RSSI/LQI和強大的5通道DMAIEEE802.5.4MAC定時器,通用定時器(一個16位定時器,一個8位定時器)具有IR發(fā)生電路具有捕獲功能的32-kHz睡眠定時器硬件支持CSMA/CA功能具有電池監(jiān)測功能和溫度傳感功能具有8路輸入和可配置分辨率的 12位ADC集成AES安全協(xié)處理器2 個支持多種串行通信協(xié)議的強大USART21個通用I/O引腳(19×4mA,2×20mA)看門狗定時器強大靈活的開發(fā)工具CC2530芯片主要特性2.4-GHzIEEE802.15.4系統(tǒng)RF4CE遠(yuǎn)程控制系統(tǒng)(需要大于64-KB閃存)ZigBee系統(tǒng)(需要256-KB閃存)家庭/樓宇自動化照明系統(tǒng)工業(yè)控制和監(jiān)控低功耗無線傳感網(wǎng)絡(luò)消費型電子醫(yī)療保健CC2530的應(yīng)用領(lǐng)域CC2530大致可以分為四個部分:CPU和內(nèi)存相關(guān)的模塊、外設(shè)、時鐘和電源管理相關(guān)的模塊,以及無線電相關(guān)的模塊。CC2530概述CC253x芯片系列中使用的8051CPU內(nèi)核是一個單周期的8051兼容內(nèi)核。它有三種不同的內(nèi)存訪問總線(SFR,DATA和CODE/XDATA),單周期訪問SFR,DATA和主SRAM。它還包括一個調(diào)試接口和一個18輸入擴展中斷單元。32/64/128/256KB閃存塊為設(shè)備提供了內(nèi)電路可編程的非易失性程序存儲器,映射到XDATA存儲空間。除了保存程序代碼和常量以外,非易失性存儲器允許應(yīng)用程序保存必須保留的數(shù)據(jù),這樣設(shè)備重啟之后可以使用這些數(shù)據(jù)。使用這個功能,例如可以利用已經(jīng)保存的網(wǎng)絡(luò)具體數(shù)據(jù),CC2530就不需要每次啟動都需要經(jīng)歷網(wǎng)絡(luò)尋找和加入過程。

CPU和內(nèi)存調(diào)試接口執(zhí)行一個專有的兩線串行接口,用于內(nèi)電路調(diào)試。通過這個調(diào)試接口,可以執(zhí)行整個閃存存儲器的擦除、控制使能哪個振蕩器、停止和開始執(zhí)行用戶程序、執(zhí)行8051內(nèi)核提供的指令、設(shè)置代碼斷點,以及內(nèi)核中全部指令的單步調(diào)試。使用這些技術(shù),可以很好地執(zhí)行內(nèi)電路的調(diào)試和外部閃存的編程。外設(shè)I/O控制器負(fù)責(zé)所有通用I/O引腳。CPU可以配置外設(shè)模塊是否控制某個引腳或它們是否受軟件控制,如果是的話,每個引腳配置為一個輸入還是輸出。CPU中斷可以分別在每個引腳上使能。每個連接到I/O引腳的外設(shè)可以選擇兩個不同的I/O引腳位置,以確保在不同應(yīng)用程序中的引腳的使用不發(fā)生沖突。外設(shè)系統(tǒng)可以使用一個多功能的五通道DMA控制器,使用XDATA存儲空間訪問存儲器,因此能夠訪問所有物理存儲器。每個通道(觸發(fā)器、優(yōu)先級、傳輸模式、尋址模式、源和目標(biāo)指針和傳輸計數(shù))用DMA描述符在存儲器任何地方配置。許多硬件外設(shè)(AES內(nèi)核、閃存控制器、USART、定時器、ADC接口)通過使用DMA控制器在SFR或XREG地址和閃存/SRAM之間進(jìn)行數(shù)據(jù)傳輸,在獲得高效率操作的同時,大大減輕了內(nèi)核的負(fù)擔(dān)外設(shè)定時器1是一個16位定時器,具有定時器/PWM功能。它有一個可編程的分頻器,一個16位周期值,和五個各自可編程的計數(shù)器/捕獲通道,每個都有一個16位比較值。每個計數(shù)器/捕獲通道可以用作一個PWM輸出或捕獲輸入信號邊沿的時序。它還可以配置在IR產(chǎn)生模式,定時器3的輸出是用最小的CPU干涉產(chǎn)生調(diào)制的IR信號。MAC定時器(定時器2)是專門為支持IEEE802.15.4MAC或軟件中其他時槽的協(xié)議設(shè)計。定時器有一個可配置的定時器周期和一個8位溢出計數(shù)器,可以用于保持跟蹤已經(jīng)經(jīng)過的周期數(shù)。一個16位捕獲寄存器也用于記錄收到/發(fā)送一個幀開始界定符的精確時間,或傳輸結(jié)束的精確時間,還有一個16位輸出比較寄存器可以在具體時間產(chǎn)生不同的選通命令(開始RX,開始TX,等等)到無線模塊。定時器3和定時器4是8位定時器,具有定時器/計數(shù)器/PWM功能。它們有一個可編程的分頻器,一個可編程的計數(shù)器通道,具有一個8位的比較值。定時器3和定時器4計數(shù)器通道經(jīng)常用作輸出PWM。睡眠定時器是一個超低功耗的定時器,在除了供電模式3的所有工作模式下不斷運行。定時器的典型應(yīng)用是作為實時計數(shù)器,或作為一個喚醒定時器跳出供電模式1或2。外設(shè)ADC支持7到12位的分辨率,分別在30kHz或4kHz的帶寬。DC和音頻轉(zhuǎn)換可以使用高達(dá)八個輸入通道。輸入可以選擇作為單端輸入或差分輸入。參考電壓可以是內(nèi)部電壓、AVDD或是一個單端或差分外部信號。ADC還有一個溫度傳感輸入通道來測量內(nèi)部溫度。ADC可以自動執(zhí)行定期抽樣或轉(zhuǎn)換通道序列的程序。外設(shè)隨機數(shù)發(fā)生器使用一個16位LFSR來產(chǎn)生偽隨機數(shù),這可以被CPU讀取或由選通命令處理器直接使用。例如隨機數(shù)可以用作產(chǎn)生隨機密鑰,用于安全。AES加密/解密內(nèi)核允許用戶使用帶有128位密鑰的AES算法加密和解密數(shù)據(jù)。這一內(nèi)核能夠支持IEEE802.15.4MAC安全、ZigBee網(wǎng)絡(luò)層和應(yīng)用層要求的AES操作。一個內(nèi)置的看門狗允許CC2530在固掛起的情況下復(fù)位自身。當(dāng)看門狗定時器由軟件使能,它必須定期清除;否則,當(dāng)它超時就復(fù)位它就復(fù)位設(shè)備?;蛘咚梢耘渲糜米饕粋€通用32kHz定時器。外設(shè)USART0和USART1每個被配置為一個SPI主/從或一個UART。它們?yōu)镽X和TX提供了雙緩沖,以及硬件流控制,因此非常適合于高吞吐量的全雙工應(yīng)用。每個都有自己的高精度波特率發(fā)生器,因此可以使普通定時器空閑出來用作其他用途。外設(shè)CC2530具有一個IEEE802.15.4兼容無線收發(fā)器。RF內(nèi)核控制模擬無線模塊。另外,它提供了MCU和無線設(shè)備之間的一個接口,這使得可以發(fā)出命令,讀取狀態(tài),自動操作和確定無線設(shè)備事件的順序。無線設(shè)備還包括一個數(shù)據(jù)包過濾和地址識別模塊。無線設(shè)備

通用I/O端口CC2530有21個數(shù)字I/O引腳,可以配置為通用數(shù)字I/O引腳或外設(shè)I/O引腳(即配置為用于CC2530內(nèi)部ADC、定時器或USART的I/O引腳)。這些I/O引腳的用途可以通過一系列寄存器配置,由用戶軟件加以實現(xiàn)。這些I/O引腳具備如下重要特性:

21個數(shù)字I/O引腳可以配置為通用 I/O引腳或外部設(shè)備I/O引腳 輸入口具備上拉或下拉能力具有外部中斷能力,21 個I/O引腳都可以用作于外部中斷源輸入口,外部中斷可以將CC2530從睡眠模式中喚醒通用I/O端口簡介當(dāng)用作通用I/O端口時,引腳可以組成3個8位口,定義為P0、P1和P2。P0和P1為八位,P2為5位,共21個I/O口,所有端口可以實現(xiàn)位尋址。所有的端口均可以通過SFR寄存器P0、P1和P2位尋址和字節(jié)尋址。每個端口引腳都可以單獨設(shè)置為通用I/O端口或外部設(shè)備I/O端口。通用I/O端口簡介(1)寄存器PxSEL,其中x為端口的標(biāo)號0~2,用來設(shè)置端口的每個引腳為通用I/O或者是外部設(shè)備I/O。作為缺省的情況,每當(dāng)復(fù)位之后,所有的數(shù)字輸入/輸出引腳都設(shè)置為通用輸入引腳。(2)寄存器PxDIR來設(shè)置每個端口引腳為輸入或輸出。只要設(shè)置PxDIR中的指定位為1,其對應(yīng)的引腳就被設(shè)置為輸出了,寄存器P0DIR如表5-2。(3)寄存器PxINP用來在通用I/O端口用作輸入時將其設(shè)置為上拉、下拉或三態(tài)操作模式。作為缺省的情況,復(fù)位之后,所有的端口均設(shè)置為帶上拉的輸入。要取消輸入的上拉或下拉功能,就要將PxINP中的對應(yīng)位設(shè)置為1。I/O端口引腳P1_0和P1_1即使外設(shè)功能是輸入,也沒有上拉/下拉功能。通用I/O端口相關(guān)寄存器(1)實驗?zāi)康模壕幊虒崿F(xiàn)點亮實驗板上的發(fā)光二極管LED1和LED2,掌握通用I/O端口輸出的方法。(2)電路分析實驗1:點亮led點亮LED1和LED2,需要將P1_1和P1_7設(shè)為1程序流程圖5.3外部中斷CC2530有18個中斷源。每個中斷源都有它自己的、位于一系列寄存器中的中斷請求標(biāo)志。每個中斷可以分別使能或禁用。中斷概述每個中斷請求可以通過設(shè)置中斷使能寄存器IEN0,IEN1或者IEN2的中斷使能位使能或禁止。某些外部設(shè)備會因為若干中斷事件產(chǎn)生中斷請求。這些中斷請求可以作用于P0端口、P1端口、P2端口、DMA、計數(shù)器或者RF上。對于每個內(nèi)部中斷源對應(yīng)的特殊功能寄存器,這些外部設(shè)備都有中斷屏蔽位。中斷屏蔽中斷使能的步驟(1)使用IEN0中IEN0.EA位為1,開中斷(2)設(shè)置寄存器IEN0、IEN1和IEN2中相應(yīng)中斷使能位為1(3)如果需要,則設(shè)置P0

、P1、P2各引腳對應(yīng)的各中斷使能位為1(4)最后在寄存器PICTL中設(shè)置中斷是上升沿還是下降沿觸發(fā)中斷發(fā)生時,無論該中斷使能或禁止,CPU都會在中斷標(biāo)志寄存器中設(shè)置中斷標(biāo)志位,在程序中可以通過中斷標(biāo)志位來判斷是否發(fā)生了相應(yīng)的中斷。如果當(dāng)設(shè)置中斷標(biāo)志時中斷使能,那么在下一個指令周期,由硬件強行產(chǎn)生一個長調(diào)用指令LCALL 到對應(yīng)的向量地址,運行中斷服務(wù)程序。中斷的響應(yīng)需要不同的時間,取決于該中斷發(fā)生時CPU 的狀態(tài)。當(dāng)CPU 正在運行的中斷服務(wù)程序,其優(yōu)先級大于或等于新的中斷時,新的中斷暫不運行,直至新的中斷的優(yōu)先級高于正在運行的中斷服務(wù)程序。中斷處理(1)實驗?zāi)康模壕幊虒崿F(xiàn)按鍵控制LED1和LED2交替閃爍,掌握通用I/O端口中斷處理方法。(2)實驗步驟與現(xiàn)象:按鍵S1,控制LED1和LED2交替閃爍實驗1:按鍵中斷控制LED程序流程圖5.4定時器

USART、定時器和ADC這樣的片內(nèi)外設(shè)同樣也需要I/O口實現(xiàn)其功能。對于

USART、定時器具有兩個可以選擇的位置對應(yīng)它們的I/O引腳.I/O引腳被選擇實現(xiàn)片內(nèi)外設(shè)I/O功能,需要設(shè)置對應(yīng)的PxSEL位為1。片內(nèi)外設(shè)

I/OCC2530共有四個定時器T1、T2、T3、T4,定時器用于范圍廣泛的控制和測量應(yīng)用,可用的五個通道的正計數(shù)/倒計數(shù)模式可以實現(xiàn)諸如電機控制之類的應(yīng)用。T1為16位定時/計數(shù)器,支持輸入采樣、輸出比較和PWM功能。T1有五個獨立的輸入采樣/輸出比較通道,每一個通道對應(yīng)一個I/O口。T2為MAC定時器,T3、T4為8位定時/計數(shù)器,支持輸出比較和PWM功能。定時器簡介五個捕獲/比較通道上升沿、下降沿或任何邊沿的輸入捕獲設(shè)置、清除或切換輸出比較自由運行、?;蛘嫈?shù)/倒計數(shù)操作可被1,8,32或128整除的時鐘分頻器在每個捕獲/比較和最終計數(shù)上生成中斷請求DMA觸發(fā)功能定時器1的功能T1CNTH –

定時器1計數(shù)高位T1CNTL –

定時器1計數(shù)低位T1CTL –

定時器1控制T1STAT –定時器1狀態(tài)定時器1寄存器定時器1操作自由運行模式在自由運行操作模式下,計數(shù)器從0x0000開始,每個活動時鐘邊沿增加1。當(dāng)計數(shù)器達(dá)到0xFFFF(溢出),計數(shù)器載入0x0000,繼續(xù)遞增它的值,如圖5-8所示。當(dāng)達(dá)到最終計數(shù)值0xFFFF,設(shè)置標(biāo)志IRCON.T1IF和T1STAT.OVFIF。如果設(shè)置了相應(yīng)的中斷屏蔽位 TIMIF.OVFIM以及IEN1.T1IE,將產(chǎn)生一個中斷請求。定時器1操作模模模式當(dāng)定時器運行在模模式,16位計數(shù)器從0x0000開始,每個活動時鐘邊沿增加1。當(dāng)計數(shù)器達(dá)到寄存器T1CC0(溢出)時,寄存器T1CC0H:T1CC0L保存的最終計數(shù)值,計數(shù)器將復(fù)位到0x0000,并繼續(xù)遞增。如果定時器開始于T1CC0以上的一個值,當(dāng)達(dá)到最終計數(shù)值(0xFFFF)時,設(shè)置標(biāo)志IRCON.T1IF和T1CTL.OVFIF。如果設(shè)置了相應(yīng)的中斷屏蔽位TIMIF.OVFIM以及IEN1.T1IE,將產(chǎn)生一個中斷請求。模模式被大量用于周期不是0xFFFF的應(yīng)用程序。定時器1操作正計數(shù)/倒計數(shù)模式在正計數(shù)/倒計數(shù)模式,計數(shù)器反復(fù)從0x0000開始,正計數(shù)直到達(dá)到T1CC0H:T1CC0L保存的值。然后計數(shù)器將倒計數(shù)直到0x0000,如圖5.10所示。這個定時器用于周期必須是對稱輸出脈沖而不是0xFFFF的應(yīng)用程序,因為這種模式允許中心對齊的 PWM輸出應(yīng)用的實現(xiàn)。在正計數(shù) /倒計數(shù)模式,當(dāng)達(dá)到最終計數(shù)值時,設(shè)置標(biāo)志IRCON.T1IF和T1CTL.OVFIF。如果設(shè)置了相應(yīng)的中斷屏蔽位TIMIF.OVFIM以及IEN1.T1EN,將產(chǎn)生一個中斷請求。定時器1包括一個 16位計數(shù)器,在每個活動時鐘邊沿遞增或遞減。活動時鐘邊沿周期由寄存器位CLKCON.TICKSPD定義,它設(shè)置全球系統(tǒng)時鐘的劃分,提供了從0.25MHz到32MHz的不同的時鐘標(biāo)記頻率(可以使用32MHzXOSC作為時鐘源)。這在定時器1中由T1CTL.DIV設(shè)置的分頻器值進(jìn)一步劃分。這個分頻器值可以從1、8、32或128。因此當(dāng)32MHz晶振用作系統(tǒng)時鐘源時,定時器1可以使用的最低時鐘頻率是1953.125Hz,最高是32MHz。當(dāng)16MHzRC振蕩器用作系統(tǒng)時鐘源時,定時器1可以使用的最高時鐘頻率是16MHz。16位計數(shù)器讀取16位的計數(shù)器值:T1CNTH和T1CNTL,分別包含在高位字節(jié)和低位字節(jié)中。當(dāng)讀取T1CNTL時,計數(shù)器的高位字節(jié)在那時被緩沖到T1CNTH,以便高位字節(jié)可以從T1CNTH中讀出。因此T1CNTL必須在讀取T1CNTH之前首先讀取。對T1CNTL寄存器的所有寫入訪問將復(fù)位16位計數(shù)器。當(dāng)達(dá)到最終計數(shù)值(溢出)時,計數(shù)器產(chǎn)生一個中斷請求??梢杂肨1CTL控制寄存器設(shè)置啟動并停止該計數(shù)器。當(dāng)一個不是00值的寫入到T1CTL.MODE時,計數(shù)器開始運行。如果00寫入到T1CTL.MODE,計數(shù)器停止在它現(xiàn)在的值上。16位計數(shù)器定時器3和定時器4的所有定時器功能都是基于8位計數(shù)器建立的,所以定時器3和定時器4最大計數(shù)值要遠(yuǎn)遠(yuǎn)小于定時器1,常用于較短時間間隔的定時。定時器3和定時器4各有0、1兩個通道,功能較定時器1要弱。計數(shù)器在每個時鐘邊沿遞增或遞減?;顒訒r鐘邊沿的周期由寄存器位CLKCONCMD.TICKSPD[2:0]定義,由TxCTL.DIV[2:0](其中x指的是定時器號碼,3或4)設(shè)置的分頻器值進(jìn)一步劃分。計數(shù)器可以作為一個自由運行計數(shù)器,倒計數(shù)器,模計數(shù)器或正/倒計數(shù)器運行。可以通過寄存器TxCNT讀取8位計數(shù)器的值,其中x指的是定時器號碼:3或4。計數(shù)器開始和停止是通過設(shè)置TxCTL控制寄存器的值實現(xiàn)的。當(dāng)TxCTL.START寫入1時,計數(shù)器開始。當(dāng)TxCTL.START寫入0時,計數(shù)器停留在它的當(dāng)前值。定時器3實驗?zāi)康模壕幊虒崿F(xiàn)t1blink.c定時器1控制LED,掌握定時器計數(shù)器的使用方法。實驗現(xiàn)象:led1大約5秒閃爍一次程序分析

(1)在主函數(shù)中,程序首先開T1的溢出中斷,然后設(shè)置T1CTL,使用T1處于8分頻的自由模式。所以T1的計數(shù)器每8/(32*106)秒值增加1,在自由模式下T1計數(shù)器計數(shù)到0xFFFF發(fā)生溢出中斷,大約0.16秒。(2)在中斷處理函數(shù)中,每300次中斷l(xiāng)ed1閃爍一次。實驗1,定時器1控制LED閃爍程序流程圖5.51602型LCD字符型液晶模塊是目前單片機應(yīng)用設(shè)計中最常用的信息顯示器件。1602型LCD是一種工業(yè)字符型液晶,能夠同時顯示16x2即32個字符(16列2行)。LCD1602顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點,被廣泛應(yīng)用于各種單片機應(yīng)用中。1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形。

1602型LCD有8位數(shù)據(jù)總線D0~D7和RS,R/W,E三個控制端口,工作電壓為5V或3.3V,并且具有字符對比度調(diào)節(jié)和背光功能。微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。

1602型LCD第1腳:VSS為電源地第2腳:VCC接電源正極第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平(1)時進(jìn)行讀操作,低電平(0)時進(jìn)行寫操作。第6腳:E(或EN)端為使能(enable)端。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。1602型LCD管腳功能

1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。1602型LCD字符集

讀狀態(tài):輸入:RS=L,RW=H,E=H

輸出:DB0~DB7=狀態(tài)字讀數(shù)據(jù):輸入:RS=H,RW=H,E=H

輸出:無寫指令:輸入:RS=L,RW=L,DB0~DB7=指令碼,E=H輸出:DB0~D7=數(shù)據(jù)寫數(shù)據(jù):輸入:RS=H,RW=L,DB0~DB7=數(shù)據(jù),E=H輸出:無

1602型LCD基本操作程序

1602型LCD讀操作時序

1602型LCD寫操作時序

1602通過D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。(1)顯示模式設(shè)置:(初始化)001001000[0x28]設(shè)置16×2顯示,5×7點陣,4位數(shù)據(jù)接口;(2)顯示開關(guān)及光標(biāo)設(shè)置:(初始化)00001DCBD顯示(1有效)、C光標(biāo)顯示(1有效)、B光標(biāo)閃爍(1有效)000001NSN=1(讀或?qū)懸粋€字符后地址指針加1&光標(biāo)加1),N=0(讀或?qū)懸粋€字符后地址指針減1&光標(biāo)減1),S=1且N=1(當(dāng)寫一個字符后,整屏顯示左移)s=0當(dāng)寫一個字符后,整屏顯示不移動(3)數(shù)據(jù)指針設(shè)置:數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(0-27H,40-67H)

(4)其他設(shè)置:01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針=0)。1602型LCD指令集

LCD1602的四線連接方式可以節(jié)省四個端口,7個I/O端口就可以滿足要求,數(shù)據(jù)口只需要連接DB4-DB7,寫入命令和數(shù)據(jù)的順序是先高四位,后低四位。由于CC2530的I/O端口相對于其它單片機來說較少,所以學(xué)習(xí)板上采用的的是LCD1602四線連接方式。1602型LCD四線連接方式5.7ADC所謂A/D轉(zhuǎn)換器就是模擬/數(shù)字轉(zhuǎn)換器(AnalogtoDigitalConverter簡稱ADC)是將輸入的模擬信號轉(zhuǎn)換成為數(shù)字信號。ADC簡介CC2530的ADC(模擬/數(shù)字轉(zhuǎn)換器)支持多達(dá)14位的模擬數(shù)字轉(zhuǎn)換,具有多達(dá)12位的有效數(shù)字位,比一般的單片機的8位ADC精度要高。它包括一個模擬多路轉(zhuǎn)換器,具有多達(dá)8個各自可配置的通道;以及一個參考電壓發(fā)生器。轉(zhuǎn)換結(jié)果可以通過DMA寫入存儲器,從而減輕CPU的負(fù)擔(dān)。ADC簡介端口0引腳的信號可以用作ADC輸入(這時一般用AIN0-AIN7引腳來稱呼這些引腳)??梢园袮IN0-AIN7配置為單端或差分輸入。在選擇差分輸入的情況下,差分輸入包括輸入對AIN0-1、AIN2-3、AIN4-5和AIN6-7。差分模式下的轉(zhuǎn)換取自輸入對之間的電壓差,例如AIN0和AIN01這兩個引腳的差。除了輸入引腳AIN0-AIN7,片上溫度傳感器的輸出也可以選擇作為ADC的輸入,用于片上溫度測量。還可以輸入一個對應(yīng)AVDD5/3的電壓作為一個ADC輸入。這個輸入允許在應(yīng)用中實現(xiàn)一個電池監(jiān)測器的功能。注意在這種情況下參考電壓不能取決于電源電壓,比如AVDD5電壓不能用作一個參考電壓。八位模擬輸入來自I/O引腳,不必經(jīng)過編程變?yōu)槟M輸入。但是相應(yīng)的模擬輸入在APCFG中禁用,那么通道將被跳過。當(dāng)使用差分輸入,處于差分對的兩個引腳都必須在APCFG寄存器中設(shè)置為模擬輸入引腳ADC輸入ADC的輸入用16個通道來描述,單端電壓輸入AIN0到AIN7以通道號碼0到7表示。差分輸入對AIN0–AIN1、AIN2–AIN3、AIN4–AIN5和AIN6–AIN7用通道8到11表示。GND 通道號12,溫度傳感器通道號14,AVDD5/3通道號15。ADC使用哪個通道作為輸入由寄存器ADCCON2(序列轉(zhuǎn)換)或ADCCON3(單個轉(zhuǎn)換)決定。ADC輸入數(shù)字轉(zhuǎn)換結(jié)果以2的補碼形式表示。對于單端配置,結(jié)果總是為正。這是因為結(jié)果是輸入信號和地面之間的差值,它總是一個正符號數(shù)輸入幅度等于所選的電壓參考VREF時,達(dá)到最大值。對于差分配置,兩個引腳對之間的差分被轉(zhuǎn)換,這個差分可以是負(fù)符號數(shù)。對于抽取率是512的一個數(shù)字轉(zhuǎn)換結(jié)果的12位MSB,當(dāng)模擬輸入Vconv等于VREF時,數(shù)字轉(zhuǎn)換結(jié)果是2047。當(dāng)模擬輸入等于-VREF時,數(shù)字轉(zhuǎn)換結(jié)果是-2048。當(dāng)ADCCON1.EOC設(shè)置為1時,數(shù)字轉(zhuǎn)換結(jié)果是可以獲得的,且結(jié)果放在ADCH和ADCL中。ADC轉(zhuǎn)換結(jié)果除了轉(zhuǎn)換序列,ADC可以編程為從任何通道單獨執(zhí)行一個轉(zhuǎn)換。這樣一個轉(zhuǎn)換通過寫ADCCON1寄存器觸發(fā)。除非一個轉(zhuǎn)換序列已經(jīng)正在進(jìn)行,轉(zhuǎn)換立即開始。單個ADC轉(zhuǎn)換(1)實驗?zāi)康模壕幊虒崿F(xiàn)片內(nèi)溫度傳感器值的讀取,掌握單個ADC

轉(zhuǎn)換編程的方法。(2)實驗步驟與現(xiàn)象:液晶上顯示片內(nèi)溫度傳感器值片內(nèi)溫度傳感器實驗(片內(nèi)溫度傳感器實驗5.8睡眠定時器睡眠定時器用于設(shè)置系統(tǒng)進(jìn)入和退出低功耗睡眠模式之間的周期。睡眠定時器還用于當(dāng)進(jìn)入低功耗睡眠模式時,維持定時器2的定時。睡眠定時器的主要功能如下:24位的定時器正計數(shù)器,運行在32kHz的時鐘頻率24位的比較器,具有中斷和DMA觸發(fā)功能24位捕獲睡眠定時器睡眠定時器是一個24位的定時器,運行在一個32kHz的時鐘頻率(可以是RC振蕩器或晶體振蕩器)上。睡眠定時器在復(fù)位之后立即啟動,如果沒有中斷就繼續(xù)運行。定時器的當(dāng)前值可以從寄存器ST2:ST1:ST0中讀取。當(dāng)定時器的值等于24位比較器的值,就發(fā)生一次定時器比較。通過寫入寄存器ST2:ST1:ST0來設(shè)置比較值。當(dāng)STLOAD.LDRDY是1寫入ST0開始加載新的比較值,即寫入ST2、ST1和ST0寄存器的最新的值。加載期間STLOAD.LDRDY是0,軟件不能開始一個新的加載,直到STLOAD.LDRDY回到1。讀ST0將捕獲24位計數(shù)器的當(dāng)前值。因此,ST0寄存器必須在ST1和ST2之前讀,以捕獲一個正確的睡眠定時器計數(shù)值。當(dāng)發(fā)生一個定時器比較,中斷標(biāo)志STIF被設(shè)置。每次系統(tǒng)時鐘,當(dāng)前定時器值就被更新。ST中斷的中斷使能位是IEN0.STIE,中斷標(biāo)志是IRCON.STIF。睡眠定時器(1)實驗?zāi)康模毫私馑叨〞r器的使用。(2)實驗現(xiàn)象:LED1每隔8秒閃爍10次,LED2每隔8秒閃爍1次睡眠定時器喚醒實驗(3)代碼分析:當(dāng)睡眠定時器的值等于24位比較器的值,就發(fā)生一次睡眠定時器中斷。睡眠定時器在復(fù)位之后立即啟動,所以不能直接設(shè)置睡眠定時器的比較值,需要先將睡眠定時器的當(dāng)前值讀出,再加上需要定時的值,再寫入睡眠定時器。通過寫入寄存器ST2:ST1:ST0來設(shè)置比較值。而STLOAD.LDRDY初始值是1,所以不需要設(shè)置。寫入ST0開始加載新的比較值,即寫入ST2、ST1和ST0寄存器的最新的值。所以寫入的次序應(yīng)為ST2,ST1,ST0.讀ST0將捕獲24位計數(shù)器的當(dāng)前值。因此,ST0寄存器必須在ST1和ST2之前讀,以捕獲一個正確的睡眠定時器計數(shù)值。發(fā)生一次睡眠定時器中斷,IRCON.STIF位將置1,所以在中斷后要繼續(xù)定時需要將STIF位清除。睡眠定時器的時鐘頻率為32.768KHZ,不能分頻,所以一秒鐘睡眠定時器的值會增加32768,也就是睡眠定時器的值增加32768,定時1秒時間。睡眠定時器喚醒實驗睡眠定時器喚醒實驗5.9時鐘和電源管理CC2530不同的運行模式或供電模式用于低功耗運行。超低功耗運行的實現(xiàn)通過關(guān)閉電源模塊以避免損耗功耗,還通過使用特殊的門控時鐘和關(guān)閉振蕩器來降低動態(tài)功耗。CC2530有五種不同的運行模式(供電模式),分別被稱作主動模式、空閑模式、PM1、PM2和PM3。主動模式是一般模式,而PM3具有最低的功耗。CC2530電源管理主動模式:完全功能模式。穩(wěn)壓器的數(shù)字內(nèi)核開啟,16MHzRC振蕩器和32MHz晶體振蕩器運行至少一個運行。32kHzRC振蕩器或32kHz晶體振蕩器也有一個在運行??臻e模式:除了CPU內(nèi)核停止運行,其他和主動模式一樣。PM1:穩(wěn)壓器的數(shù)字部分開啟。32MHz晶體振蕩器和16MHzRC振蕩器都不運行。32kHzRC振蕩器或32kHz晶體振蕩器運行。復(fù)位、外部中斷或睡眠定時器過期時系統(tǒng)將轉(zhuǎn)到主動模式。PM2:穩(wěn)壓器的數(shù)字內(nèi)核關(guān)閉。32MHz晶體振蕩器和16MHzRC振蕩器都不運行。32kHzRC振蕩器或32kHz晶體振蕩器運行。復(fù)位、外部中斷或睡眠定時器到期時系統(tǒng)將轉(zhuǎn)到主動模式。PM3:穩(wěn)壓器的數(shù)字內(nèi)核關(guān)閉。所有的振蕩器都不運行。復(fù)位或外部中斷時系統(tǒng)將轉(zhuǎn)到主動模式。CC2530電源管理所需的供電模式通過使用寄存器SLEEPCMD的MODE位和PCON.IDLE位來選擇。設(shè)置寄存器PCON.IDLE位,進(jìn)入SLEEPCMD.MODE所選的模式。來自端口引腳或睡眠定時器的使能的中斷,或上電復(fù)位將從其他供電模式喚醒設(shè)備,使它回到主動模式。當(dāng)進(jìn)入PM1、PM2或PM3,就運行一個掉電序列。當(dāng)設(shè)備從 PM1、PM2或PM3中出來,它在16MHz開始,如果當(dāng)進(jìn)入供電模式(設(shè)置PCON.IDLE)且CLKCONCMD.OSC=0時,自動變?yōu)?2MHz。如果當(dāng)進(jìn)入供電模式設(shè)置了PCON.IDLE且CLKCONCMD.OSC=1,它繼續(xù)運行在16MHz。CC2530電源管理控制設(shè)備有一個內(nèi)部系統(tǒng)時鐘或主時鐘。該系統(tǒng)時鐘的源既可以用16MHzRC振蕩器,也可以采用32MHz晶體振蕩器。時鐘的控制可以使用寄存器CLKCONCMD來完成。 設(shè)備還有一個32KHz時鐘源,可以是RC振蕩器或晶振,也由CLKCONCMD寄存器控制。CLKCONSTA寄存器是一個只讀的寄存器,用于獲得當(dāng)前時鐘狀態(tài)。振蕩器可以選擇高精度的晶體振蕩器,也可以選擇低功耗的高頻RC振蕩器。CC2530振蕩器和時鐘32MHz 晶振振蕩器16MHzRC振蕩器32MHz晶振振蕩器啟動時間對一些應(yīng)用程序來說可能比較長,因此設(shè)備可以運行在16MHzRC振蕩器,直到晶振穩(wěn)定。16MHzRC振蕩器功耗少于晶振振蕩器,但是由于不像晶振那么精確,不能用于RF收發(fā)器操作。高頻振蕩器32kHz晶體振蕩器用于運行在32.768kHz,為系統(tǒng)需要的時間精度提供一個穩(wěn)定的時鐘信號。校準(zhǔn)時 32kHzRC振蕩器運行在 32.753kHz。32kHzRC振蕩器應(yīng)用于降低成本和電源消耗。這兩個32kHz振蕩器不能同時運行。低頻振蕩器(1)實驗?zāi)康模毫私鈳追N系統(tǒng)電源模式的基本設(shè)置及切換。(2)實驗現(xiàn)象:程序指定S1為外部中斷源喚醒CC2530,每次系統(tǒng)喚醒LED1燈亮,LED2閃爍10下后關(guān)閉兩LED,進(jìn)入系統(tǒng)睡眠模式PM3。當(dāng)然,也可通過系統(tǒng)復(fù)位進(jìn)行系統(tǒng)喚醒。實驗1:中斷喚醒系統(tǒng)實驗實驗1:中斷喚醒系統(tǒng)實驗5.10看門狗當(dāng)單片機程序可能進(jìn)入死循環(huán)情況下,看門狗定時器(WDT)用作一個恢復(fù)的方法。當(dāng)軟件在選定時間間隔內(nèi)不能清除WDT時,WDT必須復(fù)位系統(tǒng)。看門狗可用于容易受到電氣噪音、電源故障、靜電放電等影響的應(yīng)用,或需要高可靠性的環(huán)境。如果一個應(yīng)用不需要看門狗功能,可以配置看門狗定時器為一個定時器,這樣可以用于在選定的時間間隔產(chǎn)生中斷。看門狗在系統(tǒng)復(fù)位之后,看門狗定時器就被禁用。要設(shè)置WDT在看門狗模式,必須設(shè)置WDCTL.MODE[1:0]位為10 。然后看門狗定時器的計數(shù)器從0開始遞增。在看門狗模式下,一旦定時器使能,就不可以禁用定時器,因此,如果WDT位已經(jīng)運行在看門狗模式下,再往WDCTL.MODE[1:0]寫入00或10就不起作用了。WDT運行在一個頻率為32.768kHz(當(dāng)使用32kHzXOSC)的看門狗定時器時鐘上。這個時鐘頻率的超時期限等于1.9ms,15.625ms,0.25s和1s,分別對應(yīng)64,512,8192和32768的計數(shù)值設(shè)置。如果計數(shù)器達(dá)到選定定時器的間隔值,看門狗定時器就為系統(tǒng)產(chǎn)生一個復(fù)位信號。如果在計數(shù)器達(dá)到選定定時器的間隔值之前,執(zhí)行了一個看門狗清除序列,計數(shù)器就復(fù)位到0,并繼續(xù)遞增。看門狗清除的序列包括在一個看門狗時鐘周期內(nèi),寫入0xA到WDCTL.CLR[3:0],然后寫入0x5到同一個寄存器位。如果這個序列沒有在看門狗周期結(jié)束之前執(zhí)行完畢,看門狗定時器就為系統(tǒng)產(chǎn)生一個復(fù)位信號。在看門狗模式下,WDT使能,就不能通過寫入WDCTL.MODE[1:0]位改變這個模式,且定時器間隔值也不能改變。在看門狗模式下,WDT不會產(chǎn)生一個中斷請求??撮T狗模式如果不需要看門狗功能,可以將看門狗定時器設(shè)置成普通定時器,必須把WDCTL.MODE[1:0]位設(shè)置為11。定時器就開始,且計數(shù)器從0開始遞增。當(dāng)計數(shù)器達(dá)到選定間隔值,定時器將產(chǎn)生一個中斷請求。在定時器模式下,可以通過寫入1到WDCTL.CLR[0]來清除定時器內(nèi)容。當(dāng)定時器被清除,計數(shù)器的內(nèi)容就置為0。寫入00或01到WDCTL.MODE[1:0]來停止定時器,并清除它為0。定時器間隔由WDCTL.INT[1:0]位設(shè)置。在定時器操作期間,定時器間隔不能改變,且當(dāng)定時器開始時必須設(shè)置。在定時器模式下,當(dāng)達(dá)到定時器間隔時,不會產(chǎn)生復(fù)位。注意如果選擇了看門狗模式,定時器模式就不能在芯片復(fù)位之前選擇。定時器模式(1)實驗?zāi)康模壕幊虒崿F(xiàn)看門狗周期單片機重啟,LED1和LED2不斷閃爍。加入喂狗函數(shù)后不重啟,驗證看門狗功能??撮T狗實驗5.11DMA

DMA是directmemoryaccess的縮寫,即“直接內(nèi)存存取”。這是一種高速的數(shù)據(jù)傳輸模式,ADC/UART/RF收發(fā)器等外設(shè)單元和存儲器之間可以直接在“DMA控制器”的控制下交換數(shù)據(jù)而幾乎不需要CPU的干預(yù)。除了在數(shù)據(jù)傳輸開始和結(jié)束時做一點處理外,在傳輸過程中CPU可以進(jìn)行其他的工作。這樣,在大部分時間里,CPU和這些數(shù)據(jù)交互處于并行工作狀態(tài)。因此,系統(tǒng)的整體效率可以得到很大的提高。DMA控制器有5個通道,即DMA通道0到通道4。每個DMA通道能夠從DMA存儲器空間的一個位置傳送數(shù)據(jù)到另一個位置,比如XDATA位置之間。當(dāng)DMA通道配置完畢后,在允許任何傳輸發(fā)起之前,必須進(jìn)入工作狀態(tài)。DMA通道通過將DMA通道工作狀態(tài)寄存器DMAARM中指定位置1,就可以進(jìn)入工作狀態(tài)。一旦DMA通道進(jìn)入工作狀態(tài),當(dāng)配置的DMA觸發(fā)事件發(fā)生時,DMA傳送就開始了。可能的DMA觸發(fā)事件有32個,例如UART傳輸、定時器溢出等。DMA通道要使用的觸發(fā)事件由DMA通道配置設(shè)置,因此直到配置被讀取之后,才能知道。DMA操作(1)源地址DMA通道開始讀數(shù)據(jù)的地址,在XDATA存儲器中。這可以是任何XDATA地址——在RAM中,在映射的閃存區(qū)(cfMEMCTR.XBANK)中,XREG或XDATA尋址的。(2) 目標(biāo)地址DMA通道從源地址讀出的要寫數(shù)據(jù)的首地址。用戶必須確認(rèn)該目標(biāo)地址可寫。這可以是任何XDATA地址——在RAM、XREG或XDATA尋址的SFR中。(3) 傳送數(shù)量DMA傳輸完成之前必須傳送的字節(jié)/字的個數(shù)。當(dāng)達(dá)到傳送數(shù)量,DMA通道重新進(jìn)入工作狀態(tài)或者解除工作狀態(tài),并警告CPU即將有中斷請求到來。傳送數(shù)量可以在配置中定義,或可以采用可變長度。(4)VLEN設(shè)置DMA配置參數(shù)(5)DMA通道可以利用源數(shù)據(jù)中的第一個字節(jié)或字(對于字,使用位12:0)作為傳送長度。這允許可變長度的傳輸。當(dāng)使用可變長度傳送時,要給出關(guān)于如何計算要傳輸?shù)淖止?jié)數(shù)的各種選項。在任何情況下,都是設(shè)置傳送長度(LEN)為傳送的最大長度。如果首字節(jié)或字指明的傳輸長度大于LEN,那么LEN個字節(jié)/字將被傳輸。當(dāng)使用可變長度傳輸,那么LEN應(yīng)設(shè)置位允許傳輸?shù)淖畲箝L度加一。注意,僅在選擇字節(jié)長度傳送數(shù)據(jù)時才可以使用M8 位(見8.2.11節(jié))??梢酝琕LEN一起設(shè)置的選項如下:1)傳輸首字節(jié)/字規(guī)定的個數(shù)+1字節(jié)/字(先傳輸字節(jié)/字的長度,然后按照字節(jié)/字長度指定的傳輸盡可能多的字節(jié)/字)2)傳輸首字節(jié)/字規(guī)定的字節(jié)/字3)傳輸首字節(jié)/字規(guī)定的個數(shù)+2字節(jié)/字(先傳輸字節(jié)/字的長度,然后按照字節(jié)/字長度指定+1傳輸盡可能多的字節(jié)/字)4)傳輸首字節(jié)/字規(guī)定的個數(shù)+3字節(jié)/字(先傳輸字節(jié)/字的長度,然后按照字節(jié)/字長度指定+2傳輸盡可能多的字節(jié)/字)

DMA配置參數(shù)(6)源和目標(biāo)增量當(dāng)DMA通道進(jìn)入工作狀態(tài)或者重新進(jìn)入工作狀態(tài)時,源地址和目標(biāo)地址傳送到內(nèi)部地址指針。其地址增量可能有下列4種:增量為0。每次傳送之后,地址指針將保持不變。增量為l。每次傳送之后,地址指針將加上1個數(shù)。增量為2。每次傳送之后,地址指針將加上2個數(shù)。 減量為 1。每次傳送之后,地址指針將減去1個數(shù)。其中一個數(shù)在字節(jié)模式下等于1個字節(jié),在字模式下等于2個字節(jié)。 減量為 1。每次傳送之后,地址指針將減去1個數(shù)。其中一個數(shù)在字節(jié)模式下等于1個字節(jié),在字模式下等于2個字節(jié)。(7)DMA傳輸模式傳輸模式確定當(dāng)DMA通道開始傳輸數(shù)據(jù)時是如何工作的。以下描述了四種傳輸模式:單一模式:每當(dāng)觸發(fā)時,發(fā)生一個DMA 傳送,DMA通道等待下一個觸發(fā)。完成指定的傳送長度后,傳送結(jié)束,通報CPU,解除DMA通道的工作狀態(tài)。塊模式:每當(dāng)觸發(fā)時,按照傳送長度指定的若干DMA傳送被盡快傳送,此后,通報CPU,解除DMA通道的工作狀態(tài)。重復(fù)的單一模式:每當(dāng)觸發(fā)時,發(fā)生一個DMA傳送,DMA通道等待下一個觸發(fā)。完成指定的傳送長度后,傳送結(jié)束,通報CPU,且DMA通道重新進(jìn)入工作狀態(tài)。重復(fù)的塊模式:每當(dāng)觸發(fā)時,按照傳送長度指定的若干DMA傳送被盡快傳送,此后通報CPU,DMA通道重新進(jìn)入工作狀態(tài)。DMA配置參數(shù)(8)DMA優(yōu)先級DMA優(yōu)先級別對每個DMA通道是可以配置的。DMA優(yōu)先級別用于判定同時發(fā)生的多個內(nèi)部存儲器請求中的哪一個優(yōu)先級最高,以及DMA存儲器存取的優(yōu)先級別是否超過同時發(fā)生的CPU存儲器存取的優(yōu)先級別。在同屬內(nèi)部關(guān)系的情況下,采用輪轉(zhuǎn)調(diào)度方案應(yīng)對,確保所有的存取請求。有三種級別的DMA優(yōu)先級:高級:最高內(nèi)部優(yōu)先級別。DMA存取總是優(yōu)先于CPU存取。一般級:中等內(nèi)部優(yōu)先級別。保證DMA存取至少在每秒一次的嘗試中優(yōu)先于CPU存取。低級:最低內(nèi)部優(yōu)先級別。DMA存取總是劣于CPU存取。(9)字節(jié)或字傳輸判定已經(jīng)完成的傳送究竟是8 位(字節(jié))還是16位(字)。(10)中斷屏蔽在完成DMA傳送的基礎(chǔ)上,該DMA通道能夠產(chǎn)生一個中斷到處理器。這個位可以屏蔽該中斷。(11)模式8設(shè)置這個域的值,決定是采用7位還是8位長的字節(jié)來傳送數(shù)據(jù)。此模式僅僅適用于字節(jié)傳送。DMA配置參數(shù)停止DMA傳輸使用DMAARM寄存器來解除DMA通道工作狀態(tài),停止正在運行的DMA傳送或進(jìn)入工作狀態(tài)的DMA。將1寫入DMAARM.ABORT寄存器位,就會停止一個或多個進(jìn)入工作狀態(tài)的DMA通道,同時通過設(shè)置相應(yīng)的DMAARM.DMAARMx為1選擇停止哪個DMA通道。當(dāng)設(shè)置DMAARM.ABORT為1,非停止通道的DMAARM.DMAARMx位必須寫入0。DMA中斷每個DMA通道可以配置為一旦完成DMA傳送,就產(chǎn)生中斷到CPU。該功能由IRQMASK位在通道配置時實現(xiàn)。當(dāng)中斷產(chǎn)生時,寄存器DMAIRQ中所對應(yīng)的中斷標(biāo)志位置1。當(dāng)然要處理DMA中斷需要設(shè)置DMAIE=1和EA=1;一旦DMA通道完成傳送,不管在

溫馨提示

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

評論

0/150

提交評論