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

📄 cs1694_naiqf.asm

📁 CS1694 DEMO程序
💻 ASM
字号:
;******************** TEST_CS1694 **************************************
;******************** MCU:AT89C2051@12MHZ******************************
;******************   STB:P1.6	CLK:P1.5******************************
;*********************DIN&DOUT:P1.4************************************

         STB	 	 EQU P1.6
	      CLK	 	 EQU P1.5
	      DIN	 	 EQU P1.4
			
    FG    BIT     00H                 ; 标志位
	 ORG    0000H
	 AJMP   MAIN
	 ORG	 000BH                   
    LJMP	 INT_T0
	 ORG    0050H



MAIN:	   MOV    DPTR,#DATA_9
	   LCALL  DATA_IN
           MOV    A,#0fH                     ;0.5秒后显示全9
	   LCALL  SET_TIME
    	   JNZ     $
	   CLR    TR0
	
     	
			MOV    DPTR,#DATA_8
			LCALL  DATA_IN
         MOV    A,#0fH                     ;0.5秒后显示全8
			LCALL  SET_TIME
    	   JNZ     $
			CLR    TR0


			MOV    DPTR,#DATA_7
			LCALL  DATA_IN
         MOV    A,#0fH                     ;0.5秒后显示全7
			LCALL  SET_TIME
    	   JNZ     $
			CLR    TR0

			MOV    DPTR,#DATA_6
			LCALL  DATA_IN
         MOV    A,#0fH                     ;0.5秒后显示全6
			LCALL  SET_TIME
	      JNZ    $ 
			CLR    TR0


			MOV    DPTR,#DATA_5
			LCALL  DATA_IN
         MOV    A,#0fH                     ;0.5秒后显示全5
			LCALL  SET_TIME
	      JNZ     $
			CLR    TR0


			MOV    DPTR,#DATA_4
			LCALL  DATA_IN
			MOV    A,#0fH                      ;0.5秒后显示全4
			LCALL  SET_TIME
	      JNZ     $
			CLR    TR0


			MOV    DPTR,#DATA_3                ;0.5秒后显示全3
			LCALL  DATA_IN
	      MOV    A,#0fH           
			LCALL  SET_TIME
	      JNZ     $
			CLR    TR0

	      MOV    DPTR,#DATA_2                ;0.5秒后显示全
			LCALL  DATA_IN
	      MOV    A,#0fH           
			LCALL  SET_TIME
	      JNZ     $
			CLR    TR0


			MOV    DPTR,#DATA_1                 ;0.5秒后显示全1
			LCALL  DATA_IN
         MOV    A,#0fH           
			LCALL  SET_TIME
	      JNZ     $
			CLR    TR0



	                MOV    DPTR,#DATA_0                 ;0.5后显示全0  
		             LCALL  DATA_IN
                  
		
        
		  

			
KEY:                     CLR    FG
                           
                         MOV    A,#01H
		                   LCALL  SET_TIME 
	                      JNZ    $
	                      CLR    TR0
			

              SETB   STB
		        MOV    R0,#42H
		        CLR    STB
		
		        LCALL  WRITE0
              setb   din
	  	        nop
              nop
				  nop
                        LCALL  READ0
                       
			
			               JNZ     SSS_1
READ_2:                 lcall read0
			               JNZ     SSS_6
READ_3:               	LCALL  READ0
			               JNZ     SSS_12
READ_4:               	LCALL  READ0
			               JZ   READ_5
                        ljmp  SSS_18
READ_5:               	LCALL  READ0

			               JZ     READ_6
			               LJMP   SSS_24
READ_6:                 LJMP   SSS_29
                       
SSS_1:     SETB    FG                   ;有键按下FG置一
           CJNE    A,#01H,SSS_2
           MOV     DPTR,#DATA_1
			  SJMP    SSS_5

SSS_2:     CJNE    A,#02H,SSS_3
           MOV     DPTR,#DATA_2
           SJMP    SSS_5

SSS_3:     CJNE    A,#08H,SSS_4
           MOV     DPTR,#DATA_3
           SJMP    SSS_5
SSS_4:     JC      SSS_5
           CJNE    A,#10H,SSS_5
           MOV     DPTR,#DATA_4

SSS_5:     LJMP    READ_2

SSS_6:     MOV     C,FG
           JNC     SSS_7
	        CLR     FG
           LJMP    KEY
SSS_7:     SETB    FG
           CJNE    A,#01H,SSS_8
           MOV     DPTR,#DATA_5
           SJMP    SSS_11
SSs_8:    CJNE    A,#02H,SSS_9
           MOV     DPTR,#DATA_6
           SJMP    SSS_11
SSS_9:    CJNE    A,#08H,SSS_10
           MOV     DPTR,#DATA_7
           SJMP    SSS_11
SSS_10:    JC      SSS_11
           CJNE    A,#10H,SSS_11
           MOV     DPTR,#DATA_8
           



SSS_11:    LJMP    READ_3

SSS_12:    MOV     C,FG
           JNC     SSS_13
	        CLR     FG
           LJMP    KEY
SSS_13:    SETB    FG
           CJNE    A,#01H,SSS_14
           MOV     DPTR,#DATA_10
           SJMP    SSS_17
SSS_14:    CJNE    A,#02H,SSS_15
           MOV     DPTR,#DATA_20
           SJMP    SSS_17
SSS_15:    CJNE    A,#08H,SSS_16
           MOV     DPTR,#DATA_30
           SJMP    SSS_17
SSS_16:    JC      SSS_17
           CJNE    A,#10H,SSS_17
           MOV     DPTR,#DATA_30
         
SSS_17:    LJMP    READ_4

SSS_18:    MOV     C,FG
           JNC     SSS_19
	        CLR     FG
           LJMP    KEY
SSS_19:    SETB    FG
           CJNE    A,#01H,SSS_20
           MOV     DPTR,#DATA_50
           SJMP    SSS_23
SSS_20:    CJNE    A,#02H,SSS_21
           MOV     DPTR,#DATA_60
           SJMP    SSS_23
SSS_21:    CJNE    A,#08H,SSS_22
           MOV     DPTR,#DATA_70
           SJMP    SSS_23
SSS_22:    JC      SSS_23
           CJNE    A,#10H,SSS_23
           MOV     DPTR,#DATA_80
          
SSS_23:    LJMP    READ_5

SSS_24:    MOV     C,FG
           JNC     SSS_25
	        CLR     FG
           LJMP    KEY
SSS_25:    SETB    FG
           CJNE    A,#01H,SSS_26
           MOV     DPTR,#DATA_90
           SJMP    SSS_29
SSS_26:    CJNE    A,#02H,SSS_27
           MOV     DPTR,#DATA_90
           SJMP    SSS_29
SSS_27:    CJNE    A,#08H,SSS_28
           MOV     DPTR,#DATA_90
           SJMP    SSS_29
SSS_28:    JC      SSS_29
           CJNE    A,#10H,SSS_29
           MOV     DPTR,#DATA_90
           


SSS_29:    MOV     C,FG
           JNC     SSS_30
           LCALL   DATA_IN
SSS_30:    LJMP    KEY

;*****************
DATA_IN: MOV    R0,#03H
         CLR    STB
			LCALL  WRITE0
			SETB   STB
			MOV    R0,#40H
			CLR    STB
			LCALL  WRITE0
			SETB   stb
			MOV    R0,#0F0H
			CLR    STB
			LCALL  WRITE0
         SETB   STB
			MOV    R0,#8fH
			CLR    STB
			LCALL  WRITE0



			MOV    R1,#0EH
			MOV    R5,#00H






SE:	             MOV	 A,R5
		             MOVC	 A,@A+DPTR
	       	       MOV    R0,A
                   LCALL  WRITE0               
		             INC    R5
                

                   DJNZ   R1,SE
	                SETB   STB
		
                   RET  


            




WRITE0:	              MOV A,R0
                       MOV R7,#08H
                       CLR C
WRITE3:                CLR CLK
                       NOP
		                 NOP
                       nop
							  nop
							  nop

	                    RRC A
	                    MOV DIN,C
                       NOP
		                 NOP
							  nop
							  nop
                       SETB CLK
	       	           nop
							  nop
							  nop
	                    DJNZ R7,WRITE3
	                    RET

                   



READ0:        
                MOV R7,#08H
                CLR C
READ1:          MOV R1,#20
	             DJNZ R1,$
	             CLR   CLK
                MOV R1,#20
	             DJNZ R1,$
                MOV C,DIN
                SETB CLK
					 NOP
                RRC A
                DJNZ R7,READ1
                RET

SET_TIME:             MOV	TMOD,#01H	    ;工作方式1,定时25ms
		                MOV	TL0,#058H
	     	             MOV	TH0,#09EH
		                MOV	IE,#82H		    ;开定时器中断
	     	             SETB	TR0		       ;启动定时
		                RET

 INT_T0:	             DEC A
                      RETI



data_9:                                  DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 00H,00H,0FFH,03H
                                         DB 0FFH,03H
                                 


DATA_8:                                  DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
					                          DB 0FFH,03H,0FFH
				                          	  DB 03H, 0FFH,03H

DATA_7:                                  DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,00H,00H
					                          DB 03H,00H,00H,00H
					                          DB 00H,00H

DATA_6:                                  DB 0FFH,03H,00H,00H
                                         DB 0FFH,03H,0FFH,03H
					                          DB 0FFH,03H,0FFH,03H
					                          DB 0FFH,03H

DATA_5:                                  DB 0FFH,03H,00H,00H
                                         DB 0FFH,03H,0FFH,03H
					                          DB 00H,00H,0FFH,03H
					                          DB 0FFH,03H

DATA_4:                                  DB 00H,00H,0FFH,03H
                                         DB 0FFH,03H,00H,00H
                                         DB 00H,00H,0FFH,03H
                                         DB 0FFH,03H
                                         



                               

data_3:                                  DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 00H,00H,00H,00H
                                         DB 0FFH,03H
                                         




data_2:                                  DB 0FFH,03H,0FFH,03H
                                         DB 00H,00H,0FFH,03H
                                         DB 0FFH,03H,00H,00H
                                         DB 0FFH,03H
                                         



data_1:                                  DB 00H,00H,0FFH,03H
                                         DB 0FFH,03H,00H,00H
                                         DB 00H,00H,00H,00H
                                         DB 00H,00H
                                   

data_0:                                  DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 00H,00H
                                         
													  

data_10:                                 DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 00H,00H
                                         													  
													  
data_20:                                 DB 00H,00H,0FFH,03H
                                         DB 0FFH,03H,00H,00H
                                         DB 00H,00H,00H,00H
                                         DB 00H,00H
                                         																  
data_30:                                 DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 00H,00H
data_40:                                 DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 00H,00H
                                         			                                         																  
data_50:                                 DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 00H,00H
data_60:                                 DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 00H,00H
                                         			                                         																  
data_70:                                 DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 00H,00H
                                         																  
data_80:                                 DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 00H,00H
                                         																  
data_90:                                 DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 0FFH,03H,0FFH,03H
                                         DB 00H,00H
                                         END													  
													  
													  
													  
													  
													  
													  
												







		
			




                        
                        

⌨️ 快捷键说明

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