📄 液晶显示子程序.asm
字号:
mov dptr,#zk_ru ;入
lcall hanzi
mov dptr,#zk_gth ;感叹号
lcall hanzisz
ret
;======================================================================
disp_gb:
mov r2,gb_x_add
mov r3,gb_y_add
lcall gb_on
ret
;======================================================================
;======================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;********************************************************************
int: ;初始化子程序
mov p1,#0ffh
mov p3,#0ffh
mov p0,#0ffh
mov p2,#0ffh
;----------------------------------------------------------------------
; mov dps,#00h
;----------------------------------------------------------------------
mov r7,#78h
mov r0,#08h
mov a,#00h
yint1: mov @r0,a
inc r0
djnz r7,yint1
;----------------------------------------------------------------------
mov r7,#50h
mov r0,#80h
mov a,#00h
yint2: mov @r0,a
inc r0
djnz r7,yint2
;-----------------------------------------------------------------------
; mov 0c4h,#41h
;------------------------------------------------------------------------
;-------------------------------------------------------------------------
mov 89h,#21h ;tmod
mov 87h,#00h ;pcon
mov 98h,#50h ;scon0
mov 0c0h,#50h ;scon1
mov th0,#4ch
mov tl0,#00h
setb tr0
setb et0
; mov th1,#4ch ;定时器1 50ms
; mov tl1,#00h
; setb tr1 ;定时器1位运行控制位
; setb et1 ;定时器1中断允许位
;-----------------------------------------------------------------------------------
; setb ex0 ;外部中断0允许位
; setb it0 ;外部中断0类型控制位(1--下降沿 0--低电平)
setb es ;串行口中断允许位
; setb es1
setb ea ;中断允许位
ret
;===================================================================================
;======================================================================
disp_kuang: ;显示框
lcall aread
lcall bread
; lcall cread
mov yadd,#00h
lcall xread
mov yadd,#19
lcall xread
mov yadd,#108
lcall xread
mov yadd,#127
lcall xread
ret
;==================================================
;================================================================
disp_mima_hz:
mov dptr,#zk_mi ;密
lcall hanzi
mov dptr,#zk_ma ;码
lcall hanzi
mov dptr,#zk_mh ; :
lcall hanzisz
ret
;======================================================================
disp_22_sz:
mov xadd,#12
mov yadd,#54
; mov dph,#l1_dph
; mov dpl,#l1_fy_yinfaliang
disp_22_sz_0:
movx a,@dptr
anl a,#0f0h
jnz disp_22_sz_1
push dph
push dpl
mov dptr,#zk_no ;
lcall hanzisz
pop dpl
pop dph
movx a,@dptr
anl a,#0fh
jnz disp_22_sz_2
push dph
push dpl
mov dptr,#zk_no ;
lcall hanzisz
pop dpl
pop dph
inc dptr
movx a,@dptr
anl a,#0f0h
jnz disp_22_sz_3
push dph
push dpl
mov dptr,#zk_no ;
lcall hanzisz
pop dpl
pop dph
movx a,@dptr
ljmp disp_22_sz_4
disp_22_sz_1:
lcall disp_hz_h
movx a,@dptr
disp_22_sz_2:
lcall disp_hz_l
inc dptr
disp_22_sz_3:
movx a,@dptr
lcall disp_hz_h
movx a,@dptr
disp_22_sz_4:
lcall disp_hz_l
push dph
push dpl
mov dptr,#zk_xsd
lcall hanzisz
pop dpl
pop dph
inc dptr
movx a,@dptr
lcall disp_hz_h
movx a,@dptr
lcall disp_hz_l
inc dptr
movx a,@dptr
lcall disp_hz_h
; movx a,@dptr
; lcall disp_hz_l
ret
;======================================================================
;======================================================================
;======================================================================
disp_21_hz:
mov xadd,#5
mov yadd,#30
disp_21_hz_0:
mov dptr,#zk_ti ;提
lcall hanzi
mov dptr,#zk_dan ;单
lcall hanzi
mov dptr,#zk_hao ;号
lcall hanzi
mov dptr,#zk_mh ; :
lcall hanzisz
ret
;================================================================
;================================================================
;================================================================
;================================================================
;================================================================
;================================================================
disp_hz_h: ;8x16 字符和数字字节高位显示
push dph
push dpl
anl a,#0f0h
swap a
mov dptr,#zk_0
mov b,#16
mul ab
add a,dpl
mov dpl,a
mov a,#00h
addc a,dph
mov dph,a
lcall hanzisz
pop dpl
pop dph
ret
;-----------------------------------------------------------------
disp_hz_l: ;8x16 字符和数字字节低位显示
push dph
push dpl
anl a,#0fh
mov dptr,#zk_0
mov b,#16
mul ab
add a,dpl
mov dpl,a
mov a,#00h
addc a,dph
mov dph,a
lcall hanzisz
pop dpl
pop dph
ret
;-----------------------------------------------------------------
hanzisz:
MOV A,YADD
MOV B,#1EH
MUL AB
MOV R2,A
MOV A,XADD
CLR C
ADD A,R2
MOV R2,A
MOV A,#00H
ADDC A,B
MOV R3,A
MOV R6,#16
HANZIA: MOV R4,#24H
LCALL COM1
PUSH 03H
MOV A,#00H
MOVC A,@A+DPTR
jnb disp_fan_bit,hanzi_fan_1
cpl a
hanzi_fan_1:
MOV R3,A
MOV R4,#0C0H
LCALL COM2
INC DPTR
POP 03H
MOV B,#1EH
LCALL ADRX
DJNZ R6,HANZIA
inc xadd
ret
;==============================================
HANZI:
MOV A,YADD
MOV B,#1EH
MUL AB
MOV R2,A
MOV A,XADD
CLR C
ADD A,R2
MOV R2,A
MOV A,#00H
ADDC A,B
MOV R3,A
MOV R6,#16
HANZIA_1:
MOV R4,#24H
LCALL COM1
PUSH 03H
MOV A,#00H
MOVC A,@A+DPTR
jnb disp_fan_bit,hanzi_fan_2
cpl a
hanzi_fan_2:
MOV R3,A
MOV R4,#0C0H
LCALL COM2
INC DPTR
POP 03H
MOV B,#1
LCALL ADRX
MOV R4,#24H
LCALL COM1
PUSH 03H
MOV A,#00H
MOVC A,@A+DPTR
jnb disp_fan_bit,hanzi_fan_3
cpl a
hanzi_fan_3:
MOV R3,A
MOV R4,#0C0H
LCALL COM2
INC DPTR
POP 03H
MOV B,#1dH
LCALL ADRX
DJNZ R6,HANZIA_1
inc xadd
inc xadd
ret
;=====================================================
COM4: PUSH DPL
PUSH DPH
MOV DPTR,#disp_kz_add
YY06: MOVX A,@DPTR
JNB ACC.0,YY06
JNB ACC.1,YY06
MOV DPTR,#disp_data_add
MOVX A,@DPTR
POP DPH
POP DPL
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -