Pic+isd4002


Closed Thread
Results 1 to 18 of 18

Thread: Pic+isd4002

  1. #1
    eyalf's Avatar
    eyalf Guest

    Default Pic+isd4002

    hi fellows,

    i'm new to this forum, and thank you for being there.
    before i elaborate more,
    has anyone wokred with the PIC as a controller of the ISD4002 (or of the 4000 series) chipcorder? if so, can i verify the I/O pind between the two devices with you?

    thanks, and a very merry xmas,

    eyal.

  2. #2
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    For sure you can, simply post the exact things you're looking for
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  3. #3
    eyalf's Avatar
    eyalf Guest


    Did you find this post helpful? Yes | No

    Default 16f876+ISD4002+JAL

    hi Steve,

    thanx for the reply.

    so:
    as far as i can tell, connection-wise, there should be 4 pins connecting the PIC and the chipcorder.

    from the PIC: RB4/5/6/7 (pins # 10-13).
    from the ISD: SS, SCLK, MOSI, MISO (pins # 1,2,3, 28).

    could you (or anyone else) verify that from your knowledge or experience?

    also, the non-programmer that i am, I want to use JAL to do the coding. I've used it sporadically before, but never with the microcontroller AND a sound chip. would anyone have suggestions/shortcuts/no-no's before i sink in?

    thanks again, and try to stay in high places :-O
    eyal.

  4. #4
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Unhappy

    Your pinout can be almost everything ther since i don't know wich PIC you'll be using for this project.

    The important part for the code... JAL... i don't know that, never heard about it, so i can't help with anything on that.

    I, and most here, use Melabs PICBASIC PRO v2.45.

    BUT i've some ISD4002 somewhere here under the dust. I buy those several years ago and i think it's now the time for me to give a try with them. I'll let you know when something will work.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  5. #5
    eyalf's Avatar
    eyalf Guest


    Did you find this post helpful? Yes | No

    Default

    thanks Steve,

    the pic i'm using is the 16f876. JAL (Just Another Language) is a cute little Assembler-based code and compiler.
    try http://www.voti.nl/jal/. I just never tried it with a chipcorder.

  6. #6
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    i just have a really fast look to this. Try to find something in JAL who can gives you SPI or Microwire protocol read/write. That's all i can tell you for now. BTW i'm begining in a few hours some code line to do some playback/record from this chip.

    You can give a try with the free PBP compiler on http://www.compilespot.com/startdemo.htm too.

    i agree it's a bit limited, but that way, everybody here will be able to help you for your project.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  7. #7
    eyalf's Avatar
    eyalf Guest


    Did you find this post helpful? Yes | No

    Wink

    I'll try, Steve, thanx.

  8. #8
    julioelectronic's Avatar
    julioelectronic Guest


    Did you find this post helpful? Yes | No

    Talking isd 4002+16f877pic

    i need a correct interface to connect 16f877a and isd4002

  9. #9
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    Just a teaser. I'll not post the whole thing, just the pin assignement.
    Code:
        ' LCD definition
        ' ==============
        ' 
        DEFINE LCD_DREG PORTA  ' 
        DEFINE LCD_DBIT 0      ' LCD data port : PORTA<3:0>
                               '
        DEFINE LCD_EREG PORTA  ' 
        DEFINE LCD_EBIT 6      ' LCD enable bit : PORTA.6
                               '
        DEFINE LCD_RSREG PORTA ' 
        DEFINE LCD_RSBIT 7     ' LCD RS bit : PORTA.7
    
    
        ' I/O Definition
        ' ===============
        '
        TRISA = %00110000    ' PORTA Output on :
                             '         PORTA<3:0> : LCD data 
                             '         PORTA<7:6> : LCD RS & E bit
                             '
                             ' PORTA Input on :
                             '         PORTA.4 : "ALT PLAY" Button
                             '         PORTA.5 : "PLAY" button    
                             '
        TRISB = %11110001    ' PORTB Output on : 
                             '         PORTB.1 : ISD4002 SS pin 
                             '         PORTB.2 : ISD4002 SCLK pin 
                             '         PORTB.3 : ISD4002 MOSI pin
                             '
                             ' PORTB Input on :
                             '         PORTB.0 : ISD4002 INT pin
                             '         PORTB.4 : ISD4002 MISO pin
                             '         PORTB.5 : ISD4002 RAC pin
                             '         PORTB.6 : "SETUP" button
                             '         PORTB.7 : "RECORD" button
        OPTION_REG.7 = 0     ' enable pull-up on PORTB
        CMCON = 7            ' disable analog comparator
        
        
        ' Variable definition
        ' ===================
        '
        AltPlay              var PORTA.4 ' "ALT PLAY" button
        Play                 var PORTA.5 ' "PLAY" button
        Setup                var PORTB.6 ' "SETUP" button
        Record               var PORTB.7 ' "RECORD" button
        INT                  var PORTB.0 ' ISD4002 INT pin
        SS                   var PORTB.1 ' ISD4002 SS pin
        SCLK                 var PORTB.2 ' ISD4002 SCLK pin
        MOSI                 var PORTB.3 ' ISD4002 MOSI pin
        MISO                 var PORTB.4 ' ISD4002 MISO pin
        RAC                  var PORTB.5 ' ISD4002 RAC pin
    Was setup on 16F628, you'll need to use SHIFTIN/SHIFTOUT
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  10. #10


    Did you find this post helpful? Yes | No

    Default

    The melabs LAB-XT board has a socket for this family of ISD chip. You can download the schematic and sample code:

    http://melabs.com/products/labxt.htm

  11. #11
    julioelectronic's Avatar
    julioelectronic Guest


    Did you find this post helpful? Yes | No

    Unhappy pic 16f877a(MSSP, SPI) and isd4002

    I watch the circuit that you recommended to me anderson , but the only thing that my circuit do, are sounds when pic send the pulses to isd, good i will continue treating, thanks for the help.

  12. #12
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  13. #13
    julioelectronic's Avatar
    julioelectronic Guest


    Did you find this post helpful? Yes | No

    Cool it works (isd4002)

    ok amigos it works, my error was software, ss enable/ disable.

  14. #14
    leejongfan's Avatar
    leejongfan Guest


    Did you find this post helpful? Yes | No

    Default

    Hi,
    I am using PIC16f877
    I think we have to program in SPI mode,right?
    for SPI, we only can send 8 bit at one time, but the opcode need 16 bits.
    Am I right to say we cannot use PIC16f877

  15. #15
    Join Date
    Nov 2012
    Posts
    2


    Did you find this post helpful? Yes | No

    Default Re: Pic+isd4002

    hi, i want to know how to program a ISD 4002 to record some files and play them

  16. #16
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default Re: Pic+isd4002

    there's plenty code example in here for various ISD chips, read the according datasheet along with existing code example, and you should be good.

    Case not, provide YOUR OWN code example in here and someone might give more hints.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  17. #17


    Did you find this post helpful? Yes | No

    Default Re: Pic+isd4002

    I work with the ISD5008 mostly. You can send 16 bits like this: ShiftOut PORTC.5,PORTC.3,0,[9021\16] 'RECORD CONFIG0

  18. #18
    Join Date
    Nov 2012
    Posts
    2


    Did you find this post helpful? Yes | No

    Default Re: Pic+isd4002

    currently I made the next circuit
    Name:  isd4000l.jpg
Views: 2345
Size:  41.6 KB
    i found in this page http://hem.passagen.se/communication/speach.html
    and I find the next firm for the pic

    #include <REGX52.H>

    #include <string.h>

    #include <stdio.h>

    #include <absacc.h>

    #include <intrins.h>

    sbit ss=P1^0;

    sbit mosi=P1^1;

    sbit sclk=P1^4;

    void delay_ms(unsigned int ms)

    {

    unsigned char i;

    while(ms--)

    {

    i=112;

    while(i--);

    }

    }

    void spi_mosi(unsigned char spi_data)

    {

    unsigned char BitCnt;

    mosi=0;

    sclk=0;

    for(BitCnt=0;BitCnt<8;BitCnt++)

    {

    sclk=0;

    _nop_();

    if((spi_data>>BitCnt)&0x01)

    mosi=1;

    else

    mosi=0;

    _nop_();

    _nop_();

    _nop_();

    sclk=1;

    _nop_();

    _nop_();

    _nop_();

    }

    _nop_();

    _nop_();

    _nop_();

    }

    void play_isd4002(unsigned int addr)

    {

    unsigned char addr_l,addr_h;

    addr_l=addr;

    addr_h=addr>>8;

    addr_h=addr_h|0xe0;

    ss=0;

    spi_mosi(0x20);

    ss=1;

    delay_ms(50);

    ss=0;

    spi_mosi(addr_l);

    spi_mosi(addr_h);

    ss=1;

    delay_ms(10);

    ss=0;

    spi_mosi(0xf0);

    ss=1;

    }

    void stop_isd4002()

    {

    ss=0;

    spi_mosi(0x70);

    ss=1;

    delay_ms(50);

    }

    void main()

    {

    play_isd4002(0x86);

    }

    but i can't record the file... so I need a correct configuration for the ISD4002 ...thanks

Similar Threads

  1. SMS via pic
    By kenandere in forum GSM
    Replies: 15
    Last Post: - 10th March 2010, 10:00
  2. ISD4002 Address Question
    By Atom058 in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 23rd August 2009, 23:42
  3. HSERIN & Interupts (aka controlling PIC programs from a remote PC)
    By HankMcSpank in forum mel PIC BASIC Pro
    Replies: 16
    Last Post: - 17th June 2009, 14:46
  4. pic to pic ir link versus wired link : help please anyone
    By xnihilo in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 30th May 2008, 21:01
  5. Serial Pic to Pic using HSER
    By Chadhammer in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 11th March 2005, 23:14

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