Pic+isd4002


Closed Thread
Results 1 to 18 of 18

Thread: Pic+isd4002

Hybrid View

  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
    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: 2378
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