AT89C51 汇编语言实现LED间隔1s闪烁(已验证)
;************;
;中断入口程序;
;************;
;
ORG 0000H ;程序执行开始地址
LJMP START ;跳至START执行
ORG 0003H ;外中断0中断入口地址
RETI ;中断返回(不开中断)
ORG 000BH ;定时器T0中断入口地址
RETI ;中断返回(不开中断)
ORG 0013H ;外中断1中断入口地址
RETI ;中断返回(不开中断)
ORG 001BH ;定时器T1中断入口地址
RETI ;中断返回(不开中断)
ORG 0023H ;串行口中断入口地址
RETI ;中断返回(不开中断)
;
START: MOV A,#0FEH ;让A的内容为11111110
LOOP: MOV P1,A ;让P1口输出ACC的内容
CPL A
CALL DELAY ;调用延时子程序
LJMP LOOP ;跳到LOOP处执行
;0.1秒延时子程序(12MHz晶振)===================
DELAY: MOV R7,#10 ;延时1S子程序
DL1: MOV R6,#200
DL2: MOV R5,#248
DJNZ R5,$
DJNZ R6,DL2
DJNZ R7,DL1
RET
END