宏晶科技: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 版本可以正常使用