freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

智能無(wú)線(xiàn)傳感網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)與實(shí)現(xiàn)(畢業(yè)設(shè)計(jì))(doc畢業(yè)設(shè)計(jì)論文)(編輯修改稿)

2024-07-16 01:57 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ATMEL 的高密度非易失性?xún)?nèi)存技術(shù)生產(chǎn)的。FLASH 程序存儲(chǔ)器可以通過(guò) SPI 串行接口或通用編程器或運(yùn)行于 AVR 核上的片內(nèi) BOOT 程序多次編程。BOOT 程序可以用任意的接口下載到應(yīng)用 FLASH 程序存儲(chǔ)器中。當(dāng)應(yīng)用程序區(qū)被更新時(shí) BOOT 區(qū)的軟件將繼續(xù)運(yùn)行,提供寫(xiě)操作時(shí)真正可讀的功能。通過(guò)將增強(qiáng)的RISC 8位CPU與FLASH集成在一個(gè)芯片內(nèi)ATmega8為許多嵌入式控制應(yīng)用提供了靈活而低成本的方案。ATmega128 具有一整套的編程和系統(tǒng)開(kāi)發(fā)工具:C 編譯器、宏匯編器、調(diào)試/模擬器、JTAG ICE 在線(xiàn)仿真器和 MEGA128 評(píng)估板。圖7 ATmega128 的引腳示意圖 ATmega128 具有兩個(gè)主存儲(chǔ)器空間:數(shù)據(jù)寄存器和程序寄存器。此外ATmega128 還有一個(gè) EEPROM 存儲(chǔ)器以保存數(shù)據(jù),這三個(gè)存儲(chǔ)器空間都是線(xiàn)性的。為了增加數(shù)據(jù)存儲(chǔ)空間,在微控制器外部還擴(kuò)展了一個(gè) 4Mb 的 SPI 串行接口 FLASH 數(shù)據(jù)存儲(chǔ)器 AT45DB041B。 Flash 程序存儲(chǔ)器ATmega128 具有 128K 字節(jié)的在線(xiàn)編程 Flash。因?yàn)樗械?AVR 指令為 16位或 32 位,F(xiàn)LASH 組織成 64K x 16 的形式。Flash 存儲(chǔ)器至少可以擦寫(xiě) 10,000次。ATmega128 的程序計(jì)數(shù)器 PC 為 16 位,因此可以尋址 64K 的程序存儲(chǔ)器??紤]到軟件安全性, Flash 程序存儲(chǔ)器分為兩個(gè)區(qū):引導(dǎo)程序區(qū)和應(yīng)用程序區(qū)。兩個(gè)區(qū)的存儲(chǔ)空間大小由 BOOTSZ 熔絲位配置,F(xiàn)LASH 存儲(chǔ)器映像如圖 8 所示。由于兩個(gè)區(qū)使用不同的鎖定位,所以可以具有不同的加密級(jí)別。如果不需要 Boot Loader 功能,則整個(gè) Flash 都可以為應(yīng)用代碼所用。BootLoader 具有兩套可以獨(dú)立設(shè)置的 Boot 鎖定位。靈活地選擇不同的代碼保護(hù)方式。通過(guò)跳轉(zhuǎn)指令或從應(yīng)用區(qū)調(diào)用的方式可以進(jìn)入 Boot Loader。這些操作可以由一些觸發(fā)信號(hào)啟動(dòng),比如通過(guò) USART 或 SPI 接口接收到了相關(guān)的命令。另外,可以通過(guò)編程 Boot 復(fù)位熔絲位使得復(fù)位向量指向 Boot 區(qū)的起始地址。這樣,復(fù)位后 Boot Loader 立即就啟動(dòng)了。加載了應(yīng)用代碼后,程序開(kāi)始執(zhí)行應(yīng)用代碼。MCU 本身不能改變?nèi)劢z位的設(shè)置。也就是說(shuō),一旦 Boot 復(fù)位熔絲位被編程,復(fù)位向量將一直指向 Boot 區(qū)的起始地址。熔絲位只能通過(guò)串行或者并行編程的方法來(lái)改變。圖 8 FLASH 存儲(chǔ)器映像 SRAM 數(shù)據(jù)存儲(chǔ)器ATmega128 支持兩種不同的 SRAM 配置:內(nèi)部 SRAM 數(shù)據(jù)存儲(chǔ)器共 4096個(gè)字節(jié),或者擴(kuò)展外部 SRAM,最多達(dá) 64K 字節(jié)。ATmega128 是一個(gè)復(fù)雜的微處理器,其支持的外設(shè)要比預(yù)留的 64 個(gè) I/O(通過(guò) IN/OUT 指令訪(fǎng)問(wèn)) 所能支持的要多。對(duì)于擴(kuò)展的 I/O 空間$60 $FF,只能使用 ST/STS/STD 和 LD/LDS/LDD指令。在普通模式下,前 4352 個(gè)數(shù)據(jù)地址包含寄存器文件,I/O 存儲(chǔ)器,擴(kuò)展的 I/O 存儲(chǔ)器以及內(nèi)部數(shù)據(jù) SRAM。起始的 32 個(gè)地址為寄存器文件,然后是64 個(gè) I/O 存儲(chǔ)器,接著是 160 個(gè)擴(kuò)展的 I/O 存儲(chǔ)器,最后是 4096 字節(jié)的內(nèi)部數(shù)據(jù) SRAM。ATmega128 還可以訪(fǎng)問(wèn)直到 64K 的外部數(shù)據(jù) SRAM。其起始緊跟在內(nèi)部SRAM 之后。在普通模式下,寄存器文件、I/O 存儲(chǔ)器、擴(kuò)展的 I/O 存儲(chǔ)器以及內(nèi)部數(shù)據(jù)SRAM 占據(jù)了低4352字節(jié);而在ATmega103兼容模式下占據(jù)了4096字節(jié)(沒(méi)有擴(kuò)展 I/O)。因此,在使用外部存儲(chǔ)器時(shí)普通模式只能有 61184 字節(jié),ATmega103 兼容模式只能有61440 字節(jié)。當(dāng)訪(fǎng)問(wèn)SRAM 的地址超出內(nèi)部SRAM的地址時(shí),MCU 將對(duì)外部 SRAM 尋址(指令相同)。訪(fǎng)問(wèn)內(nèi)部 SRAM 時(shí)讀/ 寫(xiě)鎖存信號(hào)(PG0 和 PG1) 無(wú)效。若要訪(fǎng)問(wèn)外部 SRAM,必須置位 MCUCR 的 SRE。訪(fǎng)問(wèn)外部 SRAM 比訪(fǎng)問(wèn)內(nèi)部的要多一個(gè)時(shí)鐘周期,這意味著 LD、ST、LDS、STS、LDD、STD、PUSH 和 POP 指令將多一個(gè)時(shí)鐘周期。如果堆棧放置于外部 SRAM,則中斷和函數(shù)調(diào)用將花費(fèi)額外的三個(gè)時(shí)鐘周期。如果外部 SRAM 接口使用了 3 個(gè)等待周期,則訪(fǎng)問(wèn)周期將相應(yīng)增加 4 個(gè)時(shí)鐘周期;中斷和子程序調(diào)用的開(kāi)銷(xiāo)則增加 9 個(gè)時(shí)鐘周期。數(shù)據(jù)尋址模式分為 5 種:直接尋址,帶偏移量的間接尋址,間接尋址,預(yù)減的間接尋址,以及后加的間接尋址。寄存器 R26 到 R31 為間接尋址的指針寄存器。直接尋址訪(fǎng)問(wèn)整個(gè)數(shù)據(jù)空間。帶偏移量的間接尋址模式尋址到 Y、Z 指針給定地址附近的 63 個(gè)地址。帶預(yù)減和后加的間接尋址模式要用到 X、Y、Z 指針。32 個(gè)通用寄存器,64 個(gè) I/O 寄存器,4096 字節(jié)的 SRAM 可以被所有的尋址模式所訪(fǎng)問(wèn)。4 EEPROM 數(shù)據(jù)存儲(chǔ)器ATmega128 包含 4K 字節(jié)的 EEPROM。它是作為一個(gè)獨(dú)立的數(shù)據(jù)空間而存在的,可以按字節(jié)讀寫(xiě)。EEPROM 的壽命至少為 100,000 次(擦除)。EEPROM的訪(fǎng)問(wèn)由地址寄存器,數(shù)據(jù)寄存器和控制寄存器決定。EEPROM 的訪(fǎng)問(wèn)寄存器位于 I/O 空間。當(dāng)執(zhí)行 EEPROM 讀操作時(shí),CPU 會(huì)停止工作 4 個(gè)周期,然后再執(zhí)行后續(xù)指令;當(dāng)執(zhí)行 EEPROM 寫(xiě)操作時(shí),CPU 會(huì)停止工作 2 個(gè)周期,然后再執(zhí)行后續(xù)指令。在 CPU 寫(xiě) Flash 存儲(chǔ)器的時(shí)候不能對(duì) EEPROM 進(jìn)行編程。在啟動(dòng) EEPROM 寫(xiě)操作之前軟件必須要檢查 Flash 寫(xiě)操作是否已經(jīng)完成。圖 9是實(shí)現(xiàn) EEPROM 的寫(xiě)操作的程序流程圖。 外部 Flash 數(shù)據(jù)存儲(chǔ)器 AT45DB041B為了增加節(jié)點(diǎn)的數(shù)據(jù)存儲(chǔ)器的容量,并且考慮到設(shè)計(jì)中成本和體積的限制,選用了大容量對(duì)速度要求不很高的 SPI 串行數(shù)據(jù) FLASH 存儲(chǔ)器AT45DB041B。圖 10 是 AT45DB041B 與 ATmega128 的接口電路以及設(shè)計(jì)所需用的封裝示意圖。AT45DB041B 的特點(diǎn)如下:?jiǎn)我坏?~ 電源;串行接口結(jié)構(gòu);頁(yè)面編程操作,單一的循環(huán)重復(fù)編程(擦除和編程,2048 頁(yè)(每頁(yè) 264 字節(jié))主存;兩個(gè) 264 字節(jié)的 SRAM 數(shù)據(jù)緩存,允許在重編程非易失性存儲(chǔ)器時(shí)接收數(shù)據(jù);內(nèi)置的編程和控制定時(shí)器;低功耗,4mA 有源讀取電流,2μACMOS 備用電流;15MHz 的最大時(shí)鐘頻率;串行外圍接口方式(SPI)——模式 0 和 3;CMOS 的TTL 兼容的輸入和輸出; 可承受的輸入,SI、SCK、CS(低電平有效)、RESET(低電平有效)。圖9 EEPROM 寫(xiě)操作的程序流程圖圖 與 ATmega128 接口電路及其圖10 AT45DB041B 與 ATmega128 接口電路及其封裝示意圖采用微控制器的優(yōu)點(diǎn)是為了支持對(duì)實(shí)時(shí)任務(wù)的響應(yīng),而中斷是微控制器實(shí)現(xiàn)實(shí)時(shí)操作的硬件保證。當(dāng)中斷被觸發(fā)后,當(dāng)前主程序?qū)?huì)暫時(shí)停止向下運(yùn)行,程序計(jì)數(shù)器指向中斷所對(duì)應(yīng)的中斷向量指向的地址,執(zhí)行中斷服務(wù)子程序,完成之后程序指針回到主程序,繼續(xù)運(yùn)行主程序。ATmega128 的中斷都是由硬件信號(hào)觸發(fā),包括內(nèi)部中斷與外部中斷。復(fù)位和中斷向量放在程序存儲(chǔ)器的起始地址當(dāng)中,$0000 對(duì)應(yīng)于復(fù)位中斷,表 2 是 ATmega128 復(fù)位和中斷向量表。 外部中斷通過(guò)引腳 INT7:0 觸發(fā)。只要使能中斷,即使引腳 INT7:0 配置為輸出,只要電平發(fā)生了合適的變化,中斷也會(huì)觸發(fā)。這個(gè)特點(diǎn)可以用來(lái)產(chǎn)生軟件中斷。通過(guò)設(shè)置外部中斷控制寄存器– EICRA(INT3:0) 和 EICRB (INT7:4),中斷可以由下降沿、上升沿,或者是低電平觸發(fā)。當(dāng)外部中斷使能并且配置為電平觸發(fā),只要引腳電平為低,中斷就會(huì)產(chǎn)生。若要求 INT7:4 在信號(hào)下降沿或上升沿觸發(fā),I/O 時(shí)鐘必須工作。INT3:0 的中斷條件檢測(cè)則是異步的,即這些中斷可以用來(lái)將器件從睡眠模式喚醒。在睡眠過(guò)程( 除了空閑模式) 中 I/O 時(shí)鐘是停止的。通過(guò)電平方式觸發(fā)中斷,從而將 MCU 從掉電模式喚醒時(shí),表 2 ATmega128 復(fù)位和中斷向量表向量號(hào)程序地址中斷源中斷定義1$0000RESET外部引腳,上電復(fù)位,掉電檢測(cè)復(fù)位,看門(mén)狗復(fù)位,以及 JTAG AVR 復(fù)位2$0002INT0外部中斷請(qǐng)求03$0004INT1外部中斷請(qǐng)求14$0006INT2外部中斷請(qǐng)求25$0008INT3外部中斷請(qǐng)求36$000AINT4外部中斷請(qǐng)求47$000CINT5外部中斷請(qǐng)求58$000EINT6外部中斷請(qǐng)求69$0010INT7外部中斷請(qǐng)求710$0012TIMER2 COMP定時(shí)器/計(jì)數(shù)器2 比較匹配11$0014TIMER2 OVF定時(shí)器/計(jì)數(shù)器2 溢出12$0016TIMER1 CAPT定時(shí)器/計(jì)數(shù)器13$0018TIMER1 COMPA定時(shí)器/計(jì)數(shù)器14$001ATIMER1 COMPB定時(shí)器/計(jì)數(shù)器15$001CTIMER1 OVF定時(shí)器/計(jì)數(shù)器16$001ETIMER0 COMP定時(shí)器/計(jì)數(shù)器17$0020TIMER0 OVF定時(shí)器/計(jì)數(shù)器18$0022SPI 串行傳輸結(jié)束19$002420$0026USART0數(shù)據(jù)寄存器空21$002822$002AADCADC轉(zhuǎn)換結(jié)束23$002CEE READYEEPROM就緒要保證電平保持一定的時(shí)間,以降低 MCU 對(duì)噪聲的敏感程度。電平以看門(mén)狗的頻率檢測(cè)兩次。在 、25176。C 的條件下,看門(mén)狗的標(biāo)稱(chēng)時(shí)鐘周期為 1 μs。只要在采樣過(guò)程中出現(xiàn)了合適的電平,或是信號(hào)持續(xù)到啟動(dòng)過(guò)程的末尾, MCU 就會(huì)喚醒。若信號(hào)出現(xiàn)于兩次采樣過(guò)程,但在啟動(dòng)過(guò)程結(jié)束之前就消失了,MCU 仍將喚醒,但不再會(huì)引發(fā)中斷了。要求的電平必須保持足夠長(zhǎng)的時(shí)間以使 MCU 結(jié)束喚醒過(guò)程,然后觸發(fā)電平中斷。 AVR 處理器指令集Atmel 的 AVR 全系列微控制器都是采用 Atmel 精簡(jiǎn)指令集(RSIC),包含118 條指令,分成四個(gè)子集:算術(shù)和邏輯運(yùn)算、代碼分支、數(shù)據(jù)轉(zhuǎn)換和位測(cè)試。采用高級(jí)語(yǔ)言C語(yǔ)言編寫(xiě)基于AVR指令集的應(yīng)用程序,通過(guò)AVRStudio或者IAR編譯器轉(zhuǎn)換成 16 進(jìn)制代碼,寫(xiě)入程序程序存儲(chǔ)器中。 電源管理及睡眠模式睡眠模式可以使應(yīng)用程序關(guān)閉 MCU 中沒(méi)有使用的模塊,從而降低功耗。AVR 具有不同的睡眠模式,允許用戶(hù)根據(jù)自己的應(yīng)用要求實(shí)施剪裁。進(jìn)入睡眠模式的條件是置位寄存器 MCUCR 的 SE,然后執(zhí)行 SLEEP 指令。具體哪一種模式( 空閑模式、ADC 噪聲抑制模式、掉電模式、省電模式、Standby 模式和擴(kuò)展 Standby 模式) 由 MCUCR 的 SMSM1 和 SM0 決定。使能的中斷可以將進(jìn)入睡眠模式的 MCU 喚醒。經(jīng)過(guò)啟動(dòng)時(shí)間,外加 4 個(gè)時(shí)鐘周期后,MCU 就可以運(yùn)行中斷例程了。然后返回到 SLEEP 的下一條指令。喚醒時(shí)不會(huì)改變寄存器文件和 SRAM 的內(nèi)容。如果在睡眠過(guò)程中發(fā)生了復(fù)位,則 MCU 喚醒后從中斷向量開(kāi)始執(zhí)行。MCU 控制寄存器(MCUCR)包含了電源管理的控制位。SM2..0 是睡眠模式的選擇位,用于選擇具體的睡眠模式。表 3為對(duì)應(yīng)的睡眠模式選擇。(1)空閑模式:當(dāng) SM2..0 為 000 時(shí),SLEEP 指令將使 MCU 進(jìn)入空閑模式。在此模式下,CPU 停止運(yùn)行,而 SPI、USART、模擬比較器、ADC、兩線(xiàn)接口、定時(shí)器/ 計(jì)數(shù)器、看門(mén)狗和中斷系統(tǒng)繼續(xù)工作。這個(gè)睡眠模式只停止了clkCPU 和 clkFLASH,其他時(shí)鐘則繼續(xù)工作。內(nèi)外部中斷都可以喚醒 MCU。如果不需要從模擬比較器中斷喚醒 MCU,為了減少功耗,可以切斷比較器的電源。方法是置位模擬比較器控制和狀態(tài)寄存器 ACSR 的位 ACD。如果 ADC 使能,進(jìn)入此模式后將自動(dòng)啟動(dòng)一次轉(zhuǎn)換。(2)ADC 噪聲抑制模式:當(dāng) SM2..0 為 001 時(shí),SLEEP 指令將使 MCU 進(jìn)入噪聲抑制模式。在此模式下,CPU 停止運(yùn)行,而 ADC、外部中斷、兩線(xiàn)接口地址配置、定時(shí)器/ 計(jì)數(shù)器 0 和看門(mén)狗繼續(xù)工作。這個(gè)睡眠模式只停止了 clkI/O、clkCPU 和 clkFLASH,其他時(shí)鐘則繼續(xù)工作。此模式提高了 ADC 的噪聲環(huán)境,使得轉(zhuǎn)換精度更高。ADC 使能的時(shí)候,進(jìn)入此模式將自動(dòng)啟動(dòng)一次 AD 轉(zhuǎn)換。ADC 轉(zhuǎn)換結(jié)束中斷、外部復(fù)位、看門(mén)狗復(fù)位、BOD 復(fù)位、兩線(xiàn)接口地址匹配中斷、定時(shí)器/ 計(jì)數(shù)器 0 中斷、SPM/EEPROM 準(zhǔn)備好中斷、外部中斷 INT7:4,或外部中斷 INT3:0 可以將 MCU 從 ADC 噪聲抑制模式喚醒。(3)掉電模式:當(dāng) SM2..0 為 010 時(shí),SLEEP 指令將使 MCU 進(jìn)入掉電模式。在此模式下,外部晶體停振,而外部中斷、兩線(xiàn)接口地址匹配及看門(mén)狗(如果使能的話(huà))繼續(xù)工作。只有外部復(fù)位、看門(mén)狗復(fù)位、BOD 復(fù)位、兩線(xiàn)接口地址匹配中斷、外部電平中斷 INT7:4,或外部中斷 INT3:0 可以使 MCU 脫離掉電模式。這個(gè)睡眠模式停止了所有的時(shí)鐘,只有異步模塊可以繼續(xù)工作。當(dāng)使用外部電平中斷方式將 MCU 從掉電模式喚醒時(shí),必須保持外部電平一定的時(shí)間。從施加掉電喚醒條件到真正喚醒有一個(gè)延遲時(shí)間,此時(shí)間用于時(shí)鐘重新啟動(dòng)并穩(wěn)定下來(lái)。喚醒周期與由熔絲位 CKSEL 定義的復(fù)位周期是一樣的。表3 睡眠模式選擇SM2SM1SM0睡眠模式000空閑模式001ADC噪聲抑制模式010掉電模式
點(diǎn)擊復(fù)制文檔內(nèi)容
外語(yǔ)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1