📄 带02的密码验证修改.asm
字号:
CHACODE7: SETB 00H
SETB 01H
SETB 02H
CLR 31H ;表示输入密码数据完毕,等待确认键
EXKYCDX:
RET
NEWCO: MOV 50H,56H
MOV 51H,57H
MOV 52H,58H
MOV 53H,59H
MOV 54H,5AH
MOV 55H,5BH
LCALL WRIDAT
LCALL DELAY10
LCALL DELAY10
CLR 06H
CLR 07H
LCALL NEWCO1
RET
NEWCO1:
MOV COM,#01H ;清除屏幕显示
LCALL WRI
LCALL DELAY10
MOV COM,#91H ;从第2行开始显示
LCALL WRI
MOV DATT,#0C3H ;显示"密"
LCALL WRD
MOV DATT,#0DCH
LCALL WRD
MOV COM,#92H
LCALL WRI
MOV DATT,#0C2H ;显示"码"
LCALL WRD
MOV DATT,#0EBH
LCALL WRD
MOV COM,#93H ;从第2行开始显示
LCALL WRI
MOV DATT,#0B3H ;显示"CHENG"
LCALL WRD
MOV DATT,#0C9H
LCALL WRD
MOV COM,#94H
LCALL WRI
MOV DATT,#0B9H ;显示"GONG"
LCALL WRD
MOV DATT,#0A6H
LCALL WRD
MOV COM,#95H
LCALL WRI
MOV DATT,#0D0H ;显示"修"
LCALL WRD
MOV DATT,#0DEH
LCALL WRD
MOV COM,#96H
LCALL WRI
MOV DATT,#0B8H ;显示"改"
LCALL WRD
MOV DATT,#0C4H
LCALL WRD
LCALL DELAY10
CALL DELAY1S
LCALL DELAY1S
LCALL DELAY10
MOV COM,#01H ;清除屏幕显示
LCALL WRI
LCALL DELAY10
clr 07h
clr 06h
CLR 7FH
RET
KEYEND2: ;显示:请先输入验证密码
LCALL DELAY10
MOV COM,#01H ;清除屏幕显示,
LCALL WRI
LCALL DELAY10
MOV COM,#91H
LCALL WRI
MOV DATT,#0C7H ;显示"请"
LCALL WRD
MOV DATT,#0EBH
LCALL WRD
MOV COM,#92H
LCALL WRI
MOV DATT,#0CFH ;显示"XIAN"
LCALL WRD
MOV DATT,#0C8H
LCALL WRD
MOV COM,#93H
LCALL WRI
MOV DATT,#0CAH ;显示"输"
LCALL WRD
MOV DATT,#0E4H
LCALL WRD
MOV COM,#94H
LCALL WRI
MOV DATT,#0C8H ;显示"入"
LCALL WRD
MOV DATT,#0EBH
LCALL WRD
MOV COM,#95H
LCALL WRI
MOV DATT,#0C3H ;显示"密"
LCALL WRD
MOV DATT,#0DCH
LCALL WRD
MOV COM,#96H
LCALL WRI
MOV DATT,#0C2H ;显示"码"
LCALL WRD
MOV DATT,#0EBH
LCALL WRD
LCALL DELAY1S
LCALL DELAY1S
MOV COM,#01H ;清除屏幕显示
LCALL WRI
LCALL DELAY10
clr 07h
clr 06h
RET
NEWCODE: LCALL DELAY10
LCALL DELAY10
MOV COM,#01H ;清除屏幕显示
LCALL WRI
LCALL DELAY10
LCALL DELAY10
MOV COM,#81H ;从第2行开始显示
LCALL WRI
MOV DATT,#0D0H ;显示"修"
LCALL WRD
MOV DATT,#0DEH
LCALL WRD
MOV COM,#82H
LCALL WRI
MOV DATT,#0B8H ;显示"改"
LCALL WRD
MOV DATT,#0C4H
LCALL WRD
MOV COM,#83H
LCALL WRI
MOV DATT,#0C3H ;显示"密"
LCALL WRD
MOV DATT,#0DCH
LCALL WRD
MOV COM,#84H
LCALL WRI
MOV DATT,#0C2H ;显示"码"
LCALL WRD
MOV DATT,#0EBH
LCALL WRD
MOV COM,#85H
LCALL WRI
MOV DATT,#0C4H ;显示"模"
LCALL WRD
MOV DATT,#0A3H
LCALL WRD
MOV COM,#86H
LCALL WRI
MOV DATT,#0CAH ;显示"式"
LCALL WRD
MOV DATT,#0BDH
LCALL WRD
MOV COM,#90H
LCALL WRI
MOV DATT,#0D0H ;显示"新"
LCALL WRD
MOV DATT,#0C2H
LCALL WRD
MOV COM,#91H
LCALL WRI
MOV DATT,#0C3H ;显示"密"
LCALL WRD
MOV DATT,#0DCH
LCALL WRD
MOV COM,#92H
LCALL WRI
MOV DATT,#0C2H ;显示"码"
LCALL WRD
MOV DATT,#0EBH
LCALL WRD
MOV COM,#93H
LCALL WRI
MOV DATT,#3AH ;显示":"
LCALL WRD
MOV DATT,#20H
LCALL WRD
MOV 71H,#2AH
MOV 72H,#2AH
MOV 73H,#2AH
MOV 74H,#2AH
MOV 75H,#2AH
MOV 76H,#2AH ;显示"*",当输入数字后,显示修改的数字
LCALL CODEINX
LCALL CODEBITX
RET
;修改密码输入光标闪烁子程序,输入一个数字,光标移动一位,并在该位闪烁
;处理光标在此位置闪烁子程序,在调整数据时应该加入闪烁,才可知道调整项目
;增加的项目由此闪烁指示
CODEBITX: JB 78H,NBIT2X
MOV COM,#0DH ;由89H地址开始显示
LCALL WRI ;实质上是让光标在此位置闪烁
MOV COM,#89H
LCALL WRI
MOV COM,#0DH
LCALL WRI
LJMP EXBIT7X
NBIT2X: JB 79H,NBIT3X
MOV COM,#0DH ;由8AH地址开始显示
LCALL WRI ;实质上是让光标在此位置闪烁
MOV COM,#8AH
LCALL WRI
MOV COM,#0DH
LCALL WRI
LJMP EXBIT7X
NBIT3X: JB 7AH,NBIT4X
MOV COM,#0DH ;由8BH地址开始显示
LCALL WRI ;实质上是让光标在此位置闪烁
MOV COM,#8BH
LCALL WRI
MOV COM,#0DH
LCALL WRI
LJMP EXBIT7X
NBIT4X: JB 7BH,NBIT5X
MOV COM,#0DH ;由8CH地址开始显示
LCALL WRI ;实质上是让光标在此位置闪烁
MOV COM,#8CH
LCALL WRI
MOV COM,#0DH
LCALL WRI
LJMP EXBIT7X
NBIT5X: JB 7CH,NBIT6X
MOV COM,#0DH ;由8DH地址开始显示
LCALL WRI ;实质上是让光标在此位置闪烁
MOV COM,#8DH
LCALL WRI
MOV COM,#0DH
LCALL WRI
LJMP EXBIT7X
NBIT6X: JB 7DH,NBIT7X
MOV COM,#0DH ;由8EH地址开始显示
LCALL WRI ;实质上是让光标在此位置闪烁
MOV COM,#8EH
LCALL WRI
MOV COM,#0DH
LCALL WRI
LJMP EXBIT7X
NBIT7X: CLR 31H ;指示修改密码数据输入完毕,等待"确认键"
EXBIT7X: RET
;显示修改密码模式,显示"*"号,
CODEINX:
MOV COM,#89H ;从第3行开始显示,显示6个 ******
LCALL WRI
MOV DATT,#20H ;显示"*"
LCALL WRD
MOV DATT,71H ;71H---#2AH,可以显示输入的数字,或者显示"*",有光标移动指示
LCALL WRD
MOV COM,#8AH
LCALL WRI
MOV DATT,#20H ;显示"*"
LCALL WRD
MOV DATT,72H
LCALL WRD
MOV COM,#8BH
LCALL WRI
MOV DATT,#20H ;显示"*"
LCALL WRD
MOV DATT,73H
LCALL WRD
MOV COM,#8CH
LCALL WRI
MOV DATT,#20H ;显示"*"
LCALL WRD
MOV DATT,74H
LCALL WRD
MOV COM,#8DH
LCALL WRI
MOV DATT,#20H ;显示"*"
LCALL WRD
MOV DATT,75H
LCALL WRD
MOV COM,#8EH
LCALL WRI
MOV DATT,#20H ;显示"*"
LCALL WRD
MOV DATT,76H
LCALL WRD
RET
;//////////////////////////////////////////////////////
;修改时间模式
;*********************************************************
;修改时间程序部分*****************************************
;********************************************************
TIMECH:
JB 20H,TC1 ;年高位
JNB 28H,TCL
LCALL year ;ASCII码
LCALL TIMEINX
LCALL TIMEBITX
CLR 28H
CLR 20H
AJMP TC0
TCL: LCALL year ;年低位
LCALL TIMEINX
LCALL TIMEBITX
SETB 28H
SETB 20H
CLR 21H
AJMP TC0
TC1: JB 21H,TC2
JNB 28H,TC1L
LCALL YUE ;月高位
LCALL TIMEINX
LCALL TIMEBITX
CLR 28H
CLR 21H
AJMP TC0
TC1L: LCALL YUE
LCALL TIMEINX
LCALL TIMEBITX
CLR 22H ;月低位
SETB 28H
SETB 21H
AJMP TC0
TC2: JB 22H,TC3 ;日高位
JNB 28H,TC2L
LCALL DATE
LCALL TIMEINX
LCALL TIMEBITX
CLR 28H
CLR 22H
AJMP TC0
TC2L: LCALL DATE
LCALL TIMEINX
LCALL TIMEBITX
CLR 23
SETB 28H
SETB 22H
AJMP TC0
TC3: JB 23H,TC4 ;时
JNB 28H,TC3L
LCALL HOUR
LCALL TIMEINX
LCALL TIMEBITX
CLR 28H
CLR 23H
AJMP TC0
TC3L:LCALL HOUR
LCALL TIMEINX
LCALL TIMEBITX
CLR 24H
SETB 28H
SETB 23H
AJMP TC0
TC4:
JB 24H,TC5 ;分
JNB 28H,TC4L
LCALL FEN
LCALL TIMEINX
LCALL TIMEBITX
CLR 28H
CLR 24H
AJMP TC0
TC4L: LCALL FEN
LCALL TIMEINX
LCALL TIMEBITX
CLR 25H
SETB 28H
SETB 24H
AJMP TC0
TC5:
JB 25H,TC6 ;秒
JNB 28H,TC5L
LCALL MIAO
LCALL TIMEINX
LCALL TIMEBITX
CLR 28H
CLR 25H
AJMP TC0
TC5L: LCALL MIAO
LCALL TIMEINX
LCALL TIMEBITX
CLR 26H
SETB 28H
SETB 25H
AJMP TC0
TC6: JB 26H,TC0 ;周
LCALL ZHOU
LCALL TIMEINX
LCALL TIMEBITX
SETB 28H
SETB 26H
SETB 00H
SETB 01H
SETB 02H
CLR 32H
TC0:
RET
;////////////////////////////////////////////////////
;年00-99无限制 60H,61H 46H
;月01-12 62H,63H 44H
;日01-31 64H,65H 43H
;时00-23 66H-67H 42H
;分00-59 68H-69H 41H
;秒00-59 6AH-6BH 40H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -