;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; LED流水灯参考程序 ; ; 按键每按下一次,LED指示灯状态左移一位 ; ; MCU:89C51 FOSC=11.0592M ; ; 程序编制:红心J 2008-11-10 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MBUF_LED EQU 7FH KEY_INPUT EQU P3.2 ;==================================================================== ORG 0 RESET: LJMP START ;==================================================================== ORG 3 INT_EX0: PUSH PSW PUSH ACC LJMP PROC_EX0_DOWN ;==================================================================== ORG 30H PROC_EX0_DOWN: LCALL DELAY20MS JB KEY_INPUT,PROC_EX0_END
PROC_EX0_UP: JNB KEY_INPUT,$ LCALL DELAY20MS JNB KEY_INPUT,PROC_EX0_UP MOV P1,MBUF_LED MOV A,MBUF_LED RL A MOV MBUF_LED,A
PROC_EX0_END: POP ACC POP PSW RETI ;==================================================================== DELAY20MS: MOV R6,#36 MOV R7,#0 DELAY20MS_1: DJNZ R7,$ DJNZ R6,DELAY20MS_1 RET ;==================================================================== START: MOV MBUF_LED,#0FEH ;==================================================================== MAIN: SETB KEY_INPUT SETB EX0 SETB EA SJMP MAIN ;====================================================================
|