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

📄 adconvert.asm

📁 Microchip8位单片机系列, 16F690 A/D转换源程序.
💻 ASM
📖 第 1 页 / 共 3 页
字号:
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64


               INCF      ADDL,1         ;0105单元
               MOVF      65H            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64


               INCF      ADDL,1         ;0106单元
               MOVF      66H            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64


               INCF      ADDL,1         ;0107单元
               MOVF      67H            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64


               INCF      ADDL,1         ;0108单元
               MOVF      68H            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64


               INCF      ADDL,1         ;0109单元
               MOVF      69H            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64


               INCF      ADDL,1         ;010a单元
               MOVF      6aH            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64


               INCF      ADDL,1         ;010b单元
               MOVF      6bH            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64


               INCF      ADDL,1         ;010c单元
               MOVF      6cH            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64


               INCF      ADDL,1         ;010d单元
               MOVF      6dH            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64

             
               INCF      ADDL,1         ;010e单元
               MOVF      6eH            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64


               INCF      ADDL,1
               INCF      ADDL,1         ;0110单元
               MOVF      70H            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64



               INCF      ADDL,1         ;0111单元
               MOVF      71H            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64



               INCF      ADDL,1         ;0112单元
               MOVF      72H            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64



               INCF      ADDL,1         ;0113单元
               MOVF      73H            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64



               INCF      ADDL,1         ;0114单元
               MOVF      74H            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64



               INCF      ADDL,1         ;0115单元
               MOVF      75H            ;
               MOVWF     DATA0
               CALL      YYYY           ;WR 24LC64


               
               CLRF      DATAI
               CLRF      RXBUF
               NOP



;.....................取值测试....................


               ;MOVLW     01H            ;0100单元
               ;MOVWF     ADDH           ;取值测试
               ;MOVLW     0X00
               ;MOVWF     ADDL
   
               MOVLW     01H            ;0113单元
               MOVWF     ADDH           ;取值测试
               MOVLW     0X13
               MOVWF     ADDL


               ;MOVLW     01H            ;0114单元
               ;MOVWF     ADDH           ;取值测试
               ;MOVLW     0X14
               ;MOVWF     ADDL


               ;MOVLW     01H            ;0115单元
               ;MOVWF     ADDH           ;取值测试
               ;MOVLW     0X15
               ;MOVWF     ADDL

               CALL      YYYY1
               ;GOTO      TY3







;************************************************************************
;*********************YYYY WR 24LC64*************************************
YYYY           MOVLW     B'10100000'
               MOVWF     SLAVE          ;A0WR ;A1RD
               BSF       STATUS,RP0
               
CheckAgain     BTFSC     SSPSTAT,4      ;stop  flag
               GOTO      Goxmit               
               BTFSC     SSPSTAT,3      ;start flag
               GOTO      CheckAgain     ;wait  stop signal
Goxmit         BCF       STATUS,RP0
               BCF       INTCON,7       ;屏蔽中断
                                             
               CALL      WRBYTE        ;wr 1 byte
               BTFSS     FLAG1,ERR_1   ;999999999999
               GOTO      Checkout
               MOVF      ERCODE,0      ;ERCODE 送W99
               BCF       FLAG1,ERR_1
               GOTO      CheckAgain
               
Checkout       BSF       INTCON,7      ;开总中断
               RETURN- 
;******************YYYY1 RD 24LC64***************************                             
YYYY1          MOVLW     B'10100000'
               MOVWF     SLAVE          ;A0WR ;A1RD
               BSF       STATUS,RP0
               
CheckAgain1    BTFSC     SSPSTAT,4      ;stop  flag
               GOTO      Goxmit1               
               BTFSC     SSPSTAT,3      ;start flag
               GOTO      CheckAgain1    ;wait  stop signal
                              
Goxmit1        BCF       STATUS,RP0
               BCF       INTCON,7       ;屏蔽中断
                        
               CALL      RDBYTE        ;rd 1 byte
               BTFSS     FLAG1,ERR_1   ;999999999999
               GOTO      Checkout1
               MOVF      ERCODE,0      ;ERCODE 送W99
               BCF       FLAG1,ERR_1
               GOTO      CheckAgain1
               
Checkout1      BSF       INTCON,7      ;开总中断
               RETURN-     
               
;-----------------------------------------------------------     
WRBYTE         BCF       STATUS,RP0
               MOVF      SLAVE,0        ;A0 W
               MOVWF     TXBUF
               CALL      BSTART
               CALL      TX
               BCF       STATUS,RP0
               MOVF      ADDH,0        ;W
               MOVWF     TXBUF
               CALL      TX
               MOVF      ADDL,0
               MOVWF     TXBUF
               CALL      TX
               MOVF      DATA0,0
               MOVWF     TXBUF
               CALL      TX
               CALL      BSTOP
               RETURN-
               
BSTART         BSF       STATUS,RP0
               BSF       TRISB,SDA
               BSF       TRISB,SCL
               MOVLW     1
               BCF       STATUS,RP0
               BTFSS     RB,SCL
               CALL      ERR
               BSF       STATUS,RP0
               BCF       TRISB,SDA
               NOP
               NOP
               BCF       TRISB,SCL
               RETLW     0              

BSTOP          BSF       STATUS,RP0
               BCF       TRISB,SDA
               BSF       TRISB,SCL
               NOP
               NOP
               MOVLW     1
               BCF       STATUS,RP0
               BTFSS     RB,SCL
               CALL      ERR
               BSF       STATUS,RP0
               BSF       TRISB,SDA
               MOVLW     4
               BTFSS     TRISB,SDA
               CALL      ERR
               BCF       STATUS,RP0
               RETLW     0
               
TX             BCF       STATUS,RP0
               MOVLW     .8
               MOVWF     BCOUNT               

TXLP           BCF       EEPROM,DO
               BTFSC     TXBUF,7
               BSF       EEPROM,DO
               CALL      BITOUT
               BCF       STATUS,RP0
               RLF       TXBUF,F
               BTFSS     3,0
               BCF       TXBUF,0
               BTFSC     3,0    
               BSF       TXBUF,0
               DECFSZ    BCOUNT,F
               GOTO      TXLP
               CALL      BITIN            ;READ ACK
               BCF       STATUS,RP0
               MOVLW     3
               BTFSC     EEPROM,DI        ;CHECK ACK
               CALL      ERR
               BCF       STATUS,RP0
               RETLW     0
               
BITOUT         BCF       STATUS,RP0
               BTFSS     EEPROM,DO
               GOTO      BITO
               BSF       STATUS,RP0
               BSF       TRISB,SDA
               MOVLW     2
               BCF       STATUS,RP0
               BTFSC     RB,SDA
               GOTO      CLK1
               BTFSS     FLAG1,ERR_1
               MOVWF     ERCODE
               BSF       FLAG1,ERR_1
               GOTO      CLK1
                              
BITO           BSF       STATUS,RP0
               BCF       TRISB,SDA
               NOP
               NOP
                              
CLK1           BSF       STATUS,RP0
               BSF       TRISB,SCL
               MOVLW     1
               BCF       STATUS,RP0
               BTFSC     RB,SCL
               GOTO      BIT2
               BCF       STATUS,RP0
               BTFSS     FLAG1,ERR_1
               MOVWF     ERCODE
               BSF       FLAG1,ERR_1
BIT2           NOP
               NOP
               BSF       STATUS,RP0
               BCF       TRISB,SCL
               RETLW     0                 
                                  
;-------------------------------------------------------  ACK CHECK ,FROM IIC  RX            
BITIN          BSF       STATUS,RP0
               BSF       TRISB,SDA
               BCF       STATUS,RP0
               BCF       EEPROM,DI
               BSF       STATUS,RP0
               BSF       TRISB,SCL
               MOVLW     1 
               BCF       STATUS,RP0
               BTFSC     RB,SCL
               GOTO      BIT1
               BCF       STATUS,RP0
               BTFSS     FLAG1,ERR_1
               MOVWF     ERCODE 
               BSF       FLAG1,ERR_1
       
BIT1           BCF       STATUS,RP0
               BTFSS     RB,SDA
               GOTO      ACKOK
               BCF       STATUS,RP0
               BSF       EEPROM,DI
               
ACKOK          BSF       STATUS,RP0
               NOP                                     
               BCF       TRISB,SCL
               RETLW      0
               
RDBYTE         BCF       STATUS,RP0       ;先写地址,后读
               MOVF      SLAVE,0
               MOVWF     TXBUF
               CALL      BSTART
               CALL      TX
               BCF       STATUS,RP0
               MOVF      ADDH,0
               MOVWF     TXBUF
               CALL      TX
               MOVF      ADDL,0
               MOVWF     TXBUF
               CALL      TX
                      
               CALL      BSTART
               BCF       STATUS,RP0
               MOVF      SLAVE,0
               MOVWF     TXBUF
               BSF       TXBUF,0           ;读
               CALL      TX
               CALL      RX
               CALL      BSTOP
               BCF       STATUS,RP0
               MOVF      RXBUF,0
               MOVWF     DATAI
               RETURN-
               
RX             BCF       STATUS,RP0
               MOVLW     .8
               MOVWF     BCOUNT
               CLRF      RXBUF
RXLP           RLF       RXBUF,F
               BTFSS     3,0
               BCF       RXBUF,0
               BTFSC     3,0
               BSF       RXBUF,0
               CALL      BITIN
               BCF       STATUS,RP0
               BTFSC     EEPROM,DI
               BSF       RXBUF,0
               DECFSZ    BCOUNT,F
               GOTO      RXLP 
               BSF       EEPROM,DO
               CALL      BITOUT
               RETLW     0
ERR            BCF       STATUS,RP0
               BTFSS     FLAG,ERR_1
               MOVWF     ERCODE
               BSF       FLAG1,ERR_1
               RETLW     0               
               

;-------------------------------------------------------------
;              释放IIC总线
;-------------------------------------------------------------

AFFIIC          BCF       STATUS,RP0    ;释放IIC总线            
                BCF       RB,4                        
                BSF       STATUS,RP0    ;
                MOVLW     0XF0          ;rb4 为I
                MOVWF     TRISB
                BCF       STATUS,RP0
                BCF       ICSTA,0       ;SET 标志
                ;BCF       RE,0
                RETURN-  





 
GOTO  START


nop
nop
nop
nop
nop



END

⌨️ 快捷键说明

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