新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR單片機復位問題

        AVR單片機復位問題

        作者: 時間:2013-01-09 來源:網絡 收藏

        AVR復位時所有的I/O 寄存器都被設置為初始值,程序從復位向量處開始執行。復位向量處的 指令必須是絕對跳轉JMP 指令,以使程序跳轉到復位處理例程。

        AVR的復位五個:

        上電復位。電源電壓低于上電復位門限 VPOT 時, MCU 復位。

        外部復位。引腳 RESET 上的低電平持續時間大于最小脈沖寬度時MCU 復位。

        看門狗復位。看門狗使能并且看門狗定時器溢出時復位發生。

        掉電檢測復位。掉電檢測復位功能使能,且電源電壓低于掉電檢測復位門限 VBOT 時 MCU 即復位。

        JTAG AVR復位。復位寄存器為1 時MCU 復位。

        1.上位復位

        上電復位(POR) 脈沖由片內檢測電路產生,POR電路保證器件在上電時復位。VCC 達到上電門限電壓后觸發延遲計數器。在計數器溢

        出之前器件一直保持為復位狀態。當VCC 下降時,只要低于檢測門限,RESET 信號立即 生效。

        2.外部復位

        外部復位由外加于RESET 引腳的低電平產生。當復位低電平持續時間大于最小脈沖寬度 時 即觸發復位過程,即使此時并沒有時鐘信號在運行。當外加信號達到 復位門限電壓VRST( 上升沿) 時, tTOUT 延時周期開始。延時結束后MCU 即啟動。

        3.看門狗復位

        看門狗定時器溢出時將產生持續時間為1 個CK 周期的復位脈沖。在脈沖的下降沿,延時 定時器開始對tTOUT 記數

        4.掉電檢測復位

        BOD 電路的開關由熔絲位BODEN控制。當BOD使能后(BODEN被編程),一旦VCC下降到 觸發電平以下(VBOT-, Figure 19), BOD 復位立即被激發。當VCC 上升到觸發電平以上 時(VBOT+,Figure 19),延時計數器開始計數,一旦超過溢出時間tTOUT,MCU即恢復工作。

        5.JTAG AVR復位

        JTAG通過復位寄存器mcur,復位寄存器為1 時MCU 復位。通過JTAG 指令AVR_RESET 可以使JTAG 復位寄存器置位,并引發MCU 復位,并使 JTRF 置位。上電復位將使其清零,也可以通過寫”0” 來清除。

        6.MCU 控制和狀態寄存器提供了有關引起MCU 復位的復位源的信息。

        MCU 控制和狀態寄存器提供了有關引起MCU 復位的復位源的信息。

        1.Bit 4 – JTRF: JTAG 復位標志

        通過JTAG 指令AVR_RESET 可以使JTAG 復位寄存器置位,并引發MCU 復位,并使

        2.JTRF 置位。上電復位將使其清零,也可以通過寫”0” 來清除。

        Bit 3 – WDRF: 看門狗復位標志

        看門狗復位發生時置位。上電復位將使其清零,也可以通過寫”0” 來清除。

        3.Bit 2 – BORF: 掉電檢測復位標志

        掉電檢測復位發生時置位。上電復位將使其清零,也可以通過寫”0” 來清除。

        4.Bit 1 – EXTRF: 外部復位標志

        外部復位發生時置位。上電復位將使其清零,也可以通過寫”0” 來清除。

        5.Bit 0 – PORF: 上電復位標志

        上電復位發生時置位。只能通過寫”0” 來清除。

        為了使用這些復位標志來識別復位條件,用戶應該盡早讀取此寄存器的數據,然后將其復 位。如果在其他復位發生之前將此寄存器復位,則后續復位源可以通過檢查復位標志來了解。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 双流县| 万年县| 商丘市| 东乡县| 莱州市| 安徽省| 吐鲁番市| 惠州市| 墨竹工卡县| 洪泽县| 安阳市| 灌阳县| 宁蒗| 鄂托克旗| 庆安县| 宜都市| 聊城市| 百色市| 诸城市| 柳河县| 汾阳市| 城市| 怀来县| 保亭| 泸水县| 卫辉市| 高平市| 凯里市| 农安县| 定襄县| 汉源县| 张北县| 郁南县| 阜新市| 汝阳县| 礼泉县| 棋牌| 沁水县| 大安市| 宝山区| 资阳市|