📄 液晶显示子程序.asm
字号:
;----------------------------------------------------------------------------
pot_ud bit p3.4 ;液晶对比度调节方向
pot_inc bit p3.5 ;液晶对比度调节时钟
pot_cs bit p3.6 ;液晶对比度调节
;----------------------------------------------------------------------------
disp_kz_add equ 7fffh ;液晶显示命令口地址
disp_data_add equ 3fffh ;液晶显示数据口地址
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
;==========================================================================================
link_sig_bit bit 00h
disp_fan_bit bit 03h ;显示取反标志
;****************************************************************************************
xadd equ 08h ;液晶显示行地址
yadd equ 09h ;液晶显示列地址
;--------------------------------------------------------------------------------
gb_x_add equ 0ah
gb_y_add equ 0bh
key_in_n equ 0ch
yeadd_ram equ 0dh ;年
madd_ram equ 0eh ;月
dadd_ram equ 0fh ;日
hadd_ram equ 10h ;时
nadd_ram equ 11h ;分
sadd_ram equ 12h ;秒
xq_ram equ 13h ;星期
rs422_add equ 14h
;==============================================================================
;==============================================================================
;==============================================================================
;==============================================================================
;==============================================================================
;==============================================================================
dueizhan equ 0d0h ;堆栈 0d0h---0ffh
;******************************************************************************
;******************************************************************************
;******************************************************************************
;******************************************************************************
;==============================================================================
;==============================================================================
;==============================================================================
;==============================================================================
;==============================================================================
;==============================================================================
;==============================================================================
;==============================================================================
;==============================================================================
;==============================================================================
;***************************************************************************************
;***************************************************************************************
;***************************************************************************************
;***************************************************************************************
;***************************************************************************************
;***************************************************************************************
;***************************************************************************************
org 0000h
ljmp main ;转入主程序
;----------------------------------------------------------------------
org 0003h
reti
;----------------------------------------------------------------------
org 000bh
; ljmp time0 ;定时器0中断入口
;----------------------------------------------------------------------
org 0013h
reti
;----------------------------------------------------------------------
org 001bh
reti ;定时器1中断入口
;----------------------------------------------------------------------
org 0023h
; ljmp rs485 ;串行口中断入口
;----------------------------------------------------------------------
org 002bh
reti
;----------------------------------------------------------------------
org 0033h
reti
;----------------------------------------------------------------------
org 003bh
reti
;----------------------------------------------------------------------
org 0043h
reti
;----------------------------------------------------------------------
org 004bh
reti
;----------------------------------------------------------------------
org 0053h
reti
;----------------------------------------------------------------------
org 005bh
reti
;----------------------------------------------------------------------
org 0063h
reti
;=====================================================================
;=====================================================================
;=====================================================================
; 主程序
;=====================================================================
;=====================================================================
;=====================================================================
org 0068h ;主程序
main:
mov sp,#0d0h ;
mov psw,#00h ;
lcall int ;调初始化子程序
;=====================================================================
mov rs422_add,#01h
mov r0,#yeadd_ram
mov @r0,#08h
inc r0
mov @r0,#01h
inc r0
mov @r0,#26h
inc r0
mov @r0,#09h
inc r0
mov @r0,#10h
inc r0
mov @r0,#22h
;=====================================================================
lcall csh ;液晶初始化
lcall disp_kuang ;显示框
;=====================================================================
lcall disp_00
;=====================================================================
lcall disp_link_sig ;显示联网或单机
lcall disp_time ;显示时间
lcall disp_rs422_add ;显示RS485地址
;=====================================================================
lcall disp_cs_hz
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
start:
ljmp start
;======================================================================
;======================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;=====================================================================
;====================================================================
disp_cs_hz: ;质量流量计参数显示汉字
mov yadd,#110
mov xadd,#1
;-------------------------------------------------------------------
mov dptr,#zk_lei ;累
lcall hanzi
mov dptr,#zk_ji ;计
lcall hanzi
mov dptr,#zk_liang ;量
lcall hanzi
mov dptr,#zk_mh ; :
lcall hanzisz
mov dptr,#zk_no ;
lcall hanzisz
mov dptr,#zk_ke ;克
lcall hanzi
mov dptr,#zk_xg ;/
lcall hanzisz
mov dptr,#zk_li2 ;立
lcall hanzi
mov dptr,#zk_fang ;方
lcall hanzi
mov dptr,#zk_li1 ;厘
lcall hanzi
mov dptr,#zk_mi1 ;米
lcall hanzi
ret
;=====================================================================
;=====================================================================
disp_link_sig:
mov yadd,#2
mov xadd,#5
jnb link_sig_bit,disp_sig
disp_link:
mov dptr,#zk_lian ;联
lcall hanzi
mov dptr,#zk_wang ;网
lcall hanzi
ret
disp_sig:
mov dptr,#zk_dan ;单
lcall hanzi
mov dptr,#zk_ji1 ;机
lcall hanzi
ret
disp_rs422_add:
mov yadd,#2
mov xadd,#1
mov a,rs422_add
lcall disp_hz_h
mov a,rs422_add
lcall disp_hz_l
ret
;================================================================
disp_time:
mov yadd,#02
mov xadd,#11
mov a,yeadd_ram
lcall disp_hz_h
mov a,yeadd_ram
lcall disp_hz_l
mov dptr,#zk_xg
lcall hanzisz
mov a,madd_ram
lcall disp_hz_h
mov a,madd_ram
lcall disp_hz_l
mov dptr,#zk_xg
lcall hanzisz
mov a,dadd_ram
lcall disp_hz_h
mov a,dadd_ram
lcall disp_hz_l
inc xadd
inc xadd
mov a,hadd_ram
lcall disp_hz_h
mov a,hadd_ram
lcall disp_hz_l
mov dptr,#zk_mh
lcall hanzisz
mov a,nadd_ram
lcall disp_hz_h
mov a,nadd_ram
lcall disp_hz_l
mov dptr,#zk_mh
lcall hanzisz
mov a,sadd_ram
lcall disp_hz_h
mov a,sadd_ram
lcall disp_hz_l
ret
;======================================================================
disp_00:
mov yadd,#30
mov xadd,#5
mov dptr,#zk_si ;四
lcall hanzi
mov dptr,#zk_wei ;位
lcall hanzi
mov dptr,#zk_gong ;工
lcall hanzi
mov dptr,#zk_hao ;号
lcall hanzi
mov dptr,#zk_mh ; :
lcall hanzisz
mov yadd,#60
mov xadd,#5
mov dptr,#zk_liu1 ;六
lcall hanzi
mov dptr,#zk_wei ;位
lcall hanzi
lcall disp_mima_hz
mov key_in_n,#00h
mov gb_x_add,#15
mov gb_y_add,#5
lcall disp_gb
disp_00_a:
mov yadd,#88
disp_00_b:
mov xadd,#12
mov dptr,#zk_an ;按
lcall hanzi
mov dptr,#zk_qu ;确
lcall hanzi
mov dptr,#zk_reng ;认
lcall hanzi
mov dptr,#zk_jian ;键
lcall hanzi
mov dptr,#zk_jin ;进
lcall hanzi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -