📄 1106.asm
字号:
MOV DAT1,#018H ;设定光标位置
MOV DAT2,#06H ;设定光标位置
MOV COM, #21H ;设定光标
LCALL PR1
MOV COM, #0A1H ;光标形状设置
LCALL PR12
MOV sign_KEY,#04H
AJMP examine ;检查
enter_withdraw:;进入总数光标
MOV R2, sign_LAYER
CJNE R2,#03H, enter_withdraw_1
MOV DAT1,#01AH ;设定光标位置
MOV DAT2,#0AH ;设定光标位置
MOV COM, #21H ;设定光标
LCALL PR1
MOV COM, #0A1H ;光标形状设置
LCALL PR12
MOV sign_KEY,#08H
AJMP examine
enter_withdraw_1:;进入退料光标
MOV DAT1,#018H ;设定光标位置
MOV DAT2,#0AH ;设定光标位置
MOV COM, #21H ;设定光标
LCALL PR1
MOV COM, #0A1H ;光标形状设置
LCALL PR12
MOV sign_KEY,#08H
AJMP examine ;检查
RET
;---------------------------------------
;增加分配2层(试切)处理
;---------------------------------------
deal_adding_1: ;周长
MOV R1,sign_KEY
CJNE R1,#01H, ADD_11
inc girth
LCALL LAYER21
Lcall delay
AJMP examine_1 ;检查
ADD_11:;速度
MOV R1,sign_KEY
CJNE R1,#02H, ADD_12
inc velocity
add_0:
mov a ,velocity
cjne a,#101,add_1
mov velocity,#100
add_1:
LCALL LAYER23
Lcall delay
AJMP examine_1 ;检查
ADD_12:;长度
MOV R1,sign_KEY
CJNE R1,#04H, ADD_13
inc extent
LCALL LAYER22
Lcall delay
AJMP examine_1 ;检查
ADD_13:;退料
MOV R1,sign_KEY
CJNE R1,#08H, ADD_14
inc withdraw
mov a,withdraw
CJNE a,#21, add_03
mov withdraw,#20
add_03:
LCALL LAYER24
Lcall delay
AJMP examine_1 ;检查
ADD_14:
AJMP examine
RET
;----------------------
;增加分配3层(寻标) 处理
;----------------------
deal_adding_2:;photoelectric
MOV R1,sign_KEY
CJNE R1,#01H, ADD_21
MOV photoelectric ,#11H ;光电
LCALL LAYER31
Lcall delay
AJMP examine_1 ;检查
ADD_21:; seek_A
CJNE R1,#02H, ADD_22
inc seek_A
mov a,seek_A
CJNE a,#11, add_seek_A
mov seek_A,#10
add_seek_A:
LCALL LAYER33
Lcall delay
AJMP examine_1 ;检查
ADD_22:; polarity
CJNE R1,#04H, ADD_23
MOV polarity,#0BH
LCALL LAYER32
Lcall delay
AJMP examine_1 ;检查
ADD_23:;seek_B
MOV R1,sign_KEY
CJNE R1,#08H, ADD_24
inc seek_B
mov a,seek_B
CJNE a,#11, ADD_seek_B
mov seek_B,#10
ADD_seek_B :
LCALL LAYER34
Lcall delay
AJMP examine_1 ;检查
ADD_24:
AJMP examine
RET
;----------------------
;增加分配4层(设定) 处理
;----------------------
deal_adding_3: ;增加3
MOV R1,sign_KEY
CJNE R1,#01H, ADD_31
inc alarm
LCALL LAYER41
Lcall delay
AJMP examine_1 ;检查
ADD_31:;速度
MOV R1,sign_KEY
CJNE R1,#02H, ADD_32
inc batch
LCALL LAYER43
Lcall delay
AJMP examine_1 ;检查
ADD_32:;长度
MOV R1,sign_KEY
CJNE R1,#04H, ADD_33
inc postpone
MOV A ,postpone
CJNE a,#21,ADD_postpone
mov postpone,#20
ADD_postpone:
LCALL LAYER42
Lcall delay
AJMP examine_1 ;检查
ADD_33:;退料
MOV R1,sign_KEY
CJNE R1,#08H, ADD_34
inc total
LCALL LAYER44
Lcall delay
AJMP examine_1 ;检查
ADD_34:
AJMP examine
RET
;-------------------------
;减少分配2层(试切)处理
;--------------------------
deal_decrease_1: ;周长
MOV R1,sign_KEY
CJNE R1,#01H, dec_11
dec girth
LCALL LAYER21
Lcall delay
AJMP examine_1 ;检查
dec_11: ;速度
MOV R1,sign_KEY
CJNE R1,#02H, dec_12
dec velocity
mov a,velocity
CJNE a,#49, dec_1
mov velocity,#50
dec_1:
LCALL LAYER23
Lcall delay
AJMP examine_1 ;检查
dec_12: ; 长度
MOV R1,sign_KEY
CJNE R1,#04H, dec_13
dec extent
LCALL LAYER22
Lcall delay
AJMP examine_1 ;检查
dec_13: ;退料
MOV R1,sign_KEY
CJNE R1,#08H, dec_14
dec withdraw
mov a,withdraw
CJNE a,#0, dec_03
mov withdraw,#1
dec_03:
LCALL LAYER24
Lcall delay
AJMP examine_1 ;检查
dec_14:
AJMP examine
RET
;---------------------
;减少分配3层(寻标)处理
;---------------------
deal_decrease_2:;photoelectric
MOV R1,sign_KEY
CJNE R1,#01H, dec_21
MOV photoelectric ,#10H ;光电
LCALL LAYER31
Lcall delay
AJMP examine_1 ;检查
dec_21:; seek_A
CJNE R1,#02H,dec_22
dec seek_A
mov a,seek_A
CJNE a,#0, dec_seek_A
mov seek_A,#1
dec_seek_A :
LCALL LAYER33
Lcall delay
AJMP examine_1 ;检查
dec_22:; polarity
CJNE R1,#04H, dec_23
MOV polarity,#0DH
LCALL LAYER32
Lcall delay
AJMP examine_1 ;检查
dec_23:;seek_B
MOV R1,sign_KEY
CJNE R1,#08H, dec_24
dec seek_B
mov a,seek_B
CJNE a,#0, dec_seek_B
mov seek_B,#1
dec_seek_B:
LCALL LAYER34
Lcall delay
AJMP examine_1 ;检查
dec_24:
AJMP examine
RET
;-----------------------
;减少分配4层(设定) 处理
;-----------------------
deal_decrease_3:
MOV R1,sign_KEY
CJNE R1,#01H, dec_31
DEC alarm
LCALL LAYER41
Lcall delay
AJMP examine_1 ;检查
dec_31:; seek_A
CJNE R1,#02H,dec_32
dec batch
LCALL LAYER43
Lcall delay
AJMP examine_1 ;检查
dec_32:; postpone
CJNE R1,#04H, dec_33
DEC postpone
mov a, postpone
CJNE a,#0ffH,dec_postpone
mov postpone,#0
dec_postpone:
LCALL LAYER42
Lcall delay
AJMP examine_1 ;检查
dec_33:;seek_B
MOV R1,sign_KEY
CJNE R1,#08H, dec_34
dec total
LCALL LAYER44
Lcall delay
AJMP examine_1 ;检查
dec_34:
AJMP examine
RET
;----------------
; 批数,总数,清零
;----------------
to_clear:
MOV R2, sign_LAYER
CJNE R2, #03H, nonexistence
MOV R1, sign_KEY
CJNE R1, #02H, to_clear_1
mov batch, #01H
LCALL LAYER43
to_clear_1:
CJNE R1, #08H, nonexistence
mov total, #00H
LCALL LAYER44
nonexistence:
AJMP examine
RET
;******************************
;***主要的汉字显示程序**
;******************************
LAYER1: ;汉字显示第一层
LCALL CLEAR ;清RAM
MOV DPTR,#TAB1 ;取表1
LCALL PR5 ;写第一层_CGRAM?
LCALL LAYER10 ;显示方园第1层汉字
LCALL LAYER11 ;显示1233
LCALL LAYER12 ;显示1223
RET
LAYER2: ;汉字显示第2层
LCALL CLEAR ;清RAM
MOV DPTR,#TAB2 ;取表2
LCALL PR5 ;写第2层_CGRAM?
LCALL LAYER20 ;显示第2层汉字
LCALL LAYER21 ;显示1233
LCALL LAYER22 ;显示122
LCALL LAYER23 ;显示1233
LCALL LAYER24 ;显示122
RET
LAYER3:
;汉字显示第3层
LCALL CLEAR ;清RAM
MOV DPTR,#TAB2 ;取表2
LCALL PR5 ;写第2层_CGRAM?
LCALL LAYER30 ;显示第3层汉字
LCALL LAYER31 ;显示1233
LCALL LAYER32 ;显示122
LCALL LAYER33 ;显示1233
LCALL LAYER34 ;显示122
RET
LAYER4: ;汉字显示第4层
LCALL CLEAR ;清RAM
MOV DPTR,#TAB2 ;取表2
LCALL PR5 ;写第2层_CGRAM?
LCALL LAYER40 ;显示第4层汉字
LCALL LAYER41 ;显示1233
LCALL LAYER42 ;显示122
LCALL LAYER43 ;显示1233
LCALL LAYER44 ;显示122
RET
;==================================
;初始化
;*********************************************************
INT: MOV DAT1,#00H ;设置文本显示区域首地址
MOV DAT2,#00H
MOV COM, #40H
LCALL PR1
MOV DAT1,#1EH ;设置文本显示区域宽度
MOV DAT2,#00H ;240/8=30
MOV COM, #41H
LCALL PR1
MOV DAT1,#00H ;设置图形显示区域首地址
MOV DAT2,#02H ;或为文本属性区域首地址
MOV COM, #42H
LCALL PR1
MOV DAT1,#1EH ;设置图形显示区域宽度
MOV DAT2,#00H ;或为文本属性区域宽度
MOV COM, #43H ;即一行显示所占字节数
LCALL PR1
MOV DAT1,#0
MOV DAT2,#0
MOV COM, #21H
LCALL PR1
MOV COM, #0A1H ;光标形状设置
LCALL PR12
MOV COM, #80H ;显示方式设置,逻辑"或"合成
LCALL PR12
MOV COM, #9FH ;显示开关设置,光标显示开,光标闪烁开
LCALL PR12
RET
;================================================
;清RAM子程序
;************************************************
CLEAR: MOV DAT1,#00H ;设置显示RAM首地址
MOV DAT2,#00H
MOV COM,#24H
LCALL PR1
MOV R3,#1EH ;设置循环量
MOV R4,#16H
MOV COM,#0B0H ;设置自动写方式
LCALL PR12
CLEAR1: LCALL ST3 ;判状态位S2
MOV A,#00H ;RAM清空
LCALL PR13 ;写入数据
DJNZ R3,CLEAR1 ;循环
DJNZ R4,CLEAR1 ;YINGGAI SHI 显示区内数据全清零,使不显示
MOV COM,#0B2H ;设置自动写结束
LCALL PR12
RET
;======================================================
;RD写_CGRAM 子程序
;******************************************************
PR5: MOV DAT1,#03H ;03
MOV DAT2,#00H
MOV COM,#22H ;偏置寄存器设置
LCALL PR1
MOV DAT1,#00H ;CGRAM地址
MOV DAT2,#1CH;1c
MOV COM, #24H
LCALL PR1
MOV COM ,#0B0H ;设置自动写方式
LCALL PR12
MOV R1 ,#0FFH
MOV R2 ,#4H
PR51: LCALL ST3 ;判ACC.3
MOV A,#00 ;清A
MOVC A,@A+DPTR
LCALL PR13
INC DPTR
DJNZ R1,PR51 ;写汉字32*16=
DJNZ R2,PR51
MOV COM ,#0B2H ;设置自动写结束指令
LCALL PR12
RET
;*********************************************************
;显示第一层 汉字显示 子程序
;=========================================================
;光标形状设置
LAYER10:
MOV DAT1,#00H ;设定光标位置
MOV DAT2,#00H ;设定光标位置
MOV COM, #21H ;设定光标
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -