(1)中断初始化设置:定义SP、I、正和外中断触发 方式选择; (2)中断服务程序:中断入口、现场保护、中断主体 程序、恢复现场返回。 2、应用举例 例5-1通过P1.0~P1.7控制发光二极管,输出两种节 日灯,并利用外中断P32,在两种状态之间切换 分析:主程序中状态:亮1灯左移循环,中断程序 中的状态:以1秒间隔8灯依次亮起,再依次熄灭,循环 3次后返回
(1)中断初始化设置:定义SP、IP、IE和外中断触发 方式选择; (2)中断服务程序:中断入口、现场保护、中断主体 程序、恢复现场返回。 2、应用举例 例5-1 通过P1.0~P1.7控制发光二极管,输出两种节 日灯,并利用外中断P3.2,在两种状态之间切换。 分析:主程序中状态:亮1灯左移循环,中断程序 中的状态:以1秒间隔8灯依次亮起,再依次熄灭,循环 3次后返回
主流程图(略),程序如下: ORG 0000H LJMP MAIN ORG 0003H 中断入口 LJMP 0100H ORG 0030H START: MOV SP, #60H SETB ITO ;设定下跳有效 SETB EXO ;开中 SETB EA MOV 01H MOV A,#01H LOOP: MOV PI, A RL A LCALL DELAY AJMP LOOP
主流程图(略),程序如下: ORG 0000H LJMP MAIN ORG 0003H ;中断入口 LJMP 0100H ORG 0030H START: MOV SP, #60H SETB IT0 ;设定下跳有效 SETB EX0 ;开中 SETB EA MOV IP, #01H MOV A, #01H LOOP: MOV P1, A RL A LCALL DELAY AJMP LOOP
中断服务程序流程图: 中断入口 A的内容入 清CY 计数器恥活0 [P1 CY置1 延时1私 「带C左移 ACC.7实1 ①P11 〔〕 LE〕←[R+1 延时1私 ACC.7=0> 单出址栈 中断返回
中断服务程序流程图:
中断服务程序 ORG 0100H PUSH ACC CLR A MOV RO, #OOH LOOP1 SETB C RLC A MOV P1 A LCALL DELAY JNB ACC.7 LOOP1 LOOP2 CLR C RLC A MOV PI A LCALL DELAY JB ACC. LOOP2 INC RO CJNE RO, #03H, LOOP1 POP ACC RET DELAY (略) ;1秒延时
中断服务程序: ORG 0100H PUSH ACC CLR A MOV R0, #00H LOOP1: SETB C RLC A MOV P1, A LCALL DELAY JNB ACC.7, LOOP1 LOOP2: CLR C RLC A MOV P1, A LCALL DELAY JB ACC.7, LOOP2 INC R0 CJNE R0, #03H, LOOP1 POP ACC RET DELAY: (略) ;1秒延时
§5-2定时/计数器 定时/计数器构成 1、定时方法 软件延时通过执行循环而获得延时,短时间延时 硬件延时由硬件电路实现延时,长时间延时; 可编程定时通过对系统时钟脉冲的计数而获得延时。 2、MCS-51单片机的定时计数器 16位定时/计数器T0、T1,分别由4个8位计数器 组成,均属SFR寄存器 T0由TH0、TL0构成,字节地址为8CH、8AH T1由TH1、TL1构成,字节地址为8DH、8BH
§5-2 定时/计数器 一、定时/计数器构成 1、定时方法 软件延时 通过执行循环而获得延时,短时间延时; 硬件延时 由硬件电路实现延时,长时间延时; 可编程定时 通过对系统时钟脉冲的计数而获得延时。 2、MCS-51单片机的定时/计数器 16位定时/计数器T0、T1,分别由4个8位计数器 组成,均属SFR寄存器。 T0由TH0、TL0构成,字节地址为8CH、8AH; T1由TH1、TL1构成,字节地址为8DH、8BH;