📄 t6963.asm
字号:
LCALL CCW1
DJNZ SLONG, STRING
RET
;******************************************************
; 显示菜单 MENU0
;******************************************************
MENU0: MOV R7, #08H
MOV ACODE, #00H
MOV O_XL, #03H
MOV O_YL, #02H
MN01: LCALL CCW1
INC ACODE
MOV A, O_XL
ADD A, #03H
MOV O_XL, A
DJNZ R7, MN01
RET
;******************************************************
; 显示菜单 MENU1
;******************************************************
MENU1: LCALL INTLCD2
LCALL CLRLCD
MOV COUNT1, #7CH
LCALL CGRAM
LCALL MN10
LCALL MN101
LCALL MN102
LCALL MN103
LCALL MN104
LCALL MN105
LCALL MN106
RET
;******************************************************
; 显示菜单 MN10
;******************************************************
MN10: MOV STCOD, #80H ; “肌体放松训练系统”
MOV STX, #07H
MOV STY, #00H
MOV SLONG, #08H
LCALL STRING
;
MOV STCOD, #0A0H ; “设定”
MOV STX, #08H
MOV STY, #02H
MOV SLONG, #02H
LCALL STRING
;
MOV STCOD, #0A8H ; “实际”
MOV STX, #0EH
MOV STY, #02H
MOV SLONG, #02H
LCALL STRING
;
MOV STCOD, #0B8H ; “运行状态”
MOV STX, #14H
MOV STY, #02H
MOV SLONG, #04H
LCALL STRING
;
MOV STCOD, #0C0H ; “时间”
MOV STX, #02H
MOV STY, #04H
MOV SLONG, #02H
LCALL STRING
;
MOV STCOD, #0C8H ; “温度”
MOV STX, #02H
MOV STY, #06H
MOV SLONG, #02H
LCALL STRING
;
MOV ACODE, #0D0H ; “分”
MOV O_XL, #0AH
MOV O_YL, #04H
LCALL CCW2
;
MOV ACODE, #0D0H ; “分”
MOV O_XL, #10H
MOV O_YL, #04H
LCALL CCW2
;
MOV ACODE, #0CCH ; “度”
MOV O_XL, #0AH
MOV O_YL, #06H
LCALL CCW2
;
MOV ACODE, #0CCH ; “度”
MOV O_XL, #10H
MOV O_YL, #06H
LCALL CCW2
;
RET
;******************************************************
; 显示菜单 MN101
;******************************************************
MN101: MOV A, TMSTBCD
SWAP A
RL A
ANL A, #1EH
ADD A, #0E8H
MOV ACODE, A
MOV O_XL, #08H
MOV O_YL, #04H
LCALL CCW3
;
MOV A, TMSTBCD
RL A
ANL A, #1EH
ADD A, #0E8H
MOV ACODE, A
MOV O_XL, #09H
MOV O_YL, #04H
LCALL CCW3
;
RET
;******************************************************
; 显示菜单 MN102
;******************************************************
MN102: MOV A, TPSTBCD
SWAP A
RL A
ANL A, #1EH
ADD A, #0E8H
MOV ACODE, A
MOV O_XL, #08H
MOV O_YL, #06H
LCALL CCW3
;
MOV A, TPSTBCD
RL A
ANL A, #1EH
ADD A, #0E8H
MOV ACODE, A
MOV O_XL, #09H
MOV O_YL, #06H
LCALL CCW3
;
RET
;******************************************************
; 显示菜单 MN103
;******************************************************
MN103: MOV A, TIMEBCD
SWAP A
RL A
ANL A, #1EH
ADD A, #0E8H
MOV ACODE, A
MOV O_XL, #0DH
MOV O_YL, #04H
LCALL CCW3
;
MOV A, TIMEBCD
RL A
ANL A, #1EH
ADD A, #0E8H
MOV ACODE, A
MOV O_XL, #0EH
MOV O_YL, #04H
LCALL CCW3
;
RET
;******************************************************
; 显示菜单 MN104
;******************************************************
MN104: MOV A, TEMPBCD
SWAP A
RL A
ANL A, #0EH
ADD A, #0E8H
MOV ACODE, A
MOV O_XL, #0DH
MOV O_YL, #06H
LCALL CCW3
;
MOV A, TEMPBCD
RL A
ANL A, #1EH
ADD A, #0E8H
MOV ACODE, A
MOV O_XL, #0EH
MOV O_YL, #06H
LCALL CCW3
;
RET
;******************************************************
; 显示菜单 MN105
;******************************************************
MN105: JB SYSSTA, MN105A
MOV O_XL, #16H ;“运行”
MOV O_YL, #04H
MOV ACODE, #0B0H
LCALL CCW2
MOV O_XL, #18H
MOV O_YL, #04H
MOV ACODE, #0B4H
LCALL CCW2
LJMP OUT105
;
MN105A: MOV O_XL, #16H ;“暂停”
MOV O_YL, #04H
MOV ACODE, #0D4H
LCALL CCW2
MOV O_XL, #18H
MOV O_YL, #04H
MOV ACODE, #0D8H
LCALL CCW2
;
OUT105: RET
;******************************************************
; 显示菜单 MN106
;******************************************************
MN106: JB CONNECT,MN106A
MOV O_XL, #16H ;“联机”
MOV O_YL, #06H
MOV ACODE, #0E0H
LCALL CCW2
MOV O_XL, #18H
MOV O_YL, #06H
MOV ACODE, #0E4H
LCALL CCW2
LJMP OUT106
;
MN106A: MOV O_XL, #16H ;“脱机”
MOV O_YL, #06H
MOV ACODE, #0DCH
LCALL CCW2
MOV O_XL, #18H
MOV O_YL, #06H
MOV ACODE, #0E4H
LCALL CCW2
;
OUT106: RET
;******************************************************
; BCD码转换程序
;******************************************************
BCD:
;******************************************************
; 主程序开始
;******************************************************
MAIN: MOV P0, #0EFH
MOV P1, #0BFH
MOV P2, #0FFH
MOV P3, #0FFH
MOV SP, #80H
;
MOV R7, #00H
MOV R6, #00H
DLY: DJNZ R7, DLY
DJNZ R6, DLY
;
MOV P0, #0EFH
MOV P1, #0FFH
MOV P2, #0FFH
MOV P3, #0FFH
;
MOV R7, #0E0H ; 清RAM区
MOV A, #00H
MOV R0, #20H
JP: MOV @R0, A
INC R0
DJNZ R7, JP
;
MOV TMOD, #20H ; TIMER1 WORK AT 2
MOV TH1, #0FDH ; INIT NUM
MOV TL1, #0FDH ; INIT NUM
MOV SCON, #70H ; MODEL 1
MOV PCON, #00H ; SMOD=0
MOV IP, #00H ;
SETB IT0
SETB TR1
;
LCALL INTLCD1 ; LCD初始化,设置为图形模式
LCALL CLRLCD ; 清LCD内部存储空间
LCALL MENU0 ; 显示欢迎界面
LCALL DLY_5S ; 显示5秒
LCALL CLRLCD ; 清屏
LCALL MENU1 ;
SJMP $
;******************************************************
; 主程序结束
;******************************************************
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -