org 0000h
start: mov P0,#11111110b ;
lcall delay200ms ;调用延时子程序,延时 约 200 毫秒
mov P0,#11111101b ;
lcall delay200ms ;调用延时子程序,延时 约 200 毫秒
mov P0,#11111011b ;
lcall delay200ms ;调用延时子程序,延时 约 200 毫秒
mov P0,#11110111b ;
lcall delay200ms ;调用延时子程序,延时 约 200 毫秒
mov P0,#11101111b ;
lcall delay200ms ;调用延时子程序,延时 约 200 毫秒
mov P0,#11011111b ;
lcall delay200ms ;调用延时子程序,延时 约 200 毫秒
mov P0,#10111111b ;
lcall delay200ms ;调用延时子程序,延时 约 200 毫秒
mov P0,#01111110b ;
lcall delay200ms ;调用延时子程序,延时 约 200 毫秒
ljmp start ;无条件转移指令 ,转向程序开始 ,构成循环。
delay200ms: ;延时子程序段,无参数,使用 寄存器 R7,R6,在11.0592MHz晶振下,延时约200mS。
push 06H ;保护子程序用到的寄存器单元
push 07H ;R6--> 06H , R7-->07H
mov r7,#240 ;
loop: mov r6,#0 ;
loop1: nop ;
djnz r6,loop1 ;
djnz r7,loop ;
pop 07H ;恢复子程序用到的寄存器单元
pop 06H ;R6--> 06H , R7-->07H
ret ;
end