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

📄 程序完成.txt

📁 文件里的说明.TXT有详细的说明,很有用
💻 TXT
📖 第 1 页 / 共 2 页
字号:
      MOVLW B'01110101'               	;2.3V   2.2998V                    86 0C
      MOVWF DAIN1       
      MOVLW B'11000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START
;*************************************
T28:    
;*************************************
      MOVLW B'01110000'                  	;2.2V   2.2021V                 87 0C
      MOVWF DAIN1
      MOVLW B'11000000'
      MOVWF DAIN2
      CALL DAC 
 
      GOTO START
;*********************************
T29:  
;*********************************   
      MOVLW B'01101011'                 	;2.1V     2.0996V                 88 0C  
      MOVWF DAIN1       
      MOVLW B'10000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START
;*************************************
T30:    
;*************************************
      MOVLW B'01100110'                	;2.0V     2.0020V                  89 0C
      MOVWF DAIN1
      MOVLW B'10000000'
      MOVWF DAIN2
      CALL DAC 
 
      GOTO START
;*********************************
T31:  
;*********************************   
      MOVLW B'01100001'             	;1.9V   1.8994V                    90 0C
      MOVWF DAIN1       
      MOVLW B'01000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START
;*************************************
T32:    
;*************************************
      MOVLW B'01011100'          	;1.8V   1.8018V                91 0C
      MOVWF DAIN1
      MOVLW B'01000000'
      MOVWF DAIN2
      CALL DAC 
 
      GOTO START
;*********************************
T33:  
;*********************************   
      MOVLW B'01010111'           	;1.7V   1.6992V                  92 0C
      MOVWF DAIN1       
      MOVLW B'00000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START
;*************************************
T34:    
;*************************************
      MOVLW B'01010010'        	;1.6V        1.6016V             93 0C  
      MOVWF DAIN1
      MOVLW B'00000000'
      MOVWF DAIN2
      CALL DAC 
 
      GOTO START
;*********************************
T35:  
;*********************************   
      MOVLW B'01001100'     	;1.5V       1.4990V                94 0C  
      MOVWF DAIN1       
      MOVLW B'11000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START
;*************************************
T36:    
;*************************************
      MOVLW B'01000111'     	;1.4V     1.4014V                 95  0C
      MOVWF DAIN1
      MOVLW B'11000000'
      MOVWF DAIN2
      CALL DAC 
 
      GOTO START
;*********************************
T37:  
;*********************************   
      MOVLW B'01000010'      	;1.3V   1.2988V               96 0C
      MOVWF DAIN1       
      MOVLW B'10000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START
;*************************************
T38:   
;*************************************
      MOVLW B'00111101'     	;1.2V      1.2012V           97 0C
      MOVWF DAIN1
      MOVLW B'10000000' 
      MOVWF DAIN2
      CALL DAC 
 
      GOTO START
;*********************************
T39:  
;*********************************   
      MOVLW B'00111000'   	;1.1V    1.0986V               98 0C      
      MOVWF DAIN1       
      MOVLW B'01000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START
;*************************************
T40:    
;*************************************
      MOVLW B'00110011'   	;1.0V   1.0010V               99 0C
      MOVWF DAIN1
      MOVLW B'01000000'
      MOVWF DAIN2
      CALL DAC 
 
      GOTO START
;*********************************
T41:  
;*********************************   
      MOVLW B'00101110'    	;0.9V   0.8984V             100 0C  
      MOVWF DAIN1        
      MOVLW B'00000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START
;*************************************
T42:   
;*************************************
      MOVLW B'00101001'   	;0.8V      0.8008V         101 0C
      MOVWF DAIN1
      MOVLW B'00000000'
      MOVWF DAIN2
      CALL DAC 
 
      GOTO START
;*********************************
T43:  
;*********************************   
      MOVLW B'00100011'   	;0.7V     0.6982V     102 0C
      MOVWF DAIN1       
      MOVLW B'11000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START
;*************************************
T44:    
;*************************************
      MOVLW B'00011110'   	;0.6V     0.6006V   	 103 0C
      MOVWF DAIN1
      MOVLW B'11000000'
      MOVWF DAIN2
      CALL DAC 
 
      GOTO START
;*********************************
T45:  
;*********************************   
      MOVLW B'00011001'   	;0.5V  0.4980V  	 104 0C
      MOVWF DAIN1       
      MOVLW B'10000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START
;*************************************
T46:   
;*************************************
      MOVLW B'00010100'   	;0.4V    0.40034V      	 105 0C
      MOVWF DAIN1
      MOVLW B'10000000'
      MOVWF DAIN2
      CALL DAC 
 
      GOTO START
;*********************************
T47:  
;*********************************   
      MOVLW B'00001111'   	;0.3V   0.2979V        106 0C   
      MOVWF DAIN1       
      MOVLW B'01000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START
;*************************************
T48:    
;*************************************
      MOVLW B'00001010'    	;0.2V    0.2002V         107 0C
      MOVWF DAIN1
      MOVLW B'01000000'
      MOVWF DAIN2
      CALL DAC 
 
      GOTO START
;*********************************
T49:  
;*********************************   
      MOVLW B'00000101'  	;0.1V   0.0977V          108 0C
      MOVWF DAIN1       
      MOVLW B'00000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START
;*************************************
T50:                                	 ;0V          0V               109 0C OR  HIGHER 
;*************************************
      MOVLW B'00000000'   
      MOVWF DAIN1
      MOVLW B'00000000'
      MOVWF DAIN2
      CALL DAC 
 
      GOTO START
;*********************************
T51:  
;*********************************   	;5V   5V         60 0C OR LOWER
      MOVLW B'11111111'  
      MOVWF DAIN1       
      MOVLW B'11000000'
      MOVWF DAIN2
      CALL DAC 
                
      GOTO START

;*********************************************************************
;
;*********************************************************************
D_ADD:
    	MOVF     HOUL,0 	;ACCB和ACCA低半字节相加
    	ADDWF  QIAHL
    	BTFSC    STATUS,C	;有进位否?
    	INCF     QIAHH           	;有,ACCB高字节加1,再加HOUH
    	MOVF     HOUH,0      	;ACCA、ACCB高半字节相加
    	ADDWF    QIAHH
    	RETURN                     	;子程序返回


D_SUB:

    	COMF       HOUL        	;HOUL取反加1
    	INCF       HOUL
    	BTFSC      STATUS,Z  	;低8位有进位吗?
    	DECF       HOUH         	;有,HOUH减1,再取反
    	COMF       HOUH         	;否则HOUH直接取反
    	RETURN                  	;子程序返回

;***********************************************************************
;
;***********************************************************************
D_DIV
    	CALL    SETUP
    	CLRF    ACCCHI
    	CLRF    ACCCLO
DLOOP 
    	BCF    STATUS,CARRY
    	RLF    ACCDLO
    	RLF    ACCDHI
    	RLF    ACCCLO
    	RLF    ACCCHI
    	MOVF    ACCAHI,W
    	SUBWF    ACCCHI,W
    	BTFSS    STATUS,2
    	GOTO    NOCHK
    	MOVF    ACCALO,W
    	SUBWF    ACCCLO,W
NOCHK
    	BTFSS    STATUS,CARRY
    	GOTO    NOGO
    	MOVF    ACCALO,W
    	SUBWF    ACCCLO,1
    	BTFSS    STATUS,CARRY
    	DECF    ACCCHI
    	MOVF    ACCAHI,W
    	SUBWF    ACCCHI,1
    	BSF    STATUS,CARRY
NOGO
    	RLF    ACCBLO
    	RLF    ACCBHI
    	DECFSZ    TEMP,1
    	GOTO    DLOOP
    	RETLW    0
SETUP
    	MOVLW    10H
    	MOVWF    TEMP
    	MOVF    ACCBHI,W
    	MOVWF    ACCDHI
    	MOVF    ACCBLO,W
    	MOVWF    ACCDLO
    	CLRF    ACCBHI
    	CLRF    ACCBLO
    	RETLW    0
;***********************************************************************
   

;**************************************************  

;******************************************************************** 
SET1 MACRO	
    	BSF     STATUS,RP0    
       BSF     TRISA,DQ        
       BCF     STATUS,RP0     
       ENDM
;--------------------------------------------------------------------
SET0 MACRO
   	BCF     STATUS,RP0     
       	BCF     PORTA,DQ        
       	BSF     STATUS,RP0      
       	BCF     TRISA,DQ        
       	BCF     STATUS,RP0     
       	ENDM

;--------------------------------------------------------------------
WAIT   MACRO   TIME
       	MOVLW   	(TIME/5)-1    
       	MOVWF   	TMP0           
       	CALL    	WAIT5U         
       	ENDM  
;********************************************************************* 
WAIT5U:
 
       	NOP                     
       	NOP                     
       	DECFSZ   	TMP0,F         
       	GOTO     	WAIT5U         
       	RETLW    	0             
;******************************************************************** 
DA_RESET:
       SET1                
       CLRF     FLAG         
       SET0                   
       WAIT     D'500'         
       SET1                  
       WAIT     D'70'          
       BTFSS    PORTA,DQ        
       INCF     FLAG,1       
       WAIT     D'430'         
       RETLW    0            
;--------------------------------------------------------------------
WRDATA:
       	MOVWF    	DATEMP         
       	MOVLW    	D'8'           
       	MOVWF    	COUNT  
       	BCF      	STATUS,C	         
WRLOOP:
       	SET0                   
       	NOP                     
       	NOP
       	NOP                     
       	NOP
       	NOP
       	RRF      	DATEMP,F      
       	BTFSC    	STATUS,C 
       	BSF      	PORTA,DQ       
       	WAIT     	D'60'          
       	SET1                  
       	NOP
	NOP
      	DECFSZ   	COUNT,F       
      	GOTO     	WRLOOP        
       	RETLW    	0                       
;----------------------------------- 
REDATA:
       	MOVLW    	D'8'           
       	MOVWF    	COUNT          
RALOOP:
	BCF		STATUS,C
        SET0                  
       	NOP
       	NOP
       	NOP
       	NOP
	NOP
	NOP
	SET1
	WAIT		D'10'                     
       	MOVF     	PORTA,W       
       	ANDLW     	B'00010000'
	ADDLW		D'255'
        WAIT      	D'50'  
	RRF      	DATEMP,F                         
       	DECFSZ    	COUNT,F      
       	GOTO      	RALOOP       
       
       	RETLW     	0
;****************************************************
  
;**************************************************** 
DAC
    	BCF   	STATUS,RP1
    	BCF   	STATUS,RP0 
   	CLRF  	PORTC
   	BSF  	STATUS,RP0   
   	MOVLW  	H'00'
   	MOVWF  	TRISC
   	BCF  	STATUS,RP0
;*****************************************************
	BCF     PORTC,1
	BSF 	PORTC,2
	NOP
	NOP
	NOP
  	BCF    	PORTC,2           
  	MOVLW  	08H
  	MOVWF  	COUNT1 
  	MOVF         DAIN1,0
  	MOVWF  	TDATA               
  	CALL   	WRDATA2

;****************
  	MOVLW 	04H
  	MOVWF 	COUNT1 
  	MOVF  	DAIN2,0
  	MOVWF 	TDATA
  	CALL 	WRDATA2
  	BCF 	PORTC,1            
  	BSF 	PORTC,2            
  	RETURN  

WRDATA2:
     	NOP
LOOP:  
     	BCF  	PORTC,1           
     	RLF  	TDATA,1
	BTFSS 	STATUS,C
	GOTO       	SET00
	GOTO       	SET11
SET11:          
	BSF             PORTC,0	
	GOTO 	OUT
SET00:	BCF	PORTC,0
OUT:
       	BSF  	PORTC,1      
     	DECFSZ 	COUNT1,1
     	GOTO  	LOOP
     	RETURN



;******************************************************************************
 
DELAY:                    
                              
       	MOVLW   	0FFH           
       	MOVWF  	H'20'
LP0:  	MOVLW     	0FFH           
	MOVWF	21H            
LP1:	DECFSZ      21H,F
       	GOTO        	LP1           
       	DECFSZ      20H,F   
       	GOTO        	LP0

       	RETURN
        

DELAYY:                      
                                 
LP33:       
         	MOVLW    	D'10'
            	MOVWF    	H'43'           
LP22:     
            	MOVLW    	D'130'        
            	MOVWF    	H'41'           
LP00:   	
	MOVLW   	0FFH
            	MOVWF	H'42'
LP11         	DECFSZ	42H,F          
            	GOTO        	LP11
            	DECFSZ	41H,F
            	GOTO	LP00
            	DECFSZ   	43H,F
            	GOTO     	LP22
            	BSF  	PORTB,5
            	DECFSZ   	44H,F
            	GOTO   	LP33
           
            	RETURN
;*********************  

 END

⌨️ 快捷键说明

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