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

📄 带02的密码验证修改.asm

📁 用BC7281键盘辛片,通过12864显示,有键盘操作,主要是密码校对,提示
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;周 1-7          6CH    45H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  YEAR:                               ;年的限制00-99,所以不用限制
          JNB 28H,YEARL      
          MOV 60H,5EH
          MOV 3EH,5DH
 YEARL:   MOV 61H,5EH                   ;年的低位
          MOV 3FH,5DH
          MOV A,3EH
          SWAP A
          ANL A, 3FH
          MOV 46H, A 
      RET 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;      
  YUE:                                  ;月的限制,月份为1-12
          JNB 28H,YUEL
          MOV 3EH,5DH
	  mov A,3EH
          CJNE A,#00H,YUE1
          MOV 62H,5EH
  YUE1:   CJNE A,#01H,TUI0
          MOV 62H,5EH         
  YUEL:                                 ;月低位的限制
          MOV 3FH,5DH
          MOV A,3EH
          SWAP A
          ANL A,3FH
          JZ TUI0
          CLR C
          SUBB A,#0DH
          JNC TUI0
          MOV 63H,5EH
          MOV 44H,A
  TUI0: RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  DATE:                                   ;日期限制01-31
          JNB 28H,DATEL
          MOV 3EH,5DH
	  mov A,3EH
          CJNE A,#00H,DATE1
          MOV 64H,5EH
  DATE1:  CJNE A,#01H,DATE2
          MOV 64H,5EH 
  DATE2:  CJNE A,#02H,DATE3
          MOV 64H,5EH 
  DATE3:  CJNE A,#03H,TUI1
          MOV 64H,5EH 

  DATEL:                                 ;日低位的限制
          MOV 3FH,5DH
          MOV A,3EH
          SWAP A
          ANL A,3FH
          JZ TUI1
          CLR C
          SUBB A,#20H
          JNC TUI1
          MOV 65H,5EH
          MOV 43H,A
  TUI1: RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  HOUR:                                   ;小时限制00-23
          JNB 28H,HOURL
          MOV 3EH,5DH
	  mov A,3EH
          CJNE A,#00H,HOUR1
          MOV 66H,5EH
  HOUR1:  CJNE A,#01H,HOUR2
          MOV 66H,5EH  
  HOUR2:  CJNE A,#02H,TUI2
          MOV 66H,5EH 

  HOURL:                                 ;小时低位的限制
          MOV 3FH,5DH
          MOV A,3EH
          SWAP A
          ANL A,3FH
          CLR C
          SUBB A,#18H
          JNC TUI2
          MOV 67H,5EH
          MOV 42H,A
  TUI2: RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  FEN:                                   ;分钟限制00-59
          JNB 28H,FENL
          MOV 3EH,5DH
 	  mov A,3EH
          CJNE A,#00H,FEN1
          MOV 68H,5EH
  FEN1:   CJNE A,#01H,FEN2
          MOV 68H,5EH  
  FEN2:   CJNE A,#02H,FEN3
          MOV 68H,5EH  
  FEN3:   CJNE A,#03H,FEN4
          MOV 68H,5EH  
  FEN4:   CJNE A,#04H,FEN5
          MOV 68H,5EH  
  FEN5:   CJNE A,#05H,TUI3
          MOV 68H,5EH 

  FENL:                                 ;分钟低位的限制
          MOV 3FH,5DH
          MOV A,3EH
          SWAP A
          ANL A,3FH
          CLR C
          SUBB A,#3cH
          JNC TUI3
          MOV 69H,5EH
          MOV 41H,A
  TUI3: RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  MIAO:                                   ;秒限制00-59
          JNB 28H,MIAOL
          MOV 3EH,5DH
	  mov A,3EH
          CJNE A,#00H,MIAO1
          MOV 6AH,5EH
  MIAO1:   CJNE A,#01H,MIAO2
          MOV 6AH,5EH  
  MIAO2:   CJNE A,#02H,MIAO3
          MOV 6AH,5EH  
  MIAO3:   CJNE A,#03H,MIAO4
          MOV 6AH,5EH  
  MIAO4:   CJNE A,#04H,MIAO5
          MOV 6AH,5EH  
  MIAO5:   CJNE A,#05H,TUI4
          MOV 6AH,5EH 

  MIAOL:                                 ;秒低位的限制
          MOV 3FH,5DH
          MOV A,3EH
          SWAP A
          ANL A,3FH
          CLR C
          SUBB A,#3cH
          JNC TUI4
          MOV 6BH,5EH
          MOV 40H,A
  TUI4: RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ZHOU:                          ;01-07
          mov 3EH,5DH
          MOV A,3EH
          JZ TUI5
          CLR C
          SUBB A,#08
          JNC TUI5
          MOV 6CH,5EH
          MOV 45H,5DH
  TUI5: RET
;/////////////////////////////////////////////////////////////////
;********************************************************
NEWTIME:
                        MOV 60H,#2AH
                        MOV 61H,#2AH
                        MOV 62H,#2AH
                        MOV 63H,#2AH
                        MOV 64H,#2AH
                        MOV 65H,#2AH
                        MOV 66H,#2AH
                        MOV 67H,#2AH
                        MOV 68H,#2AH
                        MOV 69H,#2AH
                        MOV 6AH,#2AH
                        MOV 6BH,#2AH
                        MOV 6CH,#2AH

			MOV  COM,#01H	  ;清除屏幕显示
		        LCALL  WRI
 			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,#0CAH   ;显示"时"
			LCALL  WRD
			MOV  DATT,#0B1H
			LCALL  WRD

			MOV  COM,#84H
			LCALL  WRI
			MOV  DATT,#0BCH  ;显示"间"
			LCALL  WRD
			MOV  DATT,#0E4H
			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,#89H       ;由89H地址开始显示,99H
		        LCALL  WRI
		        MOV   DATT,60H
		        LCALL  WRD
		        MOV   DATT,61H
		        LCALL  WRD
			
		        MOV  COM,#8AH       ;由8AH地址开始显示,9AH
		        LCALL  WRI
		        MOV  DATT,#0C4H     ;显示 "年'
		        LCALL  WRD
		        MOV  DATT,#0EAH        
		        LCALL  WRD

		        MOV  COM,#8BH       ;由8BH地址开始显示,9BH
		        LCALL  WRI
		        MOV   DATT,62H
		        LCALL  WRD
		        MOV   DATT,63H
		        LCALL  WRD

		        MOV  COM,#8CH       ;由8CH地址开始显示,9CH
		        LCALL  WRI
		        MOV  DATT,#0D4H     ;显示"月"
		        LCALL  WRD
		        MOV  DATT,#0C2H       
		        LCALL  WRD

		        MOV  COM,#8DH       ;由8DH地址开始显示,9DH
		        LCALL  WRI
		        MOV   DATT,64H
		        LCALL  WRD		  
		        MOV   DATT,65H
		        LCALL  WRD

		        MOV  COM,#8EH       ;由8EH地址开始显示,9EH
		        LCALL  WRI
		        MOV  DATT,#0C8H     ;显示"日"
		        LCALL  WRD
		        MOV  DATT,#0D5H        
		        LCALL  WRD


		        MOV  COM,#91H       ;由89H地址开始显示,99H
		        LCALL  WRI
		        MOV   DATT,66H
		        LCALL  WRD
		        MOV   DATT,67H
		        LCALL  WRD
			
		        MOV  COM,#92H       ;由8AH地址开始显示,9AH
		        LCALL  WRI
		        MOV  DATT,#0CAH     ;显示 "时'
		        LCALL  WRD
		        MOV  DATT,#0B1H        
		        LCALL  WRD

		        MOV  COM,#93H       ;由8BH地址开始显示,9BH
		        LCALL  WRI
		        MOV   DATT,68H
		        LCALL  WRD
		        MOV   DATT,69H
		        LCALL  WRD

		        MOV  COM,#94H       ;由8CH地址开始显示,9CH
		        LCALL  WRI
		        MOV  DATT,#0B7H     ;显示"分"
		        LCALL  WRD
		        MOV  DATT,#0D6H       
		        LCALL  WRD

		        MOV  COM,#95H       ;由8DH地址开始显示,9DH
		        LCALL  WRI
		        MOV   DATT,6AH
		        LCALL  WRD
		        MOV   DATT,6BH
		        LCALL  WRD

		        MOV  COM,#96H       ;由8EH地址开始显示,9EH
		        LCALL  WRI
		        MOV  DATT,#0C3H     ;显示"秒"
		        LCALL  WRD
		        MOV  DATT,#0EBH        
		        LCALL  WRD

		        MOV  COM,#9AH       
		        LCALL  WRI
		        MOV  DATT,#0D0H     ;显示"星"
		        LCALL  WRD
		        MOV  DATT,#0C7H        
		        LCALL  WRD

		        MOV  COM,#9BH       ;由8EH地址开始显示,9EH
		        LCALL  WRI
		        MOV  DATT,#0C3H     ;显示"期"
		        LCALL  WRD
		        MOV  DATT,#0EBH        
		        LCALL  WRD

		        MOV  COM,#9CH     
		        LCALL  WRI
		        MOV  DATT,6cH    
		        LCALL  WRD
		        MOV  DATT,#20H        
		        LCALL  WRD

                        LCALL TIMEINX
                        LCALL TIMEBITX
 
                        RET
;***********************************************************

	;显示修改时间模式,显示数字

              TIMEINX:  
			MOV  COM,#91H     
			LCALL  WRI
			MOV  DATT,60H
			LCALL  WRD
			MOV  DATT,61H     ;可以显示输入的数字,或者显示"*",有光标移动指示
 			LCALL  WRD

			MOV  COM,#93H
			LCALL  WRI
			MOV  DATT,62H     
			LCALL  WRD
			MOV  DATT,63H
			LCALL  WRD 

			MOV  COM,#95H     
			LCALL  WRI
			MOV  DATT,64H     
			LCALL  WRD
			MOV  DATT,65H
			LCALL  WRD

			MOV  COM,#89H
			LCALL  WRI
			MOV  DATT,66H    
			LCALL  WRD
			MOV  DATT,67H
 			LCALL  WRD 

 			MOV  COM,#8BH     
			LCALL  WRI
			MOV  DATT,68H     
			LCALL  WRD
			MOV  DATT,69H
			LCALL  WRD

			MOV  COM,#8DH
			LCALL  WRI
			MOV  DATT,6AH    
			LCALL  WRD
			MOV  DATT,6BH 
			LCALL  WRD  


			MOV  COM,#9CH
			LCALL  WRI
			MOV  DATT,6CH    
			LCALL  WRD
			MOV  DATT,#20H 
			LCALL  WRD  
			 
		        RET

    
                      ;修改时间输入光标闪烁子程序,输入一个数字,光标移动一位,并在该位闪烁
		      ;处理光标在此位置闪烁子程序,在调整数据时应该加入闪烁,才可知道调整项目
		      ;增加的项目由此闪烁指示

	      TIMEBITX: JB  20H,TB1X
			MOV  COM,#0DH      ;由91H地址开始显示
			LCALL  WRI         ;实质上是让光标在此位置闪烁
 			MOV  COM,#91H
			LCALL  WRI
			MOV  COM,#0DH
			LCALL  WRI
			LJMP  EXTBX

		TB1X:   JB  21H,TB2X
			MOV  COM,#0DH      ;由93H地址开始显示
			LCALL  WRI         ;实质上是让光标在此位置闪烁
 			MOV  COM,#93H 
			LCALL  WRI
			MOV  COM,#0DH
			LCALL  WRI
			LJMP  EXTBX
	     
		TB2X:   JB  22H,TB3X
			MOV  COM,#0DH      ;由95H地址开始显示
			LCALL  WRI         ;实质上是让光标在此位置闪烁
 			MOV  COM,#95H 
			LCALL  WRI
			MOV  COM,#0DH
			LCALL  WRI
			LJMP  EXTBX

		TB3X:   JB  23H,TB4X
			MOV  COM,#0DH      ;由89H地址开始显示
			LCALL  WRI         ;实质上是让光标在此位置闪烁
 			MOV  COM,#89H 
			LCALL  WRI
			MOV  COM,#0DH
			LCALL  WRI
			LJMP  EXTBX  

		TB4X:   JB  24H,TB5X
			MOV  COM,#0DH      ;由8bH地址开始显示
			LCALL  WRI         ;实质上是让光标在此位置闪烁
 			MOV  COM,#8BH 
			LCALL  WRI
			MOV  COM,#0DH
			LCALL  WRI
			LJMP  EXTBX

		TB5X:   JB  25H,TB6X
			MOV  COM,#0DH      ;由8dH地址开始显示
			LCALL  WRI         ;实质上是让光标在此位置闪烁
 			MOV  COM,#8DH 
			LCALL  WRI
			MOV  COM,#0DH
			LCALL  WRI
			LJMP  EXTBX

		TB6X:   JB  26H,TB7X
			MOV  COM,#0DH      ;由9cH地址开始显示
			LCALL  WRI         ;实质上是让光标在此位置闪烁
 			MOV  COM,#9CH 
			LCALL  WRI
			MOV  COM,#0DH
			LCALL  WRI
			LJMP  EXTBX
			
		 TB7X: CLR  32H          ;指示修改密码数据输入完毕,等待"确认键"
			 
		EXTBX: RET


NEWT0:
	        lcall   set1302		;调用初值设定子程序
                LCALL DELAY10
                LCALL DELAY10
                CLR 06H                 ;允许正常显示
                CLR 07H
               

                RET



;//////////////////////////////////////////////////////////
         ;将单字节BCD码分解开来,然后送RAM
	 ;将40-46H 转换为30-3DH,依次选择相应的RAM 送相应的位置显示

              DIGBCD:  
                      MOV A,46H
                      ANL A,#0F0H
		      SWAP  A
                      ORL A,#30H   
                      MOV 30H,A          ;分解"年"的高位,  30H
              
                      MOV A,46H
                      
                      ANL A,#0FH
                      ORL A,#30H  

⌨️ 快捷键说明

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