How to implement SPI using low-cost Microchip PIC16C5X series

How can we easily implement SPI using Microchip PIC16C5X series devices, using some GPIO. If firmware achievable to implement a slave/master interface.

Thanks for everyones input here....!

Reply to
John Tan
Loading thread data ...

SPI (master) is extremely easy to do in software on any micro - just wiggle the clock line and squirt the bits out.

Reply to
Mike Harrison

I've implemented software SPI on the AVR '2313, with several slaved to a mid-range PIC with hardware SPI as the master. It was quite easy. You should be able to do the same with your PIC.

Leon

--
Leon Heller, G1HSM
Email: aqzf13@dsl.pipex.com
My low-cost Philips LPC210x ARM development system:
http://www.geocities.com/leon_heller/lpc2104.html
Reply to
Leon Heller

Should give you the general idea (untested):

spi_writebyte: movwf tmp movlw 8 movwf cntr $1 btfss tmp,0 bcf spi_out btfsc tmp,0 bsf spi_out

bsf spi_clk bcf spi_clk

rrcf tmp decfsz cntr goto $1

return

;-----------------

spi_readbyte: movlw 8 movwf cnt clrf tmp $1 rrcf tmp

bsf spi_clk btfsc spi_in bsf tmp,7 bcf spi_clk

decfsz cntr goto $1

movfw tmp return

--
  Max
Reply to
Max

Look at some of the C compilers for the PICs. At least one (CCS,

formatting link
has built in support for SPI master. If the chip as SPI hardware you can target the function for that or use just about any combination of I/O pins.

Also look at the Microchip application notes for SPI:

formatting link

Rob Young snipped-for-privacy@ieee.org

Reply to
Rob Young

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.