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

正文內(nèi)容

基于avr單片機(jī)的智能門(mén)鈴論文(編輯修改稿)

2024-07-15 15:28 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 C是端口A與A/D轉(zhuǎn)換器的電源。不使用ADC時(shí),該引腳應(yīng)直接與VCC連接。使用ADC時(shí)應(yīng)通過(guò)一個(gè)低通濾波器與VCC 連接。AREF A/D 的模擬基準(zhǔn)輸入引腳。Atmeg16的引腳圖如圖11所示:圖21 atmeg16引腳圖 PB口特殊功能表 AVR內(nèi)核為了獲得最高的性能以及并行性, AVR 采用了Harvard 結(jié)構(gòu),具有獨(dú)立的數(shù)據(jù)和程序總線。程序存儲(chǔ)器里的指令通過(guò)一級(jí)流水線運(yùn)行。CPU 在執(zhí)行一條指令的同時(shí)讀取下一條指令( 在本文稱為預(yù)取)。這個(gè)概念實(shí)現(xiàn)了指令的單時(shí)鐘周期運(yùn)行。程序存儲(chǔ)器是可以在線編程的FLASH??焖僭L問(wèn)寄存器文件包括32 個(gè)8 位通用工作寄存器,訪問(wèn)時(shí)間為一個(gè)時(shí)鐘周期。從而實(shí)現(xiàn)了單時(shí)鐘周期的ALU 操作。在典型的ALU 操作中,兩個(gè)位于寄存器文件中的操作數(shù)同時(shí)被訪問(wèn),然后執(zhí)行運(yùn)算,結(jié)果再被送回到寄存器文件。整個(gè)過(guò)程僅需一個(gè)時(shí)鐘周期。寄存器文件里有6 個(gè)寄存器可以用作3 個(gè)16 位的間接尋址寄存器指針以尋址數(shù)據(jù)空間,實(shí)現(xiàn)高效的地址運(yùn)算。其中一個(gè)指針還可以作為程序存儲(chǔ)器查詢表的地址指針。這些附加的功能寄存器即為16 位的X、Y、Z 寄存器。ALU支持寄存器之間以及寄存器和常數(shù)之間的算術(shù)和邏輯運(yùn)算。ALU也可以執(zhí)行單寄存器操作。運(yùn)算完成之后狀態(tài)寄存器的內(nèi)容得到更新以反映操作結(jié)果。程序流程通過(guò)有/ 無(wú)條件的跳轉(zhuǎn)指令和調(diào)用指令來(lái)控制,從而直接尋址整個(gè)地址空間。大多數(shù)指令長(zhǎng)度為16 位,亦即每個(gè)程序存儲(chǔ)器地址都包含一條16 位或32 位的指令。程序存儲(chǔ)器空間分為兩個(gè)區(qū):引導(dǎo)程序區(qū)(Boot 區(qū)) 和應(yīng)用程序區(qū)。這兩個(gè)區(qū)都有專門(mén)的鎖定位以實(shí)現(xiàn)讀和讀/ 寫(xiě)保護(hù)。用于寫(xiě)應(yīng)用程序區(qū)的SPM 指令必須位于引導(dǎo)程序區(qū)。在中斷和調(diào)用子程序時(shí)返回地址的程序計(jì)數(shù)器(PC) 保存于堆棧之中。堆棧位于通用數(shù)SRAM,因此其深度僅受限于SRAM 的大小。在復(fù)位例程里用戶首先要初始化堆棧指針AVR的內(nèi)核結(jié)構(gòu)如圖22所示: 圖22 AVR單片機(jī)的內(nèi)核機(jī)構(gòu)圖 AVR單片機(jī)的復(fù)位特性復(fù)位時(shí)所有的I/O 寄存器都被設(shè)置為初始值,程序從復(fù)位向量處開(kāi)始執(zhí)行。復(fù)位向量處的指令必須是絕對(duì)跳轉(zhuǎn)JMP 指令,以使程序跳轉(zhuǎn)到復(fù)位處理例程。如果程序永遠(yuǎn)不利用中斷功能,中斷向量可以由一般的程序代碼所覆蓋。這個(gè)處理方法同樣適用于當(dāng)復(fù)位向量位于應(yīng)用程序區(qū),中斷向量位于Boot 區(qū) — 或者反過(guò)來(lái) — 的時(shí)候。所有的復(fù)位信號(hào)消失之后,芯片內(nèi)部的一個(gè)延遲計(jì)數(shù)器被激活,將內(nèi)部復(fù)位的時(shí)間延長(zhǎng)。這種處理方式使得在MCU 正常工作之前有一定的時(shí)間讓電源達(dá)到穩(wěn)定的電平。延遲計(jì)數(shù)器的溢出時(shí)間通過(guò)熔絲位SUT 與CKSEL 設(shè)定ATmega16 有5 個(gè)復(fù)位源:? 上電復(fù)位。電源電壓低于上電復(fù)位門(mén)限 VPOT 時(shí), MCU 復(fù)位。? 外部復(fù)位。引腳 RESET 上的低電平持續(xù)時(shí)間大于最小脈沖寬度時(shí)MCU 復(fù)位。? 看門(mén)狗復(fù)位??撮T(mén)狗使能并且看門(mén)狗定時(shí)器溢出時(shí)復(fù)位發(fā)生。? 掉電檢測(cè)復(fù)位。掉電檢測(cè)復(fù)位功能使能,且電源電壓低于掉電檢測(cè)復(fù)位門(mén)限 VBOT 時(shí)MCU 即復(fù)位。? JTAG AVR復(fù)位。復(fù)位寄存器為1時(shí)MCU復(fù)位。詳見(jiàn) P215“IEEE (JTAG) 邊界掃描” 。1)上電復(fù)位無(wú)論何時(shí)VCC 低于檢測(cè)電平POR 即發(fā)生。POR 電路可以用來(lái)觸發(fā)啟動(dòng)復(fù)位,或者用來(lái)檢測(cè)電源故障。POR電路保證器件在上電時(shí)復(fù)位。VCC 達(dá)到上電門(mén)限電壓后觸發(fā)延遲計(jì)數(shù)器。在計(jì)數(shù)器溢出之前器件一直保持為復(fù)位狀態(tài)。當(dāng)VCC 下降時(shí),只要低于檢測(cè)門(mén)限,RESET 信號(hào)立即生效。2)外部復(fù)位外部復(fù)位由外加于RESET 引腳的低電平產(chǎn)生。當(dāng)復(fù)位低電平持續(xù)時(shí)間大于最小脈沖寬度時(shí)( 參見(jiàn)Table 15) 即觸發(fā)復(fù)位過(guò)程,即使此時(shí)并沒(méi)有時(shí)鐘信號(hào)在運(yùn)行。當(dāng)外加信號(hào)達(dá)到復(fù)位門(mén)限電壓VRST( 上升沿) 時(shí), tTOUT 延時(shí)周期開(kāi)始。延時(shí)結(jié)束后MCU 即啟動(dòng)3)掉地檢測(cè)復(fù)位ATmega16 具有片內(nèi)BOD(Brownout Detection) 電路,通過(guò)與固定的觸發(fā)電平的對(duì)比來(lái)檢測(cè)工作過(guò)程中VCC 的變化。此觸發(fā)電平通過(guò)熔絲位BODLEVEL 來(lái)設(shè)定, (BODLEVEL 未編程), (BODLEVEL 已編程)。BOD 的觸發(fā)電平具有遲滯功能以消除電源尖峰的影響。這個(gè)遲滯功能可以解釋為VBOT+ = VBOT + VHYST/2 以及VBOT = VBOT VHYST/2。BOD 電路的開(kāi)關(guān)由熔絲位BODEN控制。當(dāng)BOD使能后(BODEN被編程),一旦VCC下降到觸發(fā)電平以下(VBOT, Figure 19), BOD 復(fù)位立即被激發(fā)。當(dāng)VCC 上升到觸發(fā)電平以上時(shí)(VBOT+,F(xiàn)igure 19),延時(shí)計(jì)數(shù)器開(kāi)始計(jì)數(shù),一旦超過(guò)溢出時(shí)間tTOUT,MCU即恢復(fù)工作。如果VCC 一直低于觸發(fā)電平并保持如Table 15 所示的時(shí)間tBOD, BOD路將只檢測(cè)電壓跌落。4)看門(mén)狗復(fù)位看門(mén)狗定時(shí)器溢出時(shí)將產(chǎn)生持續(xù)時(shí)間為1 個(gè)CK 周期的復(fù)位脈沖。在脈沖的下降沿,延時(shí)定時(shí)器開(kāi)始對(duì)tTOUT 記數(shù)使CPU復(fù)位。 AVR單片機(jī)的工作模式眠模式可以使應(yīng)用程序關(guān)閉MCU 中沒(méi)有使用的模塊,從而降低功耗。AVR 具有不同的睡眠模式,允許用戶根據(jù)自己的應(yīng)用要求實(shí)施剪裁。進(jìn)入睡眠模式的條件是置位寄存器MCUCR 的SE,然后執(zhí)行SLEEP 指令。具體哪一種模式( 空閑模式、ADC 噪聲抑制模式、掉電模式、省電模式、Standby 模式和擴(kuò)展Standby模式) 由MCUCR 的SMSM1 和SM0 決定,如Table 13 所示。使能的中斷可以將進(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í)行。1)空閑模式當(dāng)SM2..0 為000 時(shí), SLEEP 指令將使MCU 進(jìn)入空閑模式。在此模式下,CPU 停止運(yùn)行,而LCD 控制器、SPI、USART、模擬比較器、ADC、USI、定時(shí)器/ 計(jì)數(shù)器、看門(mén)狗和中斷系統(tǒng)繼續(xù)工作。這個(gè)休眠模式只停止了clkCPU和clkFLASH,其他時(shí)鐘則繼續(xù)工作。象定時(shí)器溢出與USART 傳輸完成等內(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、外部中斷、兩線接口地址配置、定時(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ù)位、兩線接口地址匹配中斷、定時(shí)器/ 計(jì)數(shù)器2 中斷、SPM/EEPROM 準(zhǔn)備好中斷、外部中斷INT0或INT1,或外部中斷INT2 可以將MCU 從ADC 噪聲抑制模式喚醒3)掉地模式當(dāng)SM2..0 為010 時(shí), SLEEP 指令將使MCU 進(jìn)入掉電模式。在此模式下,外部晶體停振,而外部中斷、兩線接口地址匹配及看門(mén)狗(如果使能的話)繼續(xù)工作。只有外部復(fù)位、看門(mén)狗復(fù)位、BOD 復(fù)位、兩線接口地址匹配中斷、外部電平中斷INT0 或INT1,或外部中斷INT2 可以使MCU 脫離掉電模式。這個(gè)睡眠模式停止了所有的時(shí)鐘,只有異步模塊可以繼續(xù)工作。當(dāng)使用外部電平中斷方式將MCU 從掉電模式喚醒時(shí),必須保持外部電平一定的時(shí)間。從施加掉電喚醒條件到真正喚醒有一個(gè)延遲時(shí)間,此時(shí)間用于時(shí)鐘重新啟動(dòng)并穩(wěn)定下來(lái)。喚醒周期與由熔絲位CKSEL 定義的復(fù)位周期是一樣的4)省電模式當(dāng)SM2..0 為011 時(shí), SLEEP 指令將使MCU 進(jìn)入省電模式。這一模式與掉電模式只有一點(diǎn)不同:如果定時(shí)器/ 計(jì)數(shù)器2 為異步驅(qū)動(dòng),即寄存器ASSR 的AS2 置位,則定時(shí)器/ 計(jì)數(shù)器2 在睡眠時(shí)繼續(xù)運(yùn)行。除了掉電模式的喚醒方式,定時(shí)器/ 計(jì)數(shù)器2 的溢出中斷和比較匹配中斷也可以將MCU 從休眠方式喚醒,只要TIMSK 使能了這些中斷,而且SREG 的全局中斷使能位I 置位。如果異步定時(shí)器不是異步驅(qū)動(dòng)的,建議使用掉電模式,而不是省電模式。因?yàn)樵谑‰娔J较?,若AS2 為0,則MCU 喚醒后異步定時(shí)器的寄存器數(shù)值是沒(méi)有定義的。這個(gè)睡眠模式停止了除clkASY 以外所有的時(shí)鐘,只有異步模塊可以繼續(xù)工作。第三章、電子門(mén)鈴的硬件設(shè)計(jì) 電路原理圖 電子門(mén)鈴原理圖 音頻放大電路的設(shè)計(jì)該音頻放大電路采用LM386芯片作為音頻的功率放大,音頻信號(hào)由“SPK IN”端口輸入,信號(hào)的輸出由“SPK OUT”端口輸出,只要在“SPK OUT”接一個(gè)喇叭即可。具體的電路原理圖如圖32所示:圖32 音頻放大器 LM386芯片的介紹
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1