⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fourled.asm

📁 简单的多彩变化的LED护拦管,单片机AT89C2051
💻 ASM
字号:
      nop
      MOV 40H,#10
      MOV 39H,#3
      MOV 37H,#2
      MOV 38H,#2
      MOV P3,#0FFH
      MOV P1,#0FFH
LOOP1:
      LCALL YS5M  ;;;;;;;;;;;;P1:BGRBGR-2-1
      MOV P1,#00H;RGB
      MOV P3,#00H
      LCALL DELAY3S
LOOP: MOV 25H,#00000000B;RG  ;;;;;;;;;;;;;1
      MOV 26H,#11100100B
      LCALL REDXI
      MOV 25H,#11100100B;R
      MOV 26H,#11110110B
      LCALL REDXI
      MOV 25H,#00000000B; RGB
      MOV 26H,#11110110B
      LCALL REDSH
      MOV 25H,#00000000B;GB
      MOV 26H,#11001001B;10010011B
      LCALL REDXI
      MOV 25H,#11001001B;10010011B;B
      MOV 26H,#11011011B;11011011B
      LCALL REDXI
      MOV 25H,#11010010B;01001011B;RB
      MOV 26H,#11011011B;11011011B
      LCALL REDSH
      MOV 25H,#00000000B;RGB
      MOV 26H,#11010010B;01001011B
      LCALL REDSH
      MOV 25H,#00000000B;G
      MOV 26H,#11101101B;10110111B
      LCALL REDXI
      MOV 25H,#00000000B;RGB
      MOV 26H,#11101101B;10110111B
      LCALL REDSH
      LCALL YSS5
TIAO1:MOV P1,#11110110B ;;;;2
      MOV P3,#11110110B
     LCALL YS6S
     MOV P1,#11101101B
     MOV P3,#11101101B
     LCALL YS6S
     MOV P1,#11011011B
     MOV P3,#11011011B
     LCALL YS6S
     MOV P1,#11100100B
     MOV P3,#11100100B
     LCALL YS6S
      MOV P1,#11001001B
     MOV P3,#11001001B
     LCALL YS6S
      MOV P1,#11010010B
      MOV P3,#11010010B
     LCALL YS6S
     MOV P1,#00000000B
     MOV P3,#00000000B
     LCALL YS6S ;;;;;;;;;;;;;;;;;;;;;;
     MOV 50H,#1
CB:  CLR P1.0
     SETB P1.1 ;;;R
     SETB P1.2
     LCALL YSS5
     CLR P1.3
     SETB P1.4
     SETB P1.5
     LCALL YSS5
     CLR P3.0
     SETB P3.1
     SETB P3.2
     LCALL YSS5
     CLR P3.3
     SETB P3.4
     SETB P3.5
     LCALL YSS5
     SETB P1.0 ;;G
     CLR P1.1
     SETB P1.2
     LCALL YSS5
     SETB P1.3
     CLR P1.4
     SETB P1.5
     LCALL YSS5
     SETB P3.0
     CLR P3.1
     SETB P3.2
     LCALL YSS5
     SETB P3.3
     CLR P3.4
     SETB P3.5;;G
     LCALL YSS5
     SETB P1.0 ;;B
     SETB P1.1
     CLR P1.2
     LCALL YSS5
     SETB P1.3
     SETB P1.4
     CLR P1.5
     LCALL YSS5
     SETB P3.0
     SETB P3.1
     CLR P3.2
     LCALL YSS5
     SETB P3.3
     SETB P3.4;;B
     CLR P3.5
     LCALL YSS5
     CLR P1.0
     CLR P1.1
      SETB P1.2 ;;RG
     LCALL YSS5
     CLR P1.3
     CLR P1.4
     SETB P1.5
     LCALL YSS5
     CLR P3.0
     CLR P3.1
     SETB P3.2
     LCALL YSS5
     CLR P3.3
     CLR P3.4
     SETB P3.5
      LCALL YSS5;;RG
       SETB P1.0 ;;GB
      CLR P1.1
      CLR P1.2
     LCALL YSS5
     SETB P1.3
     CLR P1.4
     CLR P1.5
     LCALL YSS5
     SETB P3.0
     CLR P3.1
     CLR P3.2
     LCALL YSS5
     SETB P3.3
     CLR P3.4
     CLR P3.5
      LCALL YSS5;;GB
      CLR P1.0
      CLR P1.2
      SETB P1.1 ;;RB
     LCALL YSS5
     CLR P1.3
     CLR P1.5
     SETB P1.4
     LCALL YSS5
     CLR P3.0
     CLR P3.2
     SETB P3.1
     LCALL YSS5
     CLR P3.3
     CLR P3.5
     SETB P3.4
      LCALL YSS5;;RG
      CLR P1.0 ;;RGB
      CLR P1.1
      CLR P1.2
     LCALL YSS5
     CLR P1.3
     CLR P1.4
     CLR P1.5
     LCALL YSS5
     CLR P3.0
     CLR P3.1
     CLR P3.2
     LCALL YSS5
     CLR P3.3
     CLR P3.4
     CLR P3.5
      LCALL YSS5;;RGB ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      DJNZ 50H,CB1
      JMP CB2
CB1: AJMP CB            
CB2:      MOV 50H,#1
AAB:      MOV P1,#0FFH
      MOV P3,#0FFH
      LCALL YSS3
      MOV P1,#11111110B
      LCALL YSS3
      MOV P1,#11110111B
      LCALL YSS3
      mov P1,#0FFH
      MOV P3,#11111110B
      LCALL YSS3
      MOV P3,#11110111B;;;
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11111101B
      LCALL YSS3
      MOV P1,#11101111B
      LCALL YSS3
      MOV P1,#0FFH
      MOV P3,#11111101B
      LCALL YSS3
      MOV P3,#11101111B;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11111011B
      LCALL YSS3
      MOV P1,#11011111B
      LCALL YSS3
      MOV P1,#0FFH
      MOV P3,#11111011B
      LCALL YSS3
      MOV P3,#11011111B;;;;
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11111100B
      LCALL YSS3
      MOV P1,#11100111B
      LCALL YSS3
      MOV P1,#0FFH
      MOV P3,#11111100B
      LCALL YSS3
      MOV P3,#11100111B;;;;
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11111010B
      LCALL YSS3
      MOV P1,#11010111B
      LCALL YSS3
      MOV P1,#0FFH
      MOV P3,#11111010B
      LCALL YSS3
      MOV P3,#11010111B;;;;
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11111001B
      LCALL YSS3
      MOV P1,#11001111B
      LCALL YSS3
      MOV P1,#0FFH
      MOV P3,#11111001B
      LCALL YSS3
      MOV P3,#11001111B;;;;
      LCALL YSS3
      DJNZ 50H,AAB1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      JMP AAE
AAB1:LJMP AAB      
AAE:      MOV 50H,#2
AAD:  MOV P1,#00H
      MOV P3,#00H
      LCALL YSS3
      MOV P1,#00000110B
      LCALL YSS3
      MOV P1,#00110000B
      LCALL YSS3
      MOV P1,#00H
      MOV P3,#00000110B
      LCALL YSS3
      MOV P3,#00110000B;R
      LCALL YSS3
      MOV P3,#00H
      MOV P1,#00000101B
      LCALL YSS3
      MOV P1,#00101000B
      LCALL YSS3
      MOV P1,#00H
      MOV P3,#00000101B
      LCALL YSS3
      MOV P3,#00101000B;G
      LCALL YSS3
      MOV P3,#00H
      MOV P1,#00000011B
      LCALL YSS3
      MOV P1,#00011000B
       LCALL YSS3
       MOV P1,#00H
      MOV P3,#00000011B
      LCALL YSS3
      MOV P3,#00011000B ;B
       LCALL YSS3
       MOV P3,#00H
      MOV P1,#00000100B
      LCALL YSS3
      MOV P1,#00100000B
      LCALL YSS3
      MOV P1,#00H
      MOV P3,#00000100B
      LCALL YSS3
      MOV P3,#00100000B ;RG
        LCALL YSS3
        MOV P3,#00H
      MOV P1,#00000010B
      LCALL YSS3
      MOV P1,#00010000B
      LCALL YSS3
      MOV P1,#00H
      MOV P3,#00000010B
      LCALL YSS3
      MOV P3,#00010000B ;RB
        LCALL YSS3
        MOV P3,#00H
      MOV P1,#00000001B
      LCALL YSS3
      MOV P1,#00001000B
      LCALL YSS3
      MOV P1,#00H
      MOV P3,#00000001B
      LCALL YSS3
      MOV P3,#00001000B ;GB
      LCALL YSS3
      DJNZ 50H,AAD1
      JMP BB1
AAD1:LJMP AAD             
BB1:      MOV 50H,#1
AAC:      MOV P1,#11111110B ;R
      MOV P3,#11111110B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11110111B
      MOV P3,#11110111B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11111110B ;R
      MOV P3,#11111110B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11110111B
      MOV P3,#11110111B
      LCALL YSS3
      LCALL YSS3
       MOV P1,#11111101B;G
      MOV P3,#11111101B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11101111B
      MOV P3,#11101111B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11111101B;G
      MOV P3,#11111101B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11101111B
      MOV P3,#11101111B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11111011B ;B
      MOV P3,#11111011B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11011111B
      MOV P3,#11011111B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11111011B ;B
      MOV P3,#11111011B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11011111B
      MOV P3,#11011111B
      LCALL YSS3
      LCALL YSS3
       MOV P1,#11111100B;RG
      MOV P3,#11111100B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11100111B
      MOV P3,#11100111B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11111100B;RG
      MOV P3,#11111100B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11100111B
      MOV P3,#11100111B
      LCALL YSS3
      LCALL YSS3
       MOV P1,#11111001B;GB
      MOV P3,#11111001B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11001111B
      MOV P3,#11001111B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11111001B;GB
      MOV P3,#11111001B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11001111B
      MOV P3,#11001111B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11111010B;RB
      MOV P3,#11111010B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11010111B
      MOV P3,#11010111B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11111010B;RB
      MOV P3,#11111010B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11010111B
      MOV P3,#11010111B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11111000B;RGB
      MOV P3,#11111000B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11000111B
      MOV P3,#11000111B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11111000B;RGB
      MOV P3,#11111000B
      LCALL YSS3
      LCALL YSS3
      MOV P1,#11000111B
      MOV P3,#11000111B
      LCALL YSS3
      LCALL YSS3
      DJNZ 50H,AAC1
      MOV 50H,#6
AAG:      MOV P3,#0FFH
      MOV P1,#00H
      LCALL YSS3
      LCALL YSS3
      MOV P1,#0FFH
      MOV P3,#00H
      LCALL YSS3
      LCALL YSS3
      DJNZ 50H,AAG
      MOV 50H,#6
AAH:  NOP      
      MOV P1,#00H
      MOV P3,#00H
      LCALL YSS3
      MOV P1,#0FFH
      MOV P3,#0FFH
      LCALL YSS3
      DJNZ 50H,AAH
      MOV P1,#0FFH
      JMP CBA
AAC1:LJMP AAC      
CBA:  MOV P3,#11000111B   ;;RGB;;;;;;;;;9
      LCALL YSS3
      MOV P3,#11111000B
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11000111B
      LCALL YSS3
      MOV P1,#11111000B  ;;
      LCALL YSS3
      MOV P3,#11000111B
      LCALL YSS3
      MOV P3,#11111000B
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11000000B ;;
      LCALL YSS3
      MOV P3,#11000111B
      LCALL YSS3
      MOV P3,#11111000B;;
      LCALL YSS3
      MOV P3,#11000000B
      LCALL YS6S
      MOV P1,#00000111B
      LCALL YSS3
      MOV P1,#0FFH
      LCALL YSS3
      MOV P3,#00000111B
      LCALL YSS3
      MOV P3,#0FFH
      LCALL YSS3
       MOV P3,#11110111B   ;;;R;;;;;;;;9
      LCALL YSS3
      MOV P3,#11111110B
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11110111B
      LCALL YSS3
      MOV P1,#11111110B  ;;
      LCALL YSS3
      MOV P3,#11110111B
      LCALL YSS3
      MOV P3,#11111110B
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11110110B ;;
      LCALL YSS3
      MOV P3,#11110111B
      LCALL YSS3
      MOV P3,#11111110B;;
      LCALL YSS3
      MOV P3,#11110110B
      LCALL YS6S ;;;;;;
      MOV P1,#01110111B
      LCALL YSS3
      MOV P1,#0FFH
      LCALL YSS3
      MOV P3,#00110111B
      LCALL YSS3
      MOV P3,#0FFH
      LCALL YSS3
       MOV P3,#11101111B   ;;G;;;;;;;;;9
      LCALL YSS3
      MOV P3,#11111101B
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11101111B
      LCALL YSS3
      MOV P1,#11111101B  ;;
      LCALL YSS3
      MOV P3,#11101111B
      LCALL YSS3
      MOV P3,#11111101B
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11101101B ;;
      LCALL YSS3
      MOV P3,#11101111B
      LCALL YSS3
      MOV P3,#11111101B;;
      LCALL YSS3
      MOV P3,#11101101B
      LCALL YS6S
      MOV P1,#00101111B
      LCALL YSS3
      MOV P1,#0FFH
      LCALL YSS3
      MOV P3,#00101111B
      LCALL YSS3
      MOV P3,#0FFH
      LCALL YSS3
       MOV P3,#11011111B   ;;;B;;;;;;;;9
      LCALL YSS3
      MOV P3,#11111011B
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11011111B
      LCALL YSS3
      MOV P1,#11111011B  ;;
      LCALL YSS3
      MOV P3,#11011111B
      LCALL YSS3
      MOV P3,#11111011B
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11011011B ;;
      LCALL YSS3
      MOV P3,#11011111B
      LCALL YSS3
      MOV P3,#11111011B;;
      LCALL YSS3
      MOV P3,#11011011B
      LCALL YS6S
      MOV P1,#00011111B
      LCALL YSS3
      MOV P1,#0FFH
      LCALL YSS3
      MOV P3,#00011111B
      LCALL YSS3
      MOV P3,#0FFH
      LCALL YSS3
       MOV P3,#11100111B   ;;;;RG;;;;;;;9
      LCALL YSS3
      MOV P3,#11111100B
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11100111B
      LCALL YSS3
      MOV P1,#11111100B  ;;
      LCALL YSS3
      MOV P3,#11100111B
      LCALL YSS3
      MOV P3,#11111100B
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11100100B ;;
      LCALL YSS3
      MOV P3,#11100111B
      LCALL YSS3
      MOV P3,#11111100B;;
      LCALL YSS3
      MOV P3,#11100100B
      LCALL YS6S
      MOV P1,#00100111B
      LCALL YSS3
      MOV P1,#0FFH
      LCALL YSS3
      MOV P3,#00100111B
      LCALL YSS3
      MOV P3,#0FFH
      LCALL YSS3
       MOV P3,#11010111B   ;;;;RB;;;;;;;9
      LCALL YSS3
      MOV P3,#11111010B
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11010111B
      LCALL YSS3
      MOV P1,#11111010B  ;;
      LCALL YSS3
      MOV P3,#11010111B
      LCALL YSS3
      MOV P3,#11111010B
      LCALL YSS3
      MOV P3,#0FFH
      MOV P1,#11010010B ;;
      LCALL YSS3
      MOV P3,#11010111B
      LCALL YSS3
      MOV P3,#11111010B;;
      LCALL YSS3
      MOV P3,#11010010B
      LCALL YS6S
      MOV P1,#00010111B
      LCALL YSS3
      MOV P1,#0FFH
      LCALL YSS3
      MOV P3,#00010111B
      LCALL YSS3
      MOV P3,#0FFH
      LCALL YSS3
LOOP3:LJMP LOOP1
REDSH:mov 21H,#1;上升
      MOV 20H,#252
REDH:MOV R6,39H
RE:   MOV P1,25H;LIGHTING
      MOV P3,25H
      LCALL DELAYH
      MOV P1,26H
      MOV P3,26H
      LCALL DELAYL
      NOP
      DJNZ R6,RE
      DEC 20H
      MOV A,20H
      CJNE A,#0,INC21
      MOV 20H,#1
INC21: INC 21H
      MOV A,21H
      CJNE A,#255,REDH
      MOV P1,25H;R上升END
      MOV P3,25H
      LCALL DELAY3S
      NOP
      RET
      RET
REDXI:mov 21H,#255;下降
      MOV 20H,#1
REDH2:MOV R6,39H
RE22:  MOV P1,25H;LIGHTING
       MOV P3,25H
      LCALL DELAYH
      MOV P1,26H
      MOV P3,26H
      LCALL DELAYL
      DJNZ R6,RE22
      DEC 21H
      MOV A,21H
      CJNE A,#0,DE2
      MOV 21H,#1
DE2:  INC 20H
      MOV A,20H
      CJNE A,#255,REDH2;下降END
      LCALL DELAY3S
      NOP
      RET
      RET
DELAYL:MOV R1,20H
DK:    MOV R5,#1
DD:    MOV R2,#8
DJ:    DJNZ R2,$
       DJNZ R5,DD
       DJNZ R1,DK
       RET
DELAYH: MOV R3,21h
DD4:    MOV R4,#4
       DJNZ R4,$
       DJNZ R3,DD4
       RET
DELAY3S:NOP
        MOV 27H,#10
YS2:    MOV 28H,#10
YS1:    MOV 29H,#100
YS:     MOV 30H,#150
        DJNZ 30H,$
        DJNZ 29H,YS
        DJNZ 28H,YS1
        DJNZ 27H,YS2
RREE1:  RET
        RET
YS6S:   NOP
        MOV 31H,40H
YS3:    MOV 32H,#10
YS4:    MOV 33H,#100
YS5:     MOV 34H,#100
        DJNZ 34H,$
        DJNZ 33H,YS5
        DJNZ 32H,YS4
        DJNZ 31H,YS3
RREE: nop
   RET
YSS5:NOP
     MOV 41H,40H
SS6: MOV 42H,#100
SS5: MOV 43H,#100
     DJNZ 43H,$
     DJNZ 42H,SS5
     DJNZ 41H,SS6
     RET
YS5M:MOV 35H,#25
YS8: MOV 36H,#100
     DJNZ 36H,$
     DJNZ 35H,YS8
     RET
YSS3:NOP
     MOV 41H,#20
SSS6: MOV 42H,#100
SSS5: MOV 43H,#100
     DJNZ 43H,$
     DJNZ 42H,SSS5
     DJNZ 41H,SSS6
     NOP
     RET
   END
   END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -