zrz2008:
OUTEBITP1.7 ;单片机引脚定义SDATBITP1.6STRBBITP1.5SCLKBITP1.4ORG0000HAJMPMAINORG0080HMAIN:;============================;============================MOVP1,#0FFHREDSHOW: ;红色渐变MOV R4,#80ACALL COLOR1ACALL LOOP0ACALL COLOR1ACALL LOOP2 ;将输入数据送入锁存器 DJNZ R4,$-8ACALLSTARTACALLLIGHTOUT;============================AJMPMAINSTART: ;计数器亮度控制函数 LCALL DELAY05S CLR TF0 MOV R1,#LOW(65535-10000) MOV R2,#HIGH(65535-10000) MOV TL0,R1 MOV TH0,R2 MOV R3,#LOW(65535-1) MOV R4,#HIGH(65535-1) MOV TL1,R3 MOV TH1,R4RETLIGHTOUT: ;二极管亮度控制LOOPREDB: ;;二极管由暗到暗明 SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 CLR OUTE ;TIGERSETB TR1JNB TF1,$ CLR TR1 CLR TF1 SETB OUTE ;STOP CLR C MOV A,R1 ADD A,#4 MOV R1,A MOV A,R2 ADDC A,#0 MOV R2,A MOV TL0,R1 MOV TH0,R2CLR C MOV A,R3 SUBB A,#4 MOV R3,A MOV A,R4 SUBB A,#0 MOV R4,A MOV TL1,R3 MOV TH1,R4 CJNE R1,#0FFH,LOOPREDB CJNE R2,#0FFH,LOOPREDB CLR OUTE LCALL DELAY2S MOV TL0,R1 MOV TH0,R2LOOPREDB1: ;;二极管由明到暗 SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 CLR OUTE ;TIGERSETB TR1JNB TF1,$ CLR TR1 CLR TF1 SETB OUTE ;STOP CLR C MOV A,R1 SUBB A,#4 MOV R1,A MOV A,R2 SUBB A,#0 MOV R2,A MOV TL0,R1 MOV TH0,R2CLR C MOV A,R3 ADD A,#2 MOV R3,A MOV A,R4 ADDC A,#0 MOV R4,A MOV TL1,R3 MOV TH1,R4 CJNE R1,#0EFH,LOOPREDB1 CJNE R2,#0D8H,LOOPREDB1SETB OUTERET;======================================COLOR0: ;不亮ACALLLOOP0ACALLLOOP0ACALLLOOP0RETCOLOR1: ;红色ACALLLOOP0ACALLLOOP0ACALLLOOP1RETCOLOR2: ;绿色ACALLLOOP0ACALLLOOP1ACALLLOOP0RETCOLOR3: ;蓝色ACALLLOOP1ACALLLOOP0ACALLLOOP0RETCOLOR4:ACALLLOOP0ACALLLOOP1ACALLLOOP1RETCOLOR5:ACALLLOOP1ACALLLOOP0ACALLLOOP1RETCOLOR6:ACALLLOOP1ACALLLOOP1ACALLLOOP0RETCOLOR7:ACALLLOOP1ACALLLOOP1ACALLLOOP1RET;================================LOOP0: ;输入数据 CLR SDAT CLR SCLK SETB SCLKRETLOOP1: SETB SDAT CLR SCLK SETB SCLKRETLOOP2: CLR STRB SETB STRBRET;==================================delay:movr7,#10movr6,#10movr5,#10djnzr5,$djnzr6,$-2djnzr7,$-4ret;==============================DELAY05S: MOV R5,#3 ;4 MOV R6,#250 ;230 MOV R7,#250 DJNZ R7,$ DJNZ R6,$-4 DJNZ R5,$-6 RETDELAY1S: MOV R5,#3 ;4 MOV R6,#250 ;230 MOV R7,#250 DJNZ R7,$ DJNZ R6,$-4 DJNZ R5,$-6 RET;===================DELAY2S: MOV R5,#10 ;4 MOV R6,#250 ;230 MOV R7,#250 DJNZ R7,$ DJNZ R6,$-4 DJNZ R5,$-6 RET;===================END;============================