Sala de peru


Closed Thread
Results 1 to 9 of 9

Thread: Sala de peru

Hybrid View

  1. #1
    Join Date
    Jun 2009
    Location
    Sc*nthorpe, UK
    Posts
    333


    Did you find this post helpful? Yes | No

    Default Re: Sala de peru

    Quote Originally Posted by cardservicios View Post
    I want an example of communication spi mcp3551 A/D.

    with pic 16f877a in pic basic pro
    Have you made a start on this?

  2. #2
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166


    Did you find this post helpful? Yes | No

    Default Re: Sala de peru

    Cardservicios, Here is an A/D routine I wrote a few years back for accessing 2 MCP3551 A/D's for my daughter's hydroponic and heater controller. I did not use I2C hardware directly but maybe you can use it as a basis for an I2C routine.

    '************************************************* *******************
    READMCP3551: 'CAPTURE MCP3551 22 BIT SIGMA/DELTA READING (SPI)
    '************************************************* *******************
    SCL = 1 'PRESET CLOCK STATE TO HIGH
    SELECT CASE ADCHANNEL
    CASE 0
    CS0 = 0 'ENABLE MCP3551 #1
    CASE 1
    CS1 = 0 'ENABLE MCP3551 #2
    CASE ELSE
    VOLTS(ADCHANNEL) = 0
    RETURN
    END SELECT
    PAUSEUS 2
    IF SDA = 0 THEN 'CHECK FOR CONVERSION COMPLETE
    SHIFTIN SDA,SCL,6,[MSBYTE\8,MIDBYTE\8,LSBYTE\8]
    CS0 = 1 'DISABLE MCP3551 #1
    CS1 = 1 'DISABLE MCP3551 #2
    JUNK = MSBYTE >> 5
    SELECT CASE JUNK
    CASE 0 'NORMAL POSITIVE READING
    POLARITY = 0
    OVERANGE(ADCHANNEL) = 0
    CASE 1 'NORMAL NEGATIVE READING
    POLARITY = 1
    OVERANGE(ADCHANNEL) = 0
    CASE 3 'FULL SCALE POSITIVE READING
    POLARITY = 0
    OVERANGE(ADCHANNEL) = 1
    CASE 4 'FULL SCALE NEGATIVE READING
    POLARITY = 1
    OVERANGE(ADCHANNEL) = 1
    END SELECT
    IF OVERANGE(ADCHANNEL) = 0 THEN 'IF READING IS WITHIN LIMITS
    IF POLARITY = 0 THEN 'POSITIVE POLARITY
    ADSCRATCH1.BYTE3 = 0
    ADSCRATCH1.BYTE2 = (MSBYTE & %00011111)
    ADSCRATCH1.BYTE1 = MIDBYTE
    ADSCRATCH1.BYTE0 = LSBYTE
    ELSE 'POLARITY = 1 'NEGATIVE POLARITY
    ADSCRATCH1.BYTE3 = 255
    ADSCRATCH1.BYTE2 = MSBYTE | %11100000
    ADSCRATCH1.BYTE1 = MIDBYTE
    ADSCRATCH1.BYTE0 = LSBYTE
    ENDIF
    ELSE
    IF POLARITY = 0 THEN 'POSITIVE POLARITY
    ADSCRATCH1.BYTE3 = 127
    ELSE 'POLARITY = 1 'NEGATIVE POLARITY
    ADSCRATCH1.BYTE3 = 255
    ENDIF
    ADSCRATCH1.BYTE2 = 255
    ADSCRATCH1.BYTE1 = 255
    ADSCRATCH1.BYTE0 = 255
    ENDIF
    VOLTS(ADCHANNEL) = ADSCRATCH1
    ELSE
    CS0 = 1 'DISABLE MCP3551 #1
    CS1 = 1 'DISABLE MCP3551 #2
    ENDIF
    RETURN
    Dave Purola,
    N8NTA
    EN82fn

  3. #3


    Did you find this post helpful? Yes | No

    Default Re: Sala de peru

    thanks for your help

    thanks for your help, I am new to programming have a simple example

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts