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

📄 1302yybsz.asm

📁 16个LED旋转时钟
💻 ASM
📖 第 1 页 / 共 2 页
字号:
				BXB:MOV B,#16
					DIV AB
				    MOV @R1,A
				    MOV @R0,B
					LCALL LF1
					RET
							 
					
		
				XIAN:MOV P0,24H
				     MOV P2,22H
					 LCALL YS
					 RET

				   K:MOV P0,#0FFH
				     MOV P2,#0FFH
					 LCALL YS
					 RET

				  YS:MOV R6,#10H
				  NX:MOV R5,#18H
					 DJNZ R5,$
					 DJNZ R6,NX
					 RET
				  
				  YY:MOV R6,#0E0H
				 NX1:MOV R5,#18H
					 DJNZ R5,$
					 DJNZ R6,NX1
					 RET
							
                 SX:MOV COM,#0BFh ;命令字节为BFh
                    MOV BYT,#8 ;多字节读出模式此模块为8 个
                    MOV R1,#RCV ;数据地址覆给R1
                    ACALL DU; 调用读出数据子程序
                    RET         





				  XIE:LCALL WSK
				   S1:MOV A,@R0
				      MOV BTT,#08H
				   S2:RRC  A
				      MOV IO,C
				      NOP		  
				      SETB DCLK
				      NOP
					  CLR DCLK
					  DJNZ BTT,S2
					  INC R0
					  DJNZ BYT,S1
					  NOP
					  CLR RST
					  RET



				   DU:LCALL WSK
				   D1:CLR A
				      CLR C
					  MOV BTT,#08H
				   D2:CLR DCLK
				      NOP
					  MOV C,IO
					  RRC A
					  SETB DCLK
					  NOP
					  CLR DCLK
					  DJNZ BTT,D2
					  MOV @R1,A
					  INC R1
					  DJNZ BYT,D1
					  NOP
					  CLR RST
					  RET

				  WSK:CLR RST 
				      NOP
					  CLR DCLK
					  NOP
					  SETB RST
					  NOP
					  MOV A,COM
					  MOV BTT,#08H
				   SO:RRC A
				      MOV IO,C
					  NOP
					  SETB DCLK
					  NOP
					  CLR DCLK
					  NOP
					  DJNZ BTT,SO
					  NOP
					  RET
					  					 			 
				 LF1:INC R0
					 INC R0
					 INC R1
					 INC R1
					 RET
					 
   XSDF:MOV 28H,#00H
        MOV 29H,#01H
    	MOV R7,#16
     QS:MOV A,28H
        MOVC A,@A+DPTR
        MOV 22H,A
    	MOV A,29H
        MOVC A,@A+DPTR
        MOV 24H,A
        INC 28H    
    	INC 28H 
    	INC 29H 
	    INC 29H
     	LCALL XIAN
        DJNZ R7,QS 
        RET    	 	  		  		  
				      ;HAPPY BIRTHDAY
					HB:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 0FFH,3FH,0DFH,0E1H,0DFH,3FH,0FFH        ; Y
					   DB 0FFH,9FH,6FH,6FH,6FH,01H,0FFH			  ;P
					   DB 0FFH,9FH,6FH,6FH,6FH,01H,0FFH			;  P
					   DB 0FFH,0E1H,97H,77H,97H,0E1H,0FFH 			 ;  A
					   DB 0FFH,01H,0EFH,0EFH,0EFH,01H,0FFH		;  H
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
				   HB1:DB 0FFH,3FH,0DFH,0E1H,0DFH,3FH,0FFH 		 ;  Y
					   DB 0FFH,0E1H,97H,77H,97H,0E1H,0FFH 			 ;  A
					   DB 0FFH,83H,7DH,7DH,7DH,01H,0FFH 			 ;  D
					   DB 0FFH,01H,0EFH,0EFH,0EFH,01H,0FFH 		 ;  H
					   DB 0FFH,7FH,7FH,01H,7FH,7FH,0FFH 			 ;  T
					   DB 0FFH,9DH,6BH,67H,6FH,01H,0FFH 			 ;  R
					   DB 0FFH,0FFH,7DH,01H,7DH,0FFH,0FFH 			 ;  I
					   DB 0FFH,93H,6DH,6DH,6DH,01H,0FFH 			 ;  B
					   ;TO Aurora
					TA:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 83H,7DH,7DH,7DH,83H,0FFH			 ;  o
					   DB 7FH,7FH,01H,7FH,7FH,0FFH			 ;  T
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH
				   TA1:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 0FEH,0F1H,0EDH,0EEH,0F1H            ;a	 
					   DB 0EFH,0F7H,0F8H,0F7H,0F3H			 ;R
					   DB 0F1H,0EEH,0EEH,0EEH,0F1H			  ;O
					   DB 0EFH,0F7H,0F8H,0F7H,0F3H			 ;R
					   DB 0FEH,0E1H,0FEH,0FEH,0E1H			;U
					   DB 0F0H,0CBH,0CBH,0CBH,0F0H		   ;A
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
					   DB 0FFH,0FFH,0FFH,0FFH,0FFH	 		
				SZQ:DB 83H,7DH,7DH,7DH,83H,0FFH,0FDH,01H,0BDH,0FFH,9DH,6DH,6DH,75H,79H,93H,6DH,6DH,6DH,6DH,0F7H,01H,0B7H,0D7H,0E7H,73H,6DH,6DH,6DH,1DH,73H,6DH,6DH,6DH,83H,3FH,41H,7FH,7FH,7FH,93H,6DH,6DH,6DH,93H,83H,6DH,6DH,6DH,9DH  
				 CB:DB 00H,05H,0AH,0FH,14H,19H,1EH,23H,28H,2DH

				 	
QI:
DB 0FFH,0FFH,0FBH,0FFH,0FBH,0E3H,0FBH,0FDH,0FBH,0FDH,0FBH,0FDH,0FBH,0FDH,0FBH,0FDH
DB 80H,03H,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,0FFH,0FFH
XI:
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0C7H,0FFH,0D9H,0FFH,0DEH,0FFH,0DFH,7FH,0DFH,0BFH,5FH
DB 0EFH,0DEH,0F7H,01DH,0FBH,0E3H,0FBH,0FBH,0FDH,0FDH,0FDH,0FEH,0FDH,0FFH,0FFH,0FFH
KUAI:
DB 0FFH,0FFH,0FFH,0FDH,0FEH,0FCH,0E0H,0F9H,0EEH,0F3H,0EEH,0EFH,0EEH,09FH,00H,07FH
DB 0EEH,8FH,0EEH,0F3H,0EEH,0FDH,0F2H,0FEH,0EFH,0FFH,00H,00H,0FFH,0FFH,0F1H,0FFH
LEE:
DB 0FFH,0FFH,0FFH,0FFH,0FDH,0E3H,0BDH,0CFH,3DH,0BFH,3DH,0FFH,0BDH,0FFH,0A0H,03H
DB 9DH,0FDH,0DDH,0FBH,0DDH,0B7H,0DDH,1FH,0C0H,0CFH,0FDH,0E7H,0FFH,0FBH,0FFH,0FFH
XIANG:
DB 0FFH,0FFH,0FFH,0FFH,80H,00H,0BBH,0BDH,0BBH,0BDH,0BBH,0BDH,0BBH,0BDH,80H,00H
DB 0FFH,0FFH,0F6H,7FH,0F5H,0FFH,0F3H,0FFH,00H,00H,0F4H,0FFH,0F7H,03FH,0F7H,0DFH
SHI:
DB 0FFH,0FFH,0FFH,0FBH,0FFH,0F1H,80H,0CFH,0BEH,0BFH,0BEH,0FFH,0BEH,0FFH,0BEH,8FH
DB 80H,0F3H,0FFH,0FDH,0FFH,0F6H,0FFH,0FBH,0DCH,01H,8DH,0FFH,7DH,0FFH,0FDH,0FFH	
SAN:
DB 0FFH,0FFH,0FFH,0FBH,0DFH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH
DB 0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DFH,0FBH,0FFH,0FFH
WOKAO:
DB 0FFH,0FFH,0FFH,0FFH,80H,01H,0BFH,0FEH,0BDH,0FDH,0ADH,07H,0ADH,6FH,81H,6FH
DB 0ADH,6FH,0ADH,07H,0BDH,0FFH,0BFH,0FFH,80H,0FH,0FFH,0F3H,0FFH,0FDH,0FFH,0FEH
NIAN:  
DB 0FFH,0FFH,0FFH,0DFH,0BFH,0DFH,0BBH,0DFH,0BBH,0DFH,0BBH,0DFH,0BFH,0DFH,80H,00H
DB 0BBH,0DFH,0BBH,0DFH,0BFH,0DFH,38H,1FH,0CFH,0DFH,0F7H,0DFH,0FBH,0DFH,0FDH,0DFH	;cuowu



				 END

   

					     DT:MOV A,2BH
						     CJNE A,#08H,XXI
						     MOV A,2AH
						     CJNE A,#08H,WWI
						     MOV  2AH,#00H                           ;clr 2ah,是错误的!!!
						     MOV  2BH,#00H
						     RETI
				 	    XXI:LCALL YY
				           LCALL SX
				           LCALL BM
					        LCALL MAIN
						     INC 2BH
						     CLR A 
					        MOV 3DH,#00H
					        MOV 3EH,#00H
					        MOV 3FH,#00H
					        RETI
				 	    WWI:LCALL DDF
					        INC 2AH
						     RETI
					 



	            DT:JNB 20H.3,XXI     
						JNB 21H.3,WWI
						JNB 22H.3,TTI
						MOV 20H,#00H
						MOV 21H,#00H
						MOV 22H,#00H
						RETI
					XXI:LCALL YY
				       LCALL SX
				       LCALL BM
					    LCALL MAIN
						 INC 20H
						 CLR A 
					    CLR 3DH
					    CLR 3EH
					    CLR 3FH
						 RETI
					WWI:LCALL DDF
					    INC 21H
						 RETI
					TTI:LCALL DDFF
					    INC 22H
						 RETI

										   
	

	DDF:MOV R2,#00H
        MOV R3,#00H

  WGQ_A:MOV A,R2
        MOV DPTR,#HB
        MOVC A,@A+DPTR
        MOV 24H,A     
        INC R2

  WGQ_B:MOV A,R3
        MOV DPTR,#HB1
        MOVC A,@A+DPTR
        MOV 22H,A
        INC R3

        LCALL XIAN
        CJNE R3,#56,WGQ_A
		RET



		          DT:LCALL YY
				     LCALL SX
				     LCALL BM
					 LCALL MAIN
					 CLR A 
					 CLR 3DH
					 CLR 3EH
					 CLR 3FH
					 RETI
				 
				  DT:LCALL DDF
				     LCALL SX
				     LCALL BM
					 LCALL MAIN
					 CLR A 
					 CLR 3DH
					 CLR 3EH
					 CLR 3FH
					 RETI
      


							  
SK3:  JB      K3,JP         ;检测按键K3
      ACALL   YS          ;调用20ms延时消抖动
      JB      K3,JP          ;如果K3为高电平,则是抖动
K3DD: JNB     K3,K3DD         ;等待K3按键释放
      LCALL   DU
	  LCALL   XIANX
      JB      F0,WZX
	  SETB    F0
      AJMP    JP












   SUAN:MOV A,33H
		CJNE A,#5,SS1
		MOV A,34H
		CJNE A,#31,RET_B
		SETB 20H.1             ;20H.1 SHENRI
 		RET
    SS1:CJNE A,#8,RET_B
		MOV A,34H
		CJNE A,#5,SS2
		SETB 20H.2             ;20H.2 ZHOUNINA
		RET
    SS2:CJNE A,#7,RET_B
		SETB 20H.3             ;20H.3 QIXI
  RET_B:RET


		    JB 20H.4,V1
		    LCALL ZHENG
		    INC 21H
		    MOV A,21H
		    CJNE A,#08H,RET_A
		    SETB 20H.4
	 	 V1:LCALL ;YAOXIANSHID 
		    INC 21H
		    MOV A,21H
			CJNE A,#10H,RET_A
			MOV 21H,#00H
			MOV 20H,#00H
   	  RET_A:RETI




						;QI
DB 0FFH,0FFH,0FBH,0FFHH,0FBH,0E3H,0FBH,0FDH,0FBH,0FDH,0FBH,0FDH,0FBH,0FDH,0FBH,0FDH
DB 80H,03H,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,0FFH,0FFH


;XI
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0C7H,0FFH,0D9H,0FFH,0DEH,7FH,0DFH,0BFH,0DFH,50H
DB 0DEH,0EFH,01DH,0F7H,0E3H,0FBH,0FBH,0FBH,0FDH,0FDH,0FEH,0FDH,0FFH,0FDH,0FFH,0FFH


;KUAI
DB 0FFH,0FFH,0FFH,0FDH,0FEH,0FCH,0E0H,0F9H,0EEH,0F3H,0EEH,0EFH,0EEH,09FH,00H,07FH
DB 0EEH,8FH,0EEH,0F3H,0EEH,0FDH,0F2H,0FEH,0EFH,0FFH,00H,00H,0FFH,0FFH,0F1H,0FFH

;LE

DB 0FFH,0FFH,0FFH,0FFH,0FDH,0E3H,0BDH,0CFH,3DH,0BFH,3DH,0FFH,0BDH,0FFH,0A0H,03H
DB 9DH,0FDH,0DDH,0FBH,0DDH,0B7H,0DDH,1FH,0C0H,0CFH,0FDH,0E7H,0FFH,0FBH,0FFH,0FFH

;XIANG
DB 0FFH,0FFH,0FFH,0FFH,80H,00H,0BBH,0BDH,0BBH,0BDH,0BBH,0BDH,0BBH,0BDH,80H,00H
DB 0FFH,0FFH,0F6H,7FH,0F5H,0FFH,0F3H,0FFH,00H,00H,0F4H,0FFH,0F7H,03FH,0F7H,0DFH

;SHI

DB 0FFH,0FFH,0FFH,0FBH,0FFH,0F180H,0CFH,0BEH,0BFH,0BEH,0FFH,0BEH,0FFH,0BEH,8FH
DB 80H,0F3H,0FFH,0FDH,0FFH,0F6H,0FFH,0FBH,0DCH,01H,8DH,0FFH,7DH,0FFH,0FDH,0FFH
	
;SAN

DB 0FFH,0FFH,0FFH,0FBH,0DFH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH
DB 0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DEH,0FBH,0DFH,0FBH,0FFH,0FFH
;ZH0U

DB 0FFH,0FFH,0FFH,0FFH,80H,01H,0BFH,0FEH,0BDH,0FDH,0ADH,07H,0ADH,6FH,81H,6FH
DB 0ADH,6FH,0ADH,07H,0BDH,0FFH,0BFH,0FFH,80H,0FH,0FFH,0F3H,0FFH,0FDH,0FFH,0FEH
;NIAN

DB 0FFH,0FFH,0FFH,0DFH,0BFH,0D0H,0BBH,0DFH,0BBH,0DFH,0BBH,0DFH,0BFH,0D0H,80H,00H
DB 0BBH,0DFH,0BBH,0DFH,0BFH,0D0H,38H,1FH,0CFH,0DFH,0F7H,0DFH,0FBH,0D0H,0FDH,0DFH

MOV DPTR,#QI
LCALL XSDF
MOV DPTR,#XI
LCALL XSDF
MOV DPTR,#KUAI
LCALL XSDF
MOV DPTR,#LE
LCALL XSDF


MOV DPTR,#XIANG
LCALL XSDF
MOV DPTR,#SHI 
LCALL XSDF
MOV DPTR,#SAN
LCALL XSDF
MOV DPTR,#ZHOU
LCALL XSDF
MOV DPTR,#NIAN
LCALL XSDF

   XSDF:MOV 28H,#00H
        MOV 29H,#01H
    	MOV R7,#16
     QS:MOV A,28H
        MOVC A,@A+DPTR
        MOV 22H,A
    	MOV A,29H
        MOVC A,@A+DPTR
        MOV 24H,A
        INC 28H    
    	INC 28H 
    	INC 29H 
	    INC 29H
     	LCALL XIAN
        DJNZ R7,QS 
        RET          





				   			 BXB:ANL A,#0FH		  ;此变位需倒位
								 MOV @R0,A
								 MOV A,3DH
								 RL A
								 RL A
								 RL A
								 RL A
								 ANL A,#0FH
								 MOV @R1,A
								 LCALL LF1
								 RET







							;jiequ



					  MOV COM,#8Eh
                      MOV BYT,#1
                      MOV R0,#XMT
                      MOV XMT,#00h
                      LCALL XIE

					  	MOV COM,#0BEh ;命令字节为BEh
                        MOV BYT,#8 ;多字节写入模式此模块为8 个
						MOV R0,#Xmt; 数据地址覆给R0
						MOV Xmt,#35h; 秒单元内容为59h
						MOV XMT+1,#58h; 分单元内容为59h
						MOV XMT+2,#23h; 时单元内容为13h
						MOV XMT+3,#10h; 日期单元内容为21h
						MOV XMT+4,#05h ;月单元内容为06h
						MOV XMT+5,#03h; 星期单元内容为03h
						MOV XMT+6,#8 ;年单元内容为00h
						MOV XMT+7,#2 ;写保护单元内容为00h
						LCALL XIE  ; 调用写入数据子程序





						   CLR F0
				        HH:MOV P0,#0FFH
						   MOV P2,#0FFH		
				       WZX:JB      F0,JP 
			           SK3:JB      K3,HH      ;检测按键K3
                           ACALL   YS          ;调用20ms延时消抖动
                           JB      K3,HH          ;如果K3为高电平,则是抖动
                      K3DD:JNB     K3,K3DD         ;等待K3按键释放

                          LCALL SX
                          LCALL BM

	                       CPL    F0

			   MOV COM,#80h ;命令字节为BEh
               MOV BYT,#1 ;多字节写入模式此模块为8 个
	           MOV R0,#XMT; 数据地址覆给R0
  	           MOV XMT,#80H
	           LCALL XIE  ; 调用写入数据子程序




					       JB     F0,JP

	          MOV COM,#80h ;命令字节为BEh
              MOV BYT,#1 ;多字节写入模式此模块为8 个
	          MOV R0,#XMT; 数据地址覆给R0
  	          MOV XMT,#00H
	          LCALL XIE  ; 调用写入数据子程序

                           JNB     F0,SK3
					

  JP: LCALL XIANX




	   JB      K1,SK2         ;检测按键K1
      ACALL   YY        ;调用20ms延时消抖动
      JB      K1,SK2          ;如果K1为高电平,则是抖动
K1DD: JNB     K1,K1DD         ;等待K1按键释放

    
  
      MOV COM,#82h ;命令字节为BEh
      MOV BYT,#1 ;多字节写入模式此模块为8 个
	   MOV R0,#XMT; 数据地址覆给R0
  	   MOV XMT,31H	  
	   LCALL XIE  ; 调用写入数据子程序
      AJMP    JP
 
      

SK2:  JB      K2,SK3       ;检测按键K2
      ACALL   YY         ;调用20ms延时消抖动
      JB      K2,SK3         ;如果K2为高电平,则是抖动     
K2DD: JNB     K2,K2DD         ;等待K2按键释放

    INC 45H
	MOV A,45H
	CJNE A,#10,VB3
	MOV 45H,#00H
	INC 44H
VB3:MOV A,44H
	CJNE A,#03,VB4
	MOV 44H,#00H
VB4:MOV A,44H
	RL A
	RL A
	RL A
	RL A
	ADD A,45H
	CJNE A,#36,TTV
    CLR A 
TTV:MOV 32H,A			

⌨️ 快捷键说明

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