PIC18F8720 PORTD problem


Closed Thread
Results 1 to 29 of 29

Hybrid View

  1. #1
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Code:
    DEFINE  OSC	20
    DEFINE ADC_BITS 10
    DEFINE ADC_SAMPLEUS 25
    INCLUDE "MODEDEFS.BAS"
    intcon.7=1:memcom.7=1: pspcon.4:trisd=$ff:channel var byte
    outputab var bit:ch_onoff var bit:sysen var bit:channel=0: outputab=0
    ch_onoff=0:sysen=0
    loop:
    channel=portd:channel=channel & $1F: outputAB=portd.5:ch_onoff=portd.6
    sysen=portd.7:pause 500
    serout portb.4,n9600,["Channel = ",#channel,13,"Output AB ",#outputAB,13,"Channel ON/OFF = ",#ch_onoff,13,"SYSEN = ",#SYSEN,13]
    goto loop
    end
    Which revision of the '8720 do you have?
    The early ones had REAL, documented problems running above 4Mhz. The problems varied and depended mainly on the code running, some things worked fine, others didn't. Try running your program at 4Mhz or less once and see if it works.
    I had issues with the early ones awhile back, couldn't figure it out. Read the errata sheets about the 4Mhz problem. Tried running programs at both 4Mhz and 10Mhz...4Mhz worked, 10Mhz didn't, and this was only blinking LEDs.
    After I got a few of the new revisions, the problems went away.
    And I simplified your program a bit...

  2. #2
    Join Date
    Oct 2006
    Posts
    25


    Did you find this post helpful? Yes | No

    Default

    I think I have a recent version of 8720 and I'm running it at 20 MHz. I really can't try running it slower because the PIC is already assembled with a 20 MHz osscilator. Any other suggestions?

  3. #3
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by nverma View Post
    I think I have a recent version of 8720 and I'm running it at 20 MHz. I really can't try running it slower because the PIC is already assembled with a 20 MHz osscilator. Any other suggestions?
    What are the markings on the top of the '8720 itself?

  4. #4
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by nverma View Post
    I think I have a recent version of 8720 and I'm running it at 20 MHz. I really can't try running it slower because the PIC is already assembled with a 20 MHz osscilator. Any other suggestions?
    What are the markings on the top of the '8720 itself?
    What voltage are you running the PIC at?

  5. #5
    Join Date
    Sep 2005
    Location
    Campbell, CA
    Posts
    1,107


    Did you find this post helpful? Yes | No

    Default

    I, too, found some real weirdness with early
    8720s. They were the only chip big enough to
    handle my task, so I couldn't switch to another
    device or slow it down. I found myself doing all
    sorts of work-arounds to get it to work.

    The "late model" (July 2005 and later) 8720s and the
    8722's are fine.


    Something you might try -
    Read PORTD with one instruction

    Something like:

    PORTDMirror = PortD

    channel.bit0 = PORTDMirror.0
    channel.bit1 = PORTDMirror.1
    channel.bit2 = PORTDMirror.2
    channel.bit3 = PORTDMirror.3
    ...
    Charles Linquist

  6. #6
    Join Date
    Oct 2006
    Posts
    25


    Did you find this post helpful? Yes | No

    Default

    Markings are as follows:

    PIC18F8720
    -I/PT
    05473PP

    And I tried reading the whole port at once aswell. It didn't make any difference. Wow something so simple, I really wonder what the problem is now.

  7. #7
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by nverma View Post
    Markings are as follows:

    PIC18F8720
    -I/PT
    05473PP

    And I tried reading the whole port at once aswell. It didn't make any difference. Wow something so simple, I really wonder what the problem is now.
    Date code of 0547...that makes it a newer revision...

    Watchdog timer disabled?
    Last edited by skimask; - 12th May 2007 at 01:42.

  8. #8
    Join Date
    Oct 2006
    Posts
    25


    Did you find this post helpful? Yes | No

    Default

    Yes, watchdog timer and low voltage programming disabled. And im running the PIC at 5 V.

Similar Threads

  1. 16F877 HSERIN problem with 3th party software
    By RFsolution in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 11th March 2009, 17:11
  2. PWM Problem
    By cihhan in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 14th June 2008, 18:43
  3. USART Problem , but don't know where, in pc? or in PIC?
    By precision in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 15th July 2007, 08:12
  4. LCD will not start
    By btaylor in forum mel PIC BASIC Pro
    Replies: 49
    Last Post: - 24th May 2007, 02:30
  5. Interrupt stack overflow problem with Resume {label}
    By Yuantu Huang in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 3rd May 2005, 01:17

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