📄 46r47_1606_led.asm
字号:
;-------------------------------------------------;
JJ_send2_84:
mov A,R_RegJ
add A,LED_tab_02
mov tblp,A
tabrdl Rt_Data
jmp JJ_LI_PP
;-------------------------------------------------;
JJ_send2_00:
mov A,R_RegJ
sub A,6 ;7色取完?
snz c ;
jmp JJ_set0_84h
JJ_set0_81h:
mov A,81h ;绿底
mov Rt_Data,A ;
jmp JJ_LI_PP
JJ_set0_84h:
mov A,84h ;红底
mov Rt_Data,A ;
;-------------------------------------------------;
JJ_LI_PP:
set fg_Li
call JM_wt_HL1606
;-------------------------------------------------;
sz FangXiang
jmp J2_LI_CLK ;正向
J2_FanXiang:
inc R_RegK
mov A,R_RegK
sub A,16
snz c
jmp JJ_Mode02_RUN
J2_LI_CLK:
set B_LI
nop
clr B_LI
nop
;-------------------------------------------------;
call Delay
;-------------------------------------------------;
inc R_RegM
mov A,R_RegM
sub A,16 ;16个LED亮完?
snz c
jmp JJ_set02_K
clr R_RegM
;-------------------------------------------------;
inc R_RegJ
mov a,R_RegJ
sub A,12 ;12种变化完成?
snz c
jmp JJ_set02_K
clr R_RegJ
;-------------------------------------------------;
dec R_RegS
snz FangXiang
jmp J2_goto_Zhen
J2_goto_Fan:
clr FangXiang
jmp JJ_set02_K
J2_goto_Zhen:
set FangXiang
JJ_set02_K:
clr R_RegK
jmp JJ_MODE02_RUN
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;
;---------------------------------------------------------------;
; HL1606 正,反 向 刷 色 程 序 ;
; 8个HL1606,16个三色灯 ;
;---------------------------------------------------------------;
JJ_Mode01_Pro:
clr R_RegK
clr R_RegM
clr R_RegJ
clr fg_Li
clr Rt_Data
set FangXiang
mov A,4
mov R_RegS,A
JJ_Mode01_RUN:
sz R_RegS
jmp JW_Mode01_RUN
ret
JW_Mode01_RUN:
mov A,R_RegK
xor A,R_RegM
snz z
jmp JJ_send_00
;--------------------------------------------------;
JJ_send_Table:
set fg_Li
mov A,R_RegJ
add A,LED_tab_01
mov tblp,A
tabrdl Rt_Data
call JM_wt_HL1606
jmp JJ_chk_RK
;--------------------------------------------------;
JJ_send_00:
set fg_Li
clr Rt_Data
call JM_wt_HL1606
;--------------------------------------------------;
JJ_chk_RK:
sz FangXiang
jmp JJ_LI_CLK ;正向
JJ_FanShua:
inc R_RegK ;反向
mov A,R_RegK
sub A,16
snz c
jmp JJ_Mode01_RUN
JJ_LI_CLK:
set B_LI
nop
clr B_LI
call Delay
;--------------------------------------------------;
inc R_RegM
mov A,R_RegM
sub A,16
snz c
jmp JJ_set0_K
clr R_RegM
inc R_RegJ
mov A,R_RegJ
sub A,7
snz c
jmp JJ_set0_K
clr R_RegJ
clr R_RegK
clr R_RegM
dec R_RegS
snz FangXiang
jmp JJ_goto_Zhen
JJ_goto_Fan:
clr FangXiang
jmp JJ_Mode01_RUN
JJ_goto_Zhen:
set FangXiang
jmp JJ_Mode01_RUN
JJ_set0_K:
clr R_RegK
jmp JJ_Mode01_RUN
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;
;------->> 写 HL1606 发送数据子程序 <<-------;
;------->> PA4 = SI <<-------;
;------->> PA5 = DI <<-------;
;------->> PA6 = CI <<-------;
;------->> PA7 = LI <<-------;
;===============================================================;
JM_wt_HL1606:
mov A,8
mov Rt_count,A ;
JM_wt_Loop:
clr c
RLC Rt_Data ;
snz c
jmp JM_wt_00
JM_wt_01:
set B_DI ;1
jmp JM_wt_clk
JM_wt_00:
clr B_DI ;0
JM_wt_clk:
set B_CI
nop
clr B_CI
nop
sdz Rt_count
jmp JM_wt_Loop
nop
sz fg_Li
ret
set B_LI
nop
clr B_LI
ret
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;
;------->> Delay routine <<-------;
;===============================================================;
Delay:
mov A,50;200
mov count1,A
mov count2,A
; mov A,5
; mov count3,A
Dy_1:
sdz count1
jmp Dy_1
sdz count2
jmp Dy_1
;sdz count3
;jmp Dy_1
ret
;===============================================================;
;===============================================================;
org lastpage
LED_tab_01:
dc 84h ;红 - 84h
dc 81h ;绿 - 81h
dc 90h ;蓝 - 90h
dc 85h ;黄 - 85h
dc 91h ;青 - 91h
dc 94h ;紫 - 94h
dc 95h ;白 - 95h
LED_tab_02:
dc 95h ;
dc 85h ;
dc 90h ;
dc 81h ;
dc 91h ;
dc 94h ;
dc 95h
dc 85h
dc 90h
dc 84h
dc 91h
dc 94h
;==================================================================;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -