新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > EM78P156N休眠模式的應用

        EM78P156N休眠模式的應用

        作者: 時間:2016-11-13 來源:網絡 收藏
        仿真器的設置時候需要注意

        休眠模式程序的編寫,注意:code option中wdt 要enable,不然仿真不出來中斷喚醒)

        本文引用地址:http://www.104case.com/article/201611/316075.htm

        EM78P156N.pdf介紹休眠時候功耗1uA.

        Low power consumption:
        * Less then 2 mA at 5V/4MHz
        * Typically 20 μA at 3V/32KHz
        * Typically 1 μA during sleep mode

        實測:4.5V工作電壓,休眠時候功耗為<1uA(很低功耗

        /******************************************************/

        休眠模式的相關介紹:

        執行SLEP 指令可進入休眠模式(低功耗模式)。進入休眠模式時,WDT(若使能)清0 但
        繼續運行。單片機可被如下情況喚醒:
        A)/RESET 引腳上輸入的外部復位信號。
        B)WDT 溢出(若使能)。
        C)PORT6 端口輸入引腳狀態變化。

        喚醒后程序繼續執行,由中斷狀態來決定程序是否轉入中斷處理程序。如果在SLEP 指令執行
        前執行ENI 指令,程序將從地址0X08 處執行中斷處理。如果在執行SLEP 指令前執行DISI 指
        令,程序將從SLEP 指令后繼續執行。
        進入休眠狀態前,B、C 兩種情況只有一種可被使能。
        i. 如果休眠前PORT6 輸入喚醒使能,則WDT 應由軟件禁止(代碼選擇寄存器中WDT 仍為
        使能)。因此,EM78P156E 可被A、C 兩種情況喚醒。
        ii. 如果WDT 使能,則PORT6 輸入喚醒應禁止。因此,EM78P156E 可被A、B 兩種情況喚醒。

        如果PORT6 輸入變化中斷被用于喚醒單片機,則如下指令應在SLEP 指令前執行:

        休眠子程序:

        /*********單片機休眠子程序************/
        SLEEP:
        MOV A,@0B00000110 ;選擇TCC內部時鐘
        CONTW
        CLR R1 ;TCC預分頻器清0
        MOV A,@0B00001110 ;選擇WDT預分頻
        CONTW
        WDTC ;清WDT和預分頻器
        MOV A,@0B00000000 ;WDT禁止
        IOW IOCE
        MOV R6,R6 ;讀PORT6端口
        MOV A,@0B00000010 ;使能PORT6輸入變化中斷
        IOW RF
        DISI ;禁止全局中斷
        SLEP ;進入休眠
        NOP
        MOV A,@0x00 ;WDT DISABLE
        IOW 0x0E
        NOP

        RET



        關鍵詞: EM78P156N休眠模

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 新龙县| 政和县| 龙游县| 泰宁县| 奉化市| 山丹县| 永兴县| 哈尔滨市| 封丘县| 湟源县| 广西| 娱乐| 潞城市| 东丽区| 化德县| 鞍山市| 新闻| 临高县| 宁国市| 海林市| 澎湖县| 新郑市| 漳州市| 栾城县| 永城市| 宿迁市| 尼玛县| 平果县| 乌兰浩特市| 卢湾区| 邻水| 东光县| 郓城县| 平安县| 定襄县| 宝丰县| 青州市| 盐边县| 田林县| 汨罗市| 皮山县|