pic16c72的问题?
我的邮箱:gaowf2651@sohu.com
那位高手帮帮我把,我快急是了!!!!!!!!
请有改好的,麻烦发到我的邮箱。谢谢!!!!!!!!!!!!!!!!!!!!!
你好:请帮我看看如下的程序。
> 单片机PIC16C72和x5043做程序。RC2接CS,RC3接SCK,RC4接SO,RC5接SI.
> 怎么对x5043(EEPROM)进行读和写,spi模式。
> ;---------SPI-----------------------
>
> ;---------发送接受一字节----------
> OUTPUT MOVWF SSPBUF
> TOP BSF STATUS,5
> BTFSS SSPSTAT,0
> GOTO TOP
> BSF STATUS,5
> MOVF SSPBUF,0
> MOVWF RXDATA
> RETLW 0
> ;-------写使能子程序---------------
> EWEN BCF STATUS,0
> BSF PORTC,2
> MOVLW 0x03
> CALL OUTPUT
> BCF PORTC,2
> RETLW 0
> ;---------写一个字节到x5043-----------
> WRITE BCF STATUS,5
> BSF PORTC,2
> MOVF HIBYTE,0
> CALL OUTPUT
> MOVF FSR,0
> CALL OUTPUT
> MOVF DATBYT,0
> CALL OUTPUT
> BCF PORTC,2
> INCF FSR
> RETLW 0
> ;--------------从X5043读数据---------------
> READ BCF STATUS,5
> BCF PORTC,2
> BSF SSPCO N , 4
> MOVF HIBYTE ,0
> CALL OUTPUT
> MOVF LOBYTE,0
> CALL OUTPUT
> BCF SSPCON , 4
> MOVLW 0
> CALL OUTPUT
> BSF PORTC ,2
> MOVF RXDATA,0
> MOVWF INDF
> INCF FSR
> INCF LOBYTE
> RETLW 0
> ;--------------SPI主程序--------------
> SPI CLRF PIE1
> CLRF INTCON
> MOVLW 0x31
> MOVWF SSPCON
> CALL EWEN
> MOVLW 0x03
> MOVWF HIBYTE
> MOVLW 0x00
> MOVWF FSR
> MOVLW 0X5A
> MOVWF DATBYT
> WRNEXT CALL WRITE
> NOP
> BSF PORTC,2
> RBUSY BTFSS PORTC,5
> GOTO RBUSY
> BCF PORTC,2
> BTFSS FSR,2
> GOTO WRNEXT
>
> MOVLW 60H
> MOVWF FSR
> MOVLW 00H
> MOVWF LOBYTE
> MOVLW 0x02
> MOVWF HIBYTE
> RDNEXT CALL READ
> BTFSS FSR,2
> GOTO RDNEXT
> LIMBO NOP
> GOTO LIMBO
> RETURN你好:请帮我看看如下的程序。
> 单片机PIC16C72和x5043做程序。RC2接CS,RC3接SCK,RC4接SO,RC5接SI.
> 怎么对x5043(EEPROM)进行读和写,spi模式。
> ;---------SPI-----------------------
>
> ;---------发送接受一字节----------
> OUTPUT MOVWF SSPBUF
> TOP BSF STATUS,5
> BTFSS SSPSTAT,0
> GOTO TOP
> BSF STATUS,5
> MOVF SSPBUF,0
> MOVWF RXDATA
> RETLW 0
> ;-------写使能子程序---------------
> EWEN BCF STATUS,0
> BSF PORTC,2
> MOVLW 0x03
> CALL OUTPUT
> BCF PORTC,2
> RETLW 0
> ;---------写一个字节到x5043-----------
> WRITE BCF STATUS,5
> BSF PORTC,2
> MOVF HIBYTE,0
> CALL OUTPUT
> MOVF FSR,0
> CALL OUTPUT
> MOVF DATBYT,0
> CALL OUTPUT
> BCF PORTC,2
> INCF FSR
> RETLW 0
> ;--------------从X5043读数据---------------
> READ BCF STATUS,5
> BCF PORTC,2
> BSF SSPCO N , 4
> MOVF HIBYTE ,0
> CALL OUTPUT
> MOVF LOBYTE,0
> CALL OUTPUT
> BCF SSPCON , 4
> MOVLW 0
> CALL OUTPUT
> BSF PORTC ,2
> MOVF RXDATA,0
> MOVWF INDF
> INCF FSR
> INCF LOBYTE
> RETLW 0
> ;--------------SPI主程序--------------
> SPI CLRF PIE1
> CLRF INTCON
> MOVLW 0x31
> MOVWF SSPCON
> CALL EWEN
> MOVLW 0x03
> MOVWF HIBYTE
> MOVLW 0x00
> MOVWF FSR
> MOVLW 0X5A
> MOVWF DATBYT
> WRNEXT CALL WRITE
> NOP
> BSF PORTC,2
> RBUSY BTFSS PORTC,5
> GOTO RBUSY
> BCF PORTC,2
> BTFSS FSR,2
> GOTO WRNEXT
>
> MOVLW 60H
> MOVWF FSR
> MOVLW 00H
> MOVWF LOBYTE
> MOVLW 0x02
> MOVWF HIBYTE
> RDNEXT CALL READ
> BTFSS FSR,2
> GOTO RDNEXT
> LIMBO NOP
> GOTO LIMBO
> RETURN
点击浏览该文件
点击浏览该文件
发表时间:2003年12月25日9:21:26