80C51单片机实验程序整理(1)
时间:2025-05-11
时间:2025-05-11
单片机简单实验程序
一
1、开关控制灯亮
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV P0,#0FFH
LOOP: MOV A,P0
MOV P1,A
LJMP LOOP
2、流水灯
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV A,#001H ;#0FEH->A
LOOP: MOV P1,A ;A->P1
RL A ;ROUND LEFT A
ACALL DEL50MS
SJMP LOOP
DEL50MS:MOV R7,#0C7H ;T1
LOOP1: MOV R6,#07CH ;T2
LOOP2: NOP
DJNZ R6,LOOP2 ;
DJNZ R7,LOOP1 ;
RET
END
3、对向流水
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
LOOP:
MOV A,#0FEH
MOV P1,A
ACALL DEL50MS
MOV A,#07FH
MOV P1,A
ACALL DEL50MS
MOV A,#0FDH
MOV P1,A
单片机简单实验程序
ACALL DEL50MS
MOV A,#0BFH
MOV P1,A
ACALL DEL50MS
MOV A,#0FBH
MOV P1,A
ACALL DEL50MS
MOV A,#0DFH
MOV P1,A
ACALL DEL50MS
MOV A,#0F7H
MOV P1,A
ACALL DEL50MS
MOV A,#0EFH
MOV P1,A
ACALL DEL50MS
MOV A,#0FFH
MOV P1,A
ACALL DEL50MS
SJMP LOOP
DEL50MS:MOV R7,#0C7H ;T1
LOOP1: MOV R6,#07CH ;T2
LOOP2: NOP
DJNZ R6,LOOP2 ;
DJNZ R7,LOOP1 ;
RET
END
二、交通灯
SR EQU P1.2 ;南北红灯
SY EQU P1.1 ;南北黄灯 SG EQU P1.0 ;南北绿灯 ER EQU P1.7 ;东西红灯 EY EQU P1.6 ;东西黄灯 EG EQU P1.5 ;东西绿灯 ORG 0000H
LJMP MAIN
ORG 0003H
LJMP ADDR
ORG 0100H
MAIN: MOV SP,#40H
SETB EA
SETB IT0
单片机简单实验程序
SETB EX0
MOV P1,#00H
ST1: SETB SG ;南北方向绿灯亮 CLR SY
CLR SR
CLR EG
CLR EY
SETB ER ;东西方向红灯亮 MOV
CALL
MOV
ST2: CPL
MOV
CALL
DJNZ
CLR
SETB
MOV
CALL
ST3: CLR
SETB
CLR
SETB
MOV
CALL
ST4: MOV
LP: CPL
MOV
CALL
DJNZ
CLR
SETB
MOV
CALL
SJMP
DELAY: MOV
DELAY1: MOV
DELAY2: DJNZ
DJNZ
DJNZ
RET
ADDR: SETB
SETB R3, #40 DELAY R4, #6 SG R3, #2 DELAY R4, ST2 SG SY R3, #20 DELAY SY SR ER EG R3, #40 DELAY R4, #6 EG R3, #2 DELAY R4, LP EG EY R3, #20 DELAY $ R1, #2000 R0, #500 R0, DELAY2 R1, DELAY1 R3, DELAY SR ER ;长延时 ;南北方向绿灯闪4次 ; ;短延时 ;南北方向绿灯灭 ;南北方向黄灯亮 ;延时 ;南北方向黄灯灭 ;南北方向红灯亮 ;东西方向红灯灭 ;东西方向绿灯亮 ;长延时 ;东西方向绿灯闪4次 ;短延时 ;东西方向绿灯灭 ;东西方向黄灯亮 ;延时 ;延时子程序
单片机简单实验程序
CLR SG
CLR SY
CLR EG
CLR EY
RETI
END
三、外部中断
ORG 0000H
AJMP MAIN
ORG 0003H ;INT0
MOV P1,A ;A->P1
CPL A ;negation55H<->AAH RETI ;INERRUPT RETURN ORG 0100H
MAIN: SETB EA ;ON
SETB IT0 ;edge-triggered
SETB EX0 ;0 BEGIN INTERRUPT
MOV A,#55H ;set interrupt 55H SJMP $ ;WAIT FOR interrupt END