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

📄 cpu427.asm

📁 质量越高得到的CPU卡的汇编程序,对于初学者是个很好的资料
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	   CALL      RECECHAR
	   SKPNC
	   GOTO     ICCCOMMRET1
	   RETLW     0



ICCRECEDATA:
;           MOVLW     11H
;           MOVWF     FSR
ICCRECEDATAL:
	   CALL      RECECHAR
	   SKPNC
	   GOTO     ICCCOMMRET1
	   MOVF     R3, W
	   MOVWF    SIA
	   INCF     FSR , 1
	   DECFSZ    R1, 1
	   GOTO      ICCRECEDATAL 
ICCSENDDATA1:
	;   BTFSC     REN_FLAG, FJIANCEKA
	;   GOTO      ICCSEND_END
	   CALL      RECECHAR
        ;   SKPNC                  ;7.9
        ;   GOTO      ICCCOMMRET1   ;7.9
	   MOVLW     090H
	   SUBWF     R3, W
           SKPNZ
           GOTO      BI_1
           MOVLW     062H
	   SUBWF     R3, W
	   SKPZ
           GOTO      ICCCOMMRET
BI_1:
	   CALL      RECECHAR
	   SKPNC
	   GOTO      ICCCOMMRET1
	   MOVF      R3,1
           SKPNZ
           GOTO      ICCSEND_END
           MOVLW     081H
	   SUBWF     R3, W
	   SKPZ
           GOTO      ICCCOMMRET
ICCSEND_END:           
	   RETLW     0


ICCSENDDATA:
;           MOVLW     15H
;           MOVWF     FSR
	    
	    MOVLW     .40        ;.26
	    MOVWF     R3
ICCSENDDATA_WAIT:            
	    DECFSZ    R3, 1
	    GOTO      ICCSENDDATA_WAIT
	   
	   MOVF      SIA, W
	   MOVWF     R3
	   CALL      SENDCHAR
	   SKPNC
	   GOTO     ICCCOMMRET1
	   INCF      FSR, 1
	   DECFSZ     R1, 1
	   GOTO      ICCSENDDATA
	   
	   BTFSC      REN_FLAG, FCHONGSHOU
	   GOTO       CHONGSHOU1      ;               ICCSENDDATA1
	   BTFSC     REN_FLAG, FJIANCEKA
	   GOTO      ICCSEND_END
	   GOTO       ICCSENDDATA1
       ;    BSF       STATUS, 6
       ;    CALL      WAIT5MS
       ;    BCF       STATUS, 6

CHONGSHOU1:           
	   MOVLW       10H
	   MOVWF       FSR
	   CALL       RECECHAR
           SKPNC
           GOTO      ICCCOMMRET1
	   CALL       RECECHAR
;           SKPNC                    ;7.9
;           GOTO      ICCCOMMRET1    ;7.9
	   
	   BCF       REN_FLAG, FCHONGSHOU
	   MOVF      R3, W
	   MOVWF     14H
	   CLRF      10H
	;   CLRF      12H
	   CLRF      13H
	   MOVLW     0C0H
	   MOVWF     11H
	;   BSF       STATUS, 6
	;   CALL      WAIT5MS
	 ;  CALL      WAIT5MS
	;   BCF       STATUS, 6
	;   DELAYETU    .27
	;   DELAYETU    0FFH
;ICCCOMMRET1:                  ;7.9
;ICCCOMMRET:                   ;7.9
	   RETLW     0
ICCCOMMRET:
ICCCOMMRET1:                 ;7.9
       ;   BCF     STATUS, 5
       ;   BCF     STATUS, 6
       ;   MOVLW   70H
       ;   MOVWF   FSR
       ;   BSF     FLAG, FFEIFAKA

          BCF      STATUS, 5
        ;  CLRF     REN_FLAG    ;7.10
          GOTO    FEIFAKA_HIUFU1
	  ;;;;;;
	;  RETLW    0
;**********************************
;JIE SHOU YI GE ZI FU  
;RUO JIE SHOU DAO ZI FU C=0
;R3 WEI JIE SHOU DAO DE ZHI FU
;R6 BIAO SHI CHONG CHUAN DE CI SHOU
;**************************************
;RECECHAR_ZHUAN:
RECECHAR:
	MOVLW    .3
	MOVWF    R6
RECECHAR_CHONG:        
	BSF      PORTA, 0
	BSF      PORTA, 2
	MOVLW    B'00000101'
	TRIS     PORTA
	MOVLW    .200
	MOVWF    R4
	CLRF     R5
RECECHARL:
;        NOP
	BTFSC    REN_FLAG, USER0SAM1 
	GOTO     RECESAMIO
	BTFSS    PORTA, IOUSER
	GOTO     RECECHARBEGIN
	GOTO     RECECHAR2
RECESAMIO:
	BTFSS    PORTA, IOSAM
	GOTO     RECECHARBEGIN

RECECHAR2:
	DECFSZ    R5, 1
	GOTO      RECECHARL
	DECFSZ    R4, 1
	GOTO      RECECHARL
IOERROR:
	 SETC
	 RETLW    0

RECECHARBEGIN:         
	    
	    MOVLW     .12
	    MOVWF     R3
RECEBEGIN_WAIT:            
	    DECFSZ    R3, 1
	    GOTO      RECEBEGIN_WAIT
	 MOVLW      .9
	 MOVWF      R5
	 CLRF       R4
RECECHAR3:
	 RRF      R3, 1            ;4 clock
	 ;CALL     
	 DELAYETU  .27                 ;324 clock
	 BTFSC    REN_FLAG, USER0SAM1  ;4/8clock
	 GOTO     RECECHAR4        ;8 clock
	 BTFSS    PORTA, IOUSER    ;4/8 clock
	 GOTO     RECECHAR3_1      ;8 clock
	 SETC                      ;4 clock
	 INCF     R4, 1
	 GOTO     RECECHAR3_2      ;8 clock
RECECHAR3_1:
	 NOP
	 NOP                       ;4 CLOCK
	 CLRC                      ;4 clock
RECECHAR3_2:
	 NOP                       ;4 CLOCK
	 DECFSZ    R5, 1           ;4/8 clock
	 GOTO      RECECHAR3       ;8 clock
	 GOTO      RECESTOP
RECECHAR4:
	 BTFSS    PORTA, IOSAM     ;4/8 clock
	 GOTO     RECECHAR4_1      ;8 clock
	 SETC                      ;4 clock
	 INCF     R4, 1
	 GOTO     RECECHAR4_2      ;8 clock
RECECHAR4_1:
	 NOP
	 NOP
	 CLRC                      ;4 clock
RECECHAR4_2:
	 DECFSZ    R5, 1           ;4/8 clock
	 GOTO      RECECHAR3       ;8 clock
RECESTOP:
	 ;CALL      
	 DELAYETU  .25             ;.27     ;;;GOLD
	 SKPC
	 GOTO     RECESTOP_1
	 BSF       REN_FLAG, JIAOYANWEI
	 GOTO      RECESTOP_2
RECESTOP_1:
	 BCF       REN_FLAG, JIAOYANWEI
RECESTOP_2:
	 SKPC
	 GOTO     RECESTOP_3
	 DECF     R4, 1
RECESTOP_3:

;SENDCHAR_JIAOYAN1          
;          CLRF      R4
;          BTFSC     R3, 0
;          INCF      R4, 1
;          BTFSC     R3, 1  
;          INCF      R4, 1
;          BTFSC     R3, 2
;          INCF      R4, 1
;          BTFSC     R3, 3
;          INCF      R4, 1
;          BTFSC     R3, 4  
;          INCF      R4, 1
;          BTFSC     R3, 5  
;          INCF      R4, 1
;          BTFSC     R3, 6
;          INCF      R4, 1
;          BTFSC     R3, 7  
;          INCF      R4, 1            
				  ;QIU DE  JIAO YAN  WEI SHI R4.0

;          MOVLW     70H
;          MOVWF     FSR
;          BTFSC     FLAG1, SENDJIAOYAN
;          GOTO      SENDCHAR_JIAOYAN2
	  BTFSC     REN_FLAG, JIAOYANWEI         
	  GOTO      RECECHARODD
	  BTFSS     R4, 0
	  GOTO      RECECHAROK
RECECHARERR:
	  DECFSZ    R6, 1
	  GOTO      RECECHAR6
	  GOTO       IOERROR
RECECHAR6:
	  BTFSC     REN_FLAG, USER0SAM1
	  GOTO      RECECHAR7
	  MOVLW      B'00000000'
	  TRIS      PORTA
	  BCF       PORTA, IOUSER
	  GOTO      RECECHAR8
RECECHAR7:
	  MOVLW      B'00000000'
	  TRIS       PORTA
	  BCF        PORTA, IOSAM
RECECHAR8:
	  ;CALL      
	  DELAYETU  .27
	  GOTO      RECECHAR_CHONG
RECECHARODD: 
	  BTFSS     R4, 0
	  GOTO      RECECHARERR
RECECHAROK:
	  CLRC
	  RETLW      0

;**********************************
;FA SONG YI GE ZI FU R3, 
;R6 BIAO SHI CHONG CHUAN CI SHOU
;R4.0 CUN JI SUAN DE JIAO YAN WEI
;R5 CUN WIE SHOU
;R2, CUN R3 DE NEI RONG
;
;*********************************
SENDCHAR_ZHUAN:
	  MOVLW    .3
	  MOVWF     R6
SENDCHAR_CHONG:          
	  MOVLW     07H
	  MOVWF     R5
	  MOVF      R3, W
	  MOVWF     R2
SEND_JIAOYAN:          
	  RRF       R2, 1
	  ADDWF     R2, W
	  DECFSZ    R5, 1
	  GOTO      SEND_JIAOYAN
	  MOVWF     R4
	  
;          BTFSC     R3, 0
;          INCF      R4, 1
;          BTFSC     R3, 1  
;          INCF      R4, 1
;          BTFSC     R3, 2  
;          INCF      R4, 1
;          BTFSC     R3, 3
;          INCF      R4, 1
;          BTFSC     R3, 4  
;          INCF      R4, 1
;          BTFSC     R3, 5  
;          INCF      R4, 1
;          BTFSC     R3, 6
;          INCF      R4, 1
;          BTFSC     R3, 7  
;          INCF      R4, 1            ;QIU DE  JIAO YAN  WEI SHI R4.0
	   
;           MOVLW     70H
;           MOVWF     FSR
;           BSF       FLAG1,  SENDJIAOYAN
;           GOTO      SENDCHAR_JIAOYAN1 
;SENDCHAR_JIAOYAN2:           
;          BCF        FLAG1, SENDJIAOYAN
	  BSF        PORTA, 0
	  BSF       PORTA, 2
	  MOVLW      B'00000000'
	  TRIS       PORTA
	  MOVLW     .9
	  MOVWF      R5
	  MOVF       R3, W
	  MOVWF      R2
	  BTFSS      R4, 0
	  GOTO       SENDCHAR_1
	  SETC
	  GOTO       SENDCHAR_2
SENDCHAR_1:
	  CLRC
SENDCHAR_2:
	  BTFSC     REN_FLAG, USER0SAM1
	  GOTO      SENDCHAR1
	  BCF       PORTA, IOUSER
	  GOTO      SENDCHAR2
SENDCHAR1:
	  BCF        PORTA, IOSAM     ;START BIT
SENDCHAR2:
	  RRF        R3, 1           ;4 clock
	  ;CALL                     
	  DELAYETU   .27          ;324 clock
;         MOVLW      .27            ;4 CLOCK
;         MOVWF      R0             ;4 CLOCK
;         NOP
;       ;  NOP
;DELAYETU1_1         
;         DECFSZ     R0, 1          ;4/8 CLOCK
;         GOTO       DELAYETU1_1      ;8 CLOCK
	  BTFSC      REN_FLAG, USER0SAM1 ;4/8 clock
	  GOTO       SENDCHAR3       ;8 clock
	  SKPC                       ;4/8 clock
	  GOTO       SENDCHAR2_1     ;8 clock
	  BSF        PORTA, IOUSER   ;4 clock
	  NOP                        ;4 CLOCK
	  GOTO       SENDCHAR4     ;8 clock
SENDCHAR2_1:
	  BCF       PORTA, IOUSER    ;4 clock
	  GOTO      SENDCHAR4        ;8 clock
SENDCHAR3:
	  SKPC                       ;8/4 clock
	  GOTO       SENDCHAR3_1     ;8 clock
	  BSF        PORTA, IOSAM    ;4 clock
	  GOTO       SENDCHAR3_2     ;8 clock
SENDCHAR3_1:
	  NOP                        ;4 CLOCK
	  BCF        PORTA, IOSAM    ;4 clock
SENDCHAR3_2:
SENDCHAR4:          
	  DECFSZ     R5, 1           ;8/4 clock 
	  GOTO       SENDCHAR2       ;8 CLOCK
	  ;CALL       
	  DELAYETU   .26
	  MOVLW      B'00000101'
	  TRIS       PORTA
	 ; CLRC
	  MOVF       R2, W
	  MOVWF      R3
	  
	  DELAYETU   .26
	  
	  BTFSC      REN_FLAG, USER0SAM1
	  GOTO       SENDCHAR5
	  BTFSS       PORTA, IOUSER
	  GOTO       SENDCHARERROR
SENDCHAR5_1         
	  DELAYETU    .12   ;.12      ;;; ;.20

SENDCHAR5_2           
	   CLRC
	  RETLW      0
SENDCHAR5:
	   BTFSC     PORTA, IOSAM 
	   GOTO      SENDCHAR5_1
	  ; RETLW      0
SENDCHARERROR:
	   DELAYETU    .12
	   DECFSZ      R6, 1
	   GOTO       SENDCHAR_CHONG
	   SETC
	   RETLW      0

;USERPOWEROFF:                           ;IC KA XIA DIAN
;          BCF       PORTA, RSTUSER
;          BCF       PORTB, CICVCC 
;          RETLW      0      
;SAMPOWERON:                            ;SAM SHANG DIAN
;         MOVLW      B'00000101'
;         TRIS       PORTA
;         BSF        PORTA, RSTSAM               
;         RETLW       0
;SAMPOWEROFF 
;         BCF         PORTA, RSTSAM
;         RETLW       0




BUJIMINGKAHUIXIE:
	   ;  MOVLW     10H
	    ; MOVWF     FSR
	     CALL      FUFSR10H
	     MOVLW     68H
	     MOVWF     16H
	     MOVLW     082H
	     MOVWF     17H
	     MOVLW     05H
	     MOVWF     18H
	     MOVLW     016H
	     MOVWF     1AH
	     CLRF      R1
	     MOVLW     05H
	     MOVWF     R2
	   ;  MOVLW     50H
	   ;  MOVWF     FSR
	      BSF       FSR, 6
BUJIMINGKAHUIXIE1:                     ;QIU JIAO YAN HE
	     MOVF      SIA, W
	     ADDWF     R1, 1
	     INCF      FSR, 1
	     DECFSZ     R2, 1
	     GOTO      BUJIMINGKAHUIXIE1

	   ;  MOVLW     10H     
	   ;  MOVWF     FSR
	     BCF       FSR, 6
	     MOVF      17H, W
	     ADDWF     R1, 1
	     MOVF      18H, W
	     ADDWF     R1, W
	     MOVWF     19H
	     
	     MOVLW     02H
	     MOVWF     R1
	     MOVLW     03H
	     MOVWF     R3
	     CLRF      R2     
	     CALL      PUTDATAFILE3
	     BCF       REN_FLAG, USER0SAM1
	     CALL      ICCCOMMAND
	     MOVLW     16H
	     MOVWF     FSR
	     CALL      ICCSENDDATA

	   ;  MOVLW     02H
	   ;  MOVWF     R1
	   ;  MOVLW     03H
	   ;  MOVWF     R2
	   ;  MOVLW     05H
	   ;  MOVWF     R3
	   ;  CALL      PUTDATAFILE3
	     MOVLW     03H
	     MOVWF     13H
	     MOVLW     05H
	     MOVWF     14H
	  ;   BCF       REN_FLAG, USER0SAM1
	     CALL      ICCCOMMAND
	     MOVLW     50H
	     MOVWF     FSR
	    ; CALL      FUFSR30H
	     CALL      ICCSENDDATA

	   ;  MOVLW     02H
	   ;  MOVWF     R1
	   ;  MOVLW     02H
	   ;  MOVWF     R3
	   ;  MOVLW     08H     
	   ;  MOVWF    R2
	     BCF       FSR, 6
	     MOVLW     08H
	     MOVWF     13H
	     MOVLW     02H
	     MOVWF     14H
	    ; CALL      PUTDATAFILE3
	    ; BCF       REN_FLAG, USER0SAM1
	     CALL      ICCCOMMAND
	     MOVLW     19H
	     MOVWF     FSR
	     CALL      ICCSENDDATA
	     
	    MOVLW   02H
	    MOVWF   R1
	    MOVLW   07
	    MOVWF   R2
	    MOVLW   1
	    MOVWF   R3
	    CALL    PUTDATAFILE2
	  ;  BCF     REN_FLAG, USER0SAM1
	    CALL    ICCCOMMAND
	  ;  MOVLW   10H
	  ;  MOVWF   FSR
	    CALL     FUFSR10H
	    CALL    ICCRECEDATA
            BSF     FSR, 6     ;7.6        BI JIAO HUI XIE DE BIAO HAO SHI FU ZHENG QUE
            MOVF    14H, W     ;7.6
          ;  MOVLW   0FFH
            BCF     FSR, 6     ;7.6
            SUBWF   10H, W     ;7.6
	    BSF      STATUS, 6
	    BCF      STATUS, 5
            SKPNZ
	    GOTO     BUJIMINGKA_JIA
BUJIMINGKA_END:
	     BCF      REN_FLAG, FBUJIMINGKA

⌨️ 快捷键说明

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