⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 接收.asm

📁 用于实现对液晶进行显示控制以及对键盘进行扫描识别
💻 ASM
📖 第 1 页 / 共 3 页
字号:
                inc r0
                inc dptr
note_w_no_011:  mov a,wmcon
                jnb acc.1,note_w_no_011
                djnz r2,note_w_no_01
                anl wmcon,#11100011b ;EE不写、不使能、数据指针0
                ret
;*******************************
;短信加1
inc_note_0:     mov r0,#para_addr     ;短信满:=15,
                mov a,@r0
                cjne a,#note_max+1,inc_note_00
inc_note_00:    jnc inc_note_016
                cjne a,#note_max,inc_note_01
inc_note_01:    jc inc_note_02
                mov @r0,#note_max     ;短信满:=15
                inc r0
                mov r2,#note_max
inc_note_011:   dec @r0
                mov a,@r0
                cjne a,#note_max+1,inc_note_012
inc_note_012:   jc inc_note_013
                mov @r0,#note_max-1
                mov b,r0
                inc r0
                jmp inc_note_014
inc_note_013:   inc r0
inc_note_014:   djnz r2,inc_note_011
inc_note_015:   lcall note_w_no_0
                ret
inc_note_016:   mov @r0,#0
inc_note_02:    inc @r0               ;短信数小于15
                mov b,@r0
                dec b
                inc r0
                mov r2,#note_max
inc_note_021:   mov a,@r0
                cjne a,#note_max,inc_note_022
inc_note_022:   jc inc_note_023
                mov @r0,b
                mov b,r0
                inc r0
                jmp inc_note_015
inc_note_023:   inc r0
                djnz r2,inc_note_021
inc_note_03:    mov @r0,#0
                mov r2,#15
                inc r0
inc_note_031:   mov @r0,#0ffh
                inc r0
                djnz r2,inc_note_031
                lcall note_w_no_0
                ret
;*******************************
;短信减1(短信号=note_no)
dec_note_0:     mov r0,#para_addr     ;短信满:=15,
                mov a,@r0
                jz inc_note_03
                cjne a,#note_max+1,dec_note_01
dec_note_01:    jnc inc_note_03
                inc r0
                mov r2,#note_max
dec_note_011:   mov a,@r0
                cjne a,note_no,dec_note_012
                mov @r0,#0ffh
                dec para_addr         ;短信号-1
                jmp dec_note_014
dec_note_012:   jc dec_note_014
                cjne a,#note_max,dec_note_013
dec_note_013:   jnc dec_note_014
                dec @r0
dec_note_014:   inc r0
                djnz r2,dec_note_011
                lcall note_w_no_0
                mov a,note_no
                cjne a,para_addr,dec_note_015
dec_note_015:   jc dec_note_017
                mov a,para_addr
dec_note_016:   dec a
                mov note_no,a
dec_note_017:   ret
ret
;*******************************
;查短信(短信号=note_no)
find_note_0:    mov r0,#para_addr+1   ;短信满:=15,
                mov r2,#note_max
find_note_01:   mov a,@r0
                cjne a,note_no,find_note_011
                mov a,r0
                ret
find_note_011:  inc r0
                djnz r2,find_note_01
                mov a,#0ffh
                ret
;*******************************
;查最近短信(短信号=note_no)
find_note_max_0:lcall note_r_no_0
                mov r0,#para_addr   ;短信满:=15,
                mov a,@r0
                dec a
                mov note_no,a
                cjne a,#note_max,find_note_max_01
find_note_max_01:jc find_note_max_02
                mov note_no,#0ffh
find_note_max_02:lcall find_note_0
                ret
;*******************************
delay_5s:       mov t0_10ms,#0
                mov t0_sec,#0
delay_5s_01:    jb key_mark,delay_5s_02
                mov a,t0_sec
delay_5s_02:    cjne a,#5,delay_5s_01
                ret
;*******************************
;空格
disp_nc_0:      mov char_h,#' '
                mov a,char_h
                lcall char_write_0
                ret
;*******************************
;*
disp_star_0:    mov char_h,#'*'
                mov a,char_h
                lcall char_write_0
                ret
;*******************************
;#
disp_ll_0:      mov char_h,#'#'
                mov a,char_h
                lcall char_write_0
                ret
;*******************************
;欢迎使用单工无线呼叫系统
disp_main_0:    mov x_reg,#4
                mov y_reg,#0
                mov dptr,#table_0
                mov r2,#4
disp_main_01:   mov a,#0
                movc a,@a+dptr
                mov char_h,a
                inc dptr
                mov a,#0
                movc a,@a+dptr
                mov char_l,a
                inc dptr
                mov a,char_h
                lcall char_write_0
                inc x_reg
                djnz r2,disp_main_01
                mov x_reg,#2
                mov y_reg,#2
                mov dptr,#table_1
                mov r2,#8
disp_main_02:   mov a,#0
                movc a,@a+dptr
                mov char_h,a
                inc dptr
                mov a,#0
                movc a,@a+dptr
                mov char_l,a
                inc dptr
                mov a,char_h
                lcall char_write_0
                inc x_reg
                djnz r2,disp_main_02
                ret
;*******************************
;按数字键查看短信
;按”#“键修改机号
;按”*“键退出
disp_main_1:    lcall clr_screen_0
                mov x_reg,#2
                mov y_reg,#0
                mov dptr,#table_2
                mov r2,#8
disp_main_11:   mov a,#0
                movc a,@a+dptr
                mov char_h,a
                inc dptr
                mov a,#0
                movc a,@a+dptr
                mov char_l,a
                inc dptr
                mov a,char_h
                lcall char_write_0
                inc x_reg
                djnz r2,disp_main_11
                mov x_reg,#2
                mov y_reg,#1
                mov dptr,#table_3
                mov r2,#7
disp_main_12:   mov a,#0
                movc a,@a+dptr
                mov char_h,a
                inc dptr
                mov a,#0
                movc a,@a+dptr
                mov char_l,a
                inc dptr
                mov a,char_h
                lcall char_write_0
                inc x_reg
                djnz r2,disp_main_12
                mov x_reg,#6
                mov y_reg,#16
                lcall disp_ll_0
                mov x_reg,#7
                mov y_reg,#16
                lcall disp_nc_0
                mov x_reg,#2
                mov y_reg,#3
                mov dptr,#table_4
                mov r2,#5
disp_main_13:   mov a,#0
                movc a,@a+dptr
                mov char_h,a
                inc dptr
                mov a,#0
                movc a,@a+dptr
                mov char_l,a
                inc dptr
                mov a,char_h
                lcall char_write_0
                inc x_reg
                djnz r2,disp_main_13
                mov x_reg,#6
                mov y_reg,#48
                lcall disp_star_0
                mov x_reg,#7
                mov y_reg,#48
                lcall disp_nc_0
                ret
;*******************************
;显示新短信
;按”#“确认
;按”*“键退出
disp_main_2:    lcall clr_screen_0
                mov x_reg,#2
                mov y_reg,#0
                mov dptr,#table_5
                mov r2,#5
disp_main_21:   mov a,#0
                movc a,@a+dptr
                mov char_h,a
                inc dptr
                mov a,#0
                movc a,@a+dptr
                mov char_l,a
                inc dptr
                mov a,char_h
                lcall char_write_0
                inc x_reg
                djnz r2,disp_main_21
                mov x_reg,#2
                mov y_reg,#2
                mov dptr,#table_6
                mov r2,#5
disp_main_22:   mov a,#0
                movc a,@a+dptr
                mov char_h,a
                inc dptr
                mov a,#0
                movc a,@a+dptr
                mov char_l,a
                inc dptr
                mov a,char_h
                lcall char_write_0
                inc x_reg
                djnz r2,disp_main_22
                mov x_reg,#6
                mov y_reg,#32
                lcall disp_ll_0
                mov x_reg,#7
                mov y_reg,#32
                lcall disp_nc_0
                mov x_reg,#2
                mov y_reg,#3
                mov dptr,#table_4
                mov r2,#5
disp_main_23:   mov a,#0
                movc a,@a+dptr
                mov char_h,a
                inc dptr
                mov a,#0
                movc a,@a+dptr
                mov char_l,a
                inc dptr
                mov a,char_h
                lcall char_write_0
                inc x_reg
                djnz r2,disp_main_23
                mov x_reg,#6
                mov y_reg,#48
                lcall disp_star_0
                mov x_reg,#7
                mov y_reg,#48
                lcall disp_nc_0
                ret
;*******************************
;输入机号
disp_main_3:    lcall clr_screen_0
                mov x_reg,#3
                mov y_reg,#1
                mov dptr,#table_7
                mov r2,#4
disp_main_31:   mov a,#0
                movc a,@a+dptr
                mov char_h,a
                inc dptr
                mov a,#0
                movc a,@a+dptr
                mov char_l,a
                inc dptr
                mov a,char_h
                lcall char_write_0
                inc x_reg
                djnz r2,disp_main_31
                ret
;*******************************
;输入短信号
disp_main_4:    lcall clr_screen_0
                mov x_reg,#3
                mov y_reg,#1
                mov dptr,#table_8
                mov r2,#5
disp_main_41:   mov a,#0
                movc a,@a+dptr
                mov char_h,a
                inc dptr
                mov a,#0
                movc a,@a+dptr
                mov char_l,a
                inc dptr
                mov a,char_h
                lcall char_write_0
                inc x_reg
                djnz r2,disp_main_41
                mov x_reg,#7
                mov y_reg,#32
                mov a,key_beg
                anl a,#0fh
                orl a,#30h
                mov char_h,a
                lcall char_write_0
                ret
;*******************************
;短信空
disp_main_5:    lcall clr_screen_0
                mov x_reg,#4
                mov y_reg,#1
                mov dptr,#table_9
                mov r2,#3
disp_main_51:   mov a,#0
                movc a,@a+dptr
                mov char_h,a
                inc dptr
                mov a,#0
                movc a,@a+dptr
                mov char_l,a
                inc dptr
                mov a,char_h
                lcall char_write_0
                inc x_reg
                djnz r2,disp_main_51
                ret
;*******************************
;*******************************
;*******************************
;*******************************
;*******************************
table_0:
db 0bbh,0b6h,0d3h,0adh,0cah,0b9h,0d3h,0c3h,
table_1:
db 0b5h,0a5h,0b9h,0a4h,0ceh,0deh,0cfh,0dfh
db 0bah,0f4h,0bdh,0d0h,0cfh,0b5h,0cdh,0b3h
table_2:
db 0b0h,0b4h,0cah,0fdh,0d7h,0d6h,0bch,0fch
db 0b2h,0e9h,0bfh,0b4h,0b6h,0cch,0d0h,0c5h
table_3:
db 0b0h,0b4h,0cah,0fdh,0bch,0fch,
db 0d0h,0deh,0b8h,0c4h,0bbh,0fah,0bah,0c5h
table_4:
db 0b0h,0b4h,0cah,0fdh,0bch,0fch,0cdh,0cbh,0b3h,0f6h
table_5:
db 0cfh,0d4h,0cah,0beh,0d0h,0c2h,0b6h,0cch,0d0h,0c5h
table_6:
db 0b0h,0b4h,0cah,0fdh,0bch,0fch,0c8h,0b7h,0c8h,0cfh
table_7:
db 0cah,0e4h,0c8h,0ebh,0bbh,0fah,0bah,0c5h
table_8:
db 0cah,0e4h,0c8h,0ebh,0b6h,0cch,0d0h,0c5h,0bah,0c5h
table_9:
db 0b6h,0cch,0d0h,0c5h,0bfh,0d5h
;*******************************
l1:             mov r0,#80h
                mov r2,#60
                mov dptr,#table_0
                mov @r0,#2
                inc r0
l1_1:           mov a,#0
                movc a,@a+dptr
                mov @r0,a
                inc r0
                inc dptr
                djnz r2,l1_1
                mov r2,#60
l1_2:           mov a,#0
                movc a,@a+dptr
                mov @r0,a
                inc r0
                inc dptr
                djnz r2,l1_2
                mov @r0,#3
                ret
;*******************************
;*******************************
;*******************************
;*******************************
                end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -