📄 3rgb.asm
字号:
;=====================================================
; 条灯下端软件;
; 航光开发部
;
;
;======================================================
;说明:
; 1.CPUTYPE=AT89S52 CRYSTAL=22.1184MHz
;======================================================
org 0000h
ljmp mmmm
org 000BH ;定时器0
LJMP ds0tb ;跳变
org 001BH ;定时器1
LJMP ds1jb ;渐变
mmmm:
mov p3,#0ffh
mov p1,#0ffh
mov 67h,#254 ;r
mov 68h,#2 ;g
mov 69h,#2 ;b
mov 6ch,#20
mov r3,#0
mov r2,#0
mov r1,#0
mov r4,#0
mov r5,#0
mov tmod,#11h
mov th0,#0e0h
mov tl0,#0e0h
mov th1,#0ech
mov tl1,#0f9h
setb ea
setb et0
setb tr0
setb et1
clr tr1
mov r3,p3
mov a,r3
anl a,#3fh
mov r3,a
cjne r3,#0,xz1
mov 6ch,#20
ljmp start
xz1: cjne r3,#1,xz2
mov 6ch,#40
ljmp start
xz2: cjne r3,#2,xz3
mov 6ch,#60
ljmp start
xz3: cjne r3,#3,xz4
mov 6ch,#80
ljmp start
xz4: cjne r3,#4,xz5
mov 6ch,#100
ljmp start
xz5: cjne r3,#5,xz6
mov 6ch,#120
ljmp start
xz6: cjne r3,#6,xz7
mov 6ch,#140
ljmp start
xz7: cjne r3,#7,xz8
mov 6ch,#160
ljmp start
xz8: cjne r3,#8,xz9
mov 6ch,#180
ljmp start ;********
xz9: cjne r3,#9,xz11
mov 6ch,#20
mov r3,#0
ljmp start
xz11:cjne r3,#10,xz12
mov 6ch,#40
mov r3,#1
ljmp start
xz12: cjne r3,#11,xz13
mov 6ch,#60
mov r3,#2
ljmp start
xz13: cjne r3,#12,xz14
mov 6ch,#80
mov r3,#3
ljmp start
xz14: cjne r3,#13,xz15
mov 6ch,#100
mov r3,#4
ljmp start
xz15: cjne r3,#14,xz16
mov 6ch,#120
mov r3,#5
ljmp start
xz16: cjne r3,#15,xz17
mov 6ch,#140
mov r3,#6
ljmp start
xz17: cjne r3,#16,xz18
mov 6ch,#160
mov r3,#7
ljmp start
xz18: cjne r3,#17,xz19
mov 6ch,#180
mov r3,#8
ljmp start ;******
xz19:cjne r3,#18,xz21
mov 6ch,#20
mov r3,#0
ljmp start
xz21: cjne r3,#19,xz22
mov 6ch,#40
mov r3,#1
ljmp start
xz22: cjne r3,#20,xz23
mov 6ch,#60
mov r3,#2
ljmp start
xz23: cjne r3,#21,xz24
mov 6ch,#80
mov r3,#3
ljmp start
xz24: cjne r3,#22,xz25
mov 6ch,#100
mov r3,#4
ljmp start
xz25: cjne r3,#23,xz26
mov 6ch,#120
mov r3,#5
ljmp start
xz26: cjne r3,#24,xz27
mov 6ch,#140
mov r3,#6
ljmp start
xz27: cjne r3,#25,xz28
mov 6ch,#160
mov r3,#7
ljmp start
xz28: cjne r3,#26,xz29
mov 6ch,#180
mov r3,#8
ljmp start ;******
xz29: cjne r3,#27,xz31
mov 6ch,#20
mov r3,#0
ljmp start
xz31: cjne r3,#28,xz32
mov 6ch,#40
mov r3,#1
ljmp start
xz32: cjne r3,#29,xz33
mov 6ch,#60
mov r3,#2
ljmp start
xz33: cjne r3,#30,xz34
mov 6ch,#80
mov r3,#3
ljmp start
xz34: cjne r3,#31,xz35
mov 6ch,#100
mov r3,#4
ljmp start
xz35: cjne r3,#32,xz36
mov 6ch,#120
mov r3,#5
ljmp start
xz36: cjne r3,#33,xz37
mov 6ch,#140
mov r3,#6
ljmp start
xz37: cjne r3,#34,xz38
mov 6ch,#160
mov r3,#7
ljmp start
xz38: cjne r3,#35,xz39
mov 6ch,#180
mov r3,#8
ljmp start ;******
xz39:cjne r3,#36,xz41
mov 6ch,#20
mov r3,#0
ljmp start
xz41: cjne r3,#37,xz42
mov 6ch,#40
mov r3,#1
ljmp start
xz42: cjne r3,#38,xz43
mov 6ch,#60
mov r3,#2
ljmp start
xz43: cjne r3,#39,xz44
mov 6ch,#80
mov r3,#3
ljmp start
xz44: cjne r3,#40,xz45
mov 6ch,#100
mov r3,#4
ljmp start
xz45: cjne r3,#41,xz46
mov 6ch,#120
mov r3,#5
ljmp start
xz46: cjne r3,#42,xz47
mov 6ch,#140
mov r3,#60
ljmp start
xz47: cjne r3,#43,xz48
mov 6ch,#160
mov r3,#7
ljmp start
xz48: cjne r3,#44,xz49
mov 6ch,#180
mov r3,#8
ljmp start ;*****
xz49:cjne r3,#45,xz51
mov 6ch,#20
mov r3,#0
ljmp start
xz51: cjne r3,#46,xz52
mov 6ch,#40
mov r3,#1
ljmp start
xz52: cjne r3,#47,xz53
mov 6ch,#60
mov r3,#2
ljmp start
xz53: cjne r3,#48,xz54
mov 6ch,#80
mov r3,#3
ljmp start
xz54: cjne r3,#49,xz55
mov 6ch,#100
mov r3,#4
ljmp start
xz55: cjne r3,#50,xz56
mov 6ch,#120
mov r3,#5
ljmp start
xz56: cjne r3,#51,xz57
mov 6ch,#140
mov r3,#6
ljmp start
xz57: cjne r3,#52,xz58
mov 6ch,#160
mov r3,#7
ljmp start
xz58: cjne r3,#53,xz59
mov 6ch,#180
mov r3,#8
ljmp start ;****
xz59:cjne r3,#54,xz61
mov 6ch,#20
mov r3,#0
ljmp start
xz61: cjne r3,#55,xz62
mov 6ch,#40
mov r3,#1
ljmp start
xz62: cjne r3,#56,xz63
mov 6ch,#60
mov r3,#2
ljmp start
xz63: cjne r3,#57,xz64
mov 6ch,#80
mov r3,#3
ljmp start
xz64: cjne r3,#58,xz65
mov 6ch,#100
mov r3,#4
ljmp start
xz65: cjne r3,#59,xz66
mov 6ch,#120
mov r3,#5
ljmp start
xz66: cjne r3,#60,xz67
mov 6ch,#140
mov r3,#6
ljmp start
xz67: cjne r3,#61,xz68
mov 6ch,#160
mov r3,#7
ljmp start
xz68: cjne r3,#62,xz69
mov 6ch,#180
mov r3,#8
ljmp start ;****
xz69: cjne r3,#63,stat
stat: mov 6ch,#40
;****************
start: mov 67h,#251
mov 68h,#2
mov 69h,#2
mov r3,#1
start1:
lcall fgcx
ljmp start1
fgcx: clr p1.6
clr p1.5
clr p1.4
setb p1.4 ;红
lcall delyr
clr p1.6
clr p1.5
clr p1.4
setb p1.6 ;绿
lcall delyg
clr p1.6
clr p1.5
clr p1.4
setb p1.5 ;蓝
lcall delyb
ret
;****************
delyr: mov 6ah,67h
dr2: djnz 6ah,dr2
ret
delyg: mov 6ah,68h
dg2: djnz 6ah,dg2
ret
delyb: mov 6ah,69h
db2: djnz 6ah,db2
ret
ds0tb:
clr ea
mov th0,#0e0h
mov tl0,#0e0h
inc r4
mov a,r4
cjne a,6ch,llp
mov r4,#0
cjne r3,#0,lp1
mov 67h,#254
mov 68h,#2
mov 69h,#2
mov 6ch,#60
mov r3,#1
ljmp lp
lp1: cjne r3,#1,lp2
mov 67h,#2
mov 68h,#254
mov 69h,#2
mov 6ch,#60 ; 100
mov r3,#2
ljmp lp
lp2: cjne r3,#2,lp3
mov 67h,#2
mov 68h,#2
mov 69h,#254
mov 6ch,#60 ;60
mov r3,#3 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3
ljmp lp
lp3: cjne r3,#3,lp4
mov 67h,#254
mov 68h,#2
mov 69h,#2
mov 6ch,#60
mov r3,#4
ljmp lp
lp4: cjne r3,#4,lp5
mov 67h,#2
mov 68h,#254
mov 69h,#2
mov 6ch,#60
mov r3,#5
llp: ljmp lp
lp5: cjne r3,#5,lp6
mov 67h,#2
mov 68h,#2
mov 69h,#254
mov 6ch,#60
mov r3,#6
ljmp lp
lp6: cjne r3,#6,lp7 ;*********
mov 67h,#254
mov 68h,#2
mov 69h,#2
mov 6ch,#60
mov r3,#7
ljmp lp
lp7: cjne r3,#7,lp8 ;*********
mov 67h,#2
mov 68h,#254
mov 69h,#2
mov 6ch,#60
mov r3,#8
ljmp lp
lp8: cjne r3,#8,lp9 ;*********
mov 67h,#2
mov 68h,#2
mov 69h,#254
mov 6ch,#60
mov r3,#9
ljmp lp
;********************
lp9: cjne r3,#9,lp10
mov 67h,#254
mov 68h,#2
mov 69h,#2
mov 6ch,#60
mov r3,#10
ljmp lp
lp10: cjne r3,#10,lp12
mov 67h,#2
mov 68h,#252
mov 69h,#2
mov 6ch,#60
mov r3,#11
ljmp lp
lp12: cjne r3,#11,lp13
mov 67h,#2
mov 68h,#2
mov 69h,#252
mov 6ch,#60
mov r3,#12
ljmp lp
lp13: cjne r3,#12,lp14
mov 67h,#254
mov 68h,#2
mov 69h,#2
mov 6ch,#60
mov r3,#13
ljmp lp
lp14: cjne r3,#13,lp15
mov 67h,#2
mov 68h,#254
mov 69h,#2
mov 6ch,#60
mov r3,#14
ljmp lp
lp15: cjne r3,#14,lp16
mov 67h,#2
mov 68h,#2
mov 69h,#254
mov 6ch,#60
mov r3,#15
ljmp lp
lp16: cjne r3,#15,lp17 ;*********
mov 67h,#254
mov 68h,#2
mov 69h,#2
mov 6ch,#60
mov r3,#16
ljmp lp
lp17: cjne r3,#16,lp18 ;*********
mov 67h,#2
mov 68h,#254
mov 69h,#2
mov 6ch,#60
mov r3,#17
ljmp lp
lp18: cjne r3,#17,lp101 ;*********
mov 67h,#2
mov 68h,#2
mov 69h,#254
mov 6ch,#60
mov r3,#0
inc r5
cjne r5,#5,lp101
mov r5,#0
clr tr0
setb tr1
lp:
lp101: setb ea
reti
ds1jb: clr ea
mov th1,#0f1h ;;;e
mov tl1,#0f9h
inc r4
cjne r4,#2,llpj ;;;;2
mov r4,#0
cjne r3,#0,lp1j
inc 69h
mov r2,69h
cjne r2,#251,llpj
mov r3,#1
ljmp llpj
lp1j: cjne r3,#1,lp2j
dec 67h
mov r2,67h
cjne r2,#1,llpj
mov r3,#2
ljmp llpj
lp2j: cjne r3,#2,lp3j
inc 68h
mov r2,68h
cjne r2,#251,llpj
mov r3,#3
ljmp llpj
lp3j: cjne r3,#3,lp4j
dec 69h
mov r2,69h
cjne r2,#1,lpj
mov r3,#4
ljmp lpj
lp4j: cjne r3,#4,lp5j
inc 67h
mov r2,67h
cjne r2,#251,lpj
mov r3,#5
llpj: ljmp lpj
lp5j: cjne r3,#5,lp6j
dec 68h
mov r2,68h
cjne r2,#1,llpj
mov r3,#6
ljmp llpj
lp6j: cjne r3,#6,lp7j ;*********
inc 69h
inc 68h
mov r2,69h
cjne r2,#251,llpj
mov r3,#7
ljmp llpj
lp7j: cjne r3,#7,lp8j ;*********
dec 68h
dec 67h
mov r2,68h
cjne r2,#1,lpj
mov r3,#8
ljmp lpj
lp8j: cjne r3,#8,lpj ;*********
dec 69h
inc 67h
mov r2,69h
cjne r2,#1,lpj
mov r3,#0
mov 67h,#251
mov 68h,#2
mov 69h,#2
inc r5
cjne r5,#5,lpj
mov r5,#0
clr tr1
setb tr0
lpj: setb ea
reti
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -