单片机课程设计报告
CLR TR0
MOV R5,#00H ;重新初始化 MOV R3,#00H MOV R0,#00H MOV R7,#96 MOV R6,#191 MOV P2,#0FFH A2:RETI
INT1:CJNE R0,#00H,A3 ;外中断1服务程序 INC R0
MOV R3,#01H CJNE R5,#00H,D1 MOV R4,A ADD A,R4 INC A
MOV R6,A
D1:CJNE R5,#01H,D2 MOV R4,A ADD A,R4 INC A
MOV R6,A
D2:CJNE R5,#02H,D3 MOV R4,A ADD A,R4 INC A
MOV R6,A
D3:CJNE R5,#03H,D4 MOV R4,A ADD A,R4 INC A
MOV R6,A D4:SJMP D5 D5:SJMP A4
A3:MOV R0,#00H MOV R3,#00H
CJNE R5,#00H,E1 MOV B,#2 DIV AB INC A
MOV R7,A
E1:CJNE R5,#01H,E2 MOV B,#2 DIV AB INC A
MOV R7,A
;R3为定时器中的软开关
;判断彩灯的当前花型,使彩灯从快节拍跳变到慢节拍 ;判断彩灯的当前花型,使彩灯从慢节拍跳变到快节拍5
单片机课程设计报告
E2:CJNE R5,#02H,E3 MOV B,#2 DIV AB INC A
MOV R7,A
E3:CJNE R5,#03H,E4 MOV B,#2 DIV AB INC A
MOV R7,A E4:AJMP A4 A4:RETI K:LJMP M0
TM0:MOV TH0,#3CH MOV TL0,#0B0H CJNE R3,#00H,K
DEC R7 MOV A,R7
CJNE R5,#00H,B5 CJNE A,#95,B1 MOV P2,#0FCH B1:CJNE A,#90,B2 MOV P2,#0F0H B2:CJNE A,#85,B3 MOV P2,#0C0H B3:CJNE A,#80,B4 MOV P2,#00H B4:CJNE A,#75,B5 MOV P2,#0FFH
INC R5 B5:CJNE R5,#01H,B10 CJNE A,#70,B6 MOV P2,#0E7H B6:CJNE A,#65,B7 MOV P2,#0C3H B7:CJNE A,#60,B8 MOV P2,#81H B8:CJNE A,#55,B9 MOV P2,#00H B9:CJNE A,#50,B10 MOV P2,#0FFH INC R5
B10:CJNE R5,#02H,B15 CJNE A,#45,B11 MOV P2,#7EH
;定时器T0中断服务程序,定时器赋初值 ;快节拍彩灯 ;第一种花型入口
;第二种花型入口 ;第三种花型 6
单片机课程设计报告
B11:CJNE A,#40,B12 MOV P2,#3CH B12:CJNE A,#35,B13 MOV P2,#18H B13: CJNE A,#30,B14 MOV P2,#00H B14:CJNE A,#25,B15 MOV P2,#0FFH INC R5
B15:CJNE R5,#03H,G0 CJNE A,#20,B16 MOV P2,#0AAH B16: CJNE A,#15,B17 MOV P2,#55H B17:CJNE A,#10,B18 MOV P2,#00H B18:CJNE A,#5,B19 MOV P2,#0FFH B19:CJNE A,#0,G0 MOV R5,#00H MOV R7,#96
G0:RETI M0: DEC R6 MOV A,R6
CJNE R5,#00H,M5 CJNE A,#190,M1 MOV P2,#0FCH M1:CJNE A,#180,M2 MOV P2,#0F0H M2:CJNE A,#170,M3 MOV P2,#0C0H M3:CJNE A,#160,M4 MOV P2,#00H M4:CJNE A,#150,M5 MOV P2,#0FFH INC R5
M5:CJNE R5,#01H,M10 CJNE A,#140,M6 MOV P2,#0E7H M6:CJNE A,#130,M7 MOV P2,#0C3H M7:CJNE A,#120,M8 MOV P2,#81H M8:CJNE A,#110,M9 MOV P2,#00H
;第四种花型 ;中断返回 ;慢节拍 ;第一种花型 ;第二种花型 7
单片机课程设计报告
M9:CJNE A,#100,M10 MOV P2,#0FFH INC R5
M10:CJNE R5,#02H,M15 ;第三种花型 CJNE A,#90,M11 MOV P2,#7EH M11:CJNE A,#80,M12 MOV P2,#3CH M12:CJNE A,#70,M13 MOV P2,#18H M13:CJNE A,#60,M14 MOV P2,#00H M14:CJNE A,#50,M15 MOV P2,#0FFH INC R5
M15:CJNE R5,#03H,G1 CJNE A,#40,M16 MOV P2,#0AAH M16:CJNE A,#30,M17 MOV P2,#55H M17:CJNE A,#20,M18 MOV P2,#00H M18:CJNE A,#10,M19 MOV P2,#0FFH M19:CJNE A,#0,G1 MOV R5,#00H MOV R6,#191
G1:RETI CUK:PUSH A CLR RI MOV A,SBUF XRL A,#00H JZ S1 RETU:POP A RETI S1:CLR SM2 MOV A,#00H MOV SBUF,A JNB RI,$ CLR RI JNB RB8,S2 SETB SM2 SJMP RETU
S2:MOV A,SBUF CJNE A,#0AAH,AA1 ;第四种花型 ;中断返回
;串行中断服务程序 ;接收地址,判断与本从机地址是否一致 ;接收指令,判断是AA还是55 ;若是AA,将预设花型发给主机
8
单片机课程设计报告
MOV A,#7FH SETB ACC.1 MOV SBUF,A JNB TI,$ CLR TI
LCALL DELAY MOV 60H,#5 CDZ:MOV SBUF,R5 JNB TI,$ CLR TI
LCALL DELAY DJNZ 60H,CDZ SETB SM2 SJMP RETU
AA1:CJNE A,#55H,BB1 MOV A,#7FH SETB ACC.0 MOV SBUF,A JNB TI,$ CLR TI
LCALL DELAY MOV R2,#3 MOV R1,#40H ZDC:JNB RI,$ CLR RI
MOV @R1,SBUF INC R1
DJNZ R2,ZDC SETB SM2 SJMP RETU
BB1:MOV SBUF,#80H JNB TI,$ CLR TI
SJMP RETU
DELAY:MOV 30H,#0FFH FF:MOV 31H,#0FFH DJNZ 31H,$ DJNZ 30H,FF RET
END
;若是55,接收主机数据 ;不识别指令,就回发80H ;延时程序 ;结束 9