; NAME Blink_FUNC ?PR?Blink_func?Blink_FUNC SEGMENT CODE ?DT?Blink_func?Blink_FUNC SEGMENT DATA OVERLAYABLE PUBLIC ?Blink_func?BYTE PUBLIC Blink_func RSEG ?DT?Blink_func?Blink_FUNC ?Blink_func?BYTE: Dly_time?040: DS 1 RSEG ?PR?Blink_func?Blink_FUNC Blink_func: MOV R7,#40 BLINK: CPL P3.4 ; blink LED using compliment instruction CALL DELAY ; Call Software delay 100mS DJNZ R7,BLINK RET ;------------------------------------------------------------------ DELAY: ; Delays by 100ms * A MOV A,Dly_time?040 MOV R0, A ; Acc holds delay variable DLY0: MOV R1,#01Ah ; Set up delay loop0 DLY1: MOV R2,#0FAh ; Set up delay loop1 DJNZ R2,$ ; Dec R2 & Jump here until R2 is 0 DJNZ R1,DLY1 ; Dec R1 & Jump DLY1 until R1 is 0 DJNZ R0,DLY0 ; Dec R0 & Jump DLY0 until R0 is 0 RET ; Return from subroutine ;====================================================================== END