background image
宏晶科技:www.MCU-Memory.com   Mobile:13922805190(姚永平)   Tel:0755-82948409    Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商   www.MCU-Memory.com   STC12C5410AD 系列 1T 8051 单片机中文指南
100
    
INC   R3
    MOV   A, R3
    SUBB  A, #18H
    JC    main_loop
    MOV   P1, #0FFH     ;熄灭全部灯表示进入 Power Down 状态
    CLR   IT0           ;设置低电平激活外部中断
;   SETB  IT0
    SETB  EX0           ;允许外部中断 0
    CLR   IT1           ;设置低电平激活外部中断
;   SETB  IT1
    SETB  EX1           ;允许外部中断 1
;   SETB  ET0  ;
如果是 STC12C2052AD 系列 A 版本
              ;要由外部中断 1 唤醒,“ET0=1”是必须的,硬件就这样做的,C 版本就不需要
               ;外部中断 0 就无此必要,建议 Powerdown 用外部中断 0 唤醒
    SETB  EA            ;开中断, 若不开中断就不能唤醒 Power Down
;下条语句将使 MCU 进入 idle 状态或 Power Down 状态
;低电平激活外部中断可以将 MCU  从 Power Down 状态中唤醒
;其方法为:将外部中断脚拉低
    MOV   A, PCON       ;令 PD=1, 进入 Power Down 状态, PD = PCON.2
    ORL   A, #02H
    MOV   PCON, A
    MOV   PCON, #01H    ;删除本语句前的 ";", 同时将前 3 条语句前加上注释符号 ";",
                        ;令 IDL=1, 可进入 idle 状态, IDL = PCON.1
    MOV   P1, #0DFH     ;请注意:
                        ; 1.外部中断使 MCU 退出 Power Down 状态,执行本条指令后
                        ;响应中断, 表现为 P1.5 与 P1.7 的 LED 同时亮(INT0 唤醒)
                        ; 2.外部中断使 MCU 退出 idle 状态,先响应中断然后再执行本
                        ;条指令, 表现为 P1.7 的 LED 先亮(INT0 唤醒)P1.5 的 LED 后亮
WAIT1:
    SJMP  WAIT1         ;跳转到本语句, 停机
    END
;A 版本和 B 版本建议不要用 IDLE 模式,现 C 版本可以正常使用