📄 show_led.asm
字号:
.include "show_led.reg"
;-----------------------------------------------------
;function Refresh_Display
;-----------------------------------------------------
.if 0
Refresh_Display proc
.endif
Refresh_Display:
cp Show_Time_5ms,#00h
jp eq,display_ret
clr Show_Time_5ms
inc Show_Times
and Show_Times,#03h
;根据时间显示相应的数据位
ld R1,Show_Times
add R1,#Led_Address_Start+1
ld R0,@R1
ld R1,Show_Times
call Show_Char
display_ret:
ret
;-----------------------------------------------------
;function show char
;data from r0 addr from r1
;-----------------------------------------------------
;4。0-4。7接ABCDEFGp5.0-p5.3接四个八遥控就按我们做开的接声音接p5.4
.if 0
Show_Char proc
.endif
Show_Char:
push R2
push R3
and R0,#0fh ;防止超出范围
and R1,#07h
;or P5,#0fh ;清除所有位扫描脚位的电压
and P5,#0f0h
clr R2
ld R3,R0
ldc R0,#Tabl_Char[RR2]
xor R0,#0ffh
ld Seg_Ctronl_Port,R0 ;置相应的段电压
;置相应的位电压
cp R1,#00
jp eq,show_char_addr0
cp R1,#01
jp eq,show_char_addr1
cp R1,#02
jp eq,show_char_addr2
cp R1,#03
jp eq,show_char_addr3
jp show_char_ret
show_char_addr0:
or P5,#Led0_Pin
jp show_char_ret
show_char_addr1:
or P5,#Led1_Pin
jp show_char_ret
show_char_addr2:
or P5,#Led2_Pin
jp show_char_ret
show_char_addr3:
or P5,#Led3_Pin
jp show_char_ret
show_char_ret:
pop R3
pop R2
ret
Tabl_Char: db CHAR_0
db CHAR_1
db CHAR_2
db CHAR_3
db CHAR_4
db CHAR_5
db CHAR_6
db CHAR_7
db CHAR_8
db CHAR_9
db CHAR_A
db CHAR_B
db CHAR_C
db CHAR_D
db CHAR_E
db CHAR_F
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -