Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Seemingly unstable basic PIC18F2550 circuit

  1. Mar 28, 2017 #1
    From my work I've had quite a bit of experience with hardware development, but purely from a supervisory role, and so recently I've been playing around with ground up MCU circuit design to try to get a better understanding.

    I put the following circuit together to allow me to play around with the MCU registers a bit and it does work - only intermittently.

    The LED blinks as intended, then stops for an arbitrary time, flashes again a different number of times, off again etc. There doesn't seem to be any cyclic behaviour to it. It starts working without any external input (i.e. nudging it) so doesn't seem like a loose connection either. I realise the second Vss pin isn't grounded in the schematic, but this didn't help the circuit either when I tried it. Could it be because Vusb isn't grounded? I would have thought this would only affect USB operation.

    Code (Text):
    #include <stdio.h>
    #include <stdlib.h>

    #include <p18f2550.h>
    #include <delays.h>

    #pragma config FOSC = INTOSCIO_EC    

    #pragma config WDT = OFF            

    void main() {

       TRISAbits.TRISA1    = 0;    // Set RA1 as output
       LATAbits.LATA1      = 1;    // Set RA1 as HIGH

       while (1)
           LATAbits.LATA1 = ~LATAbits.LATA1;   // Toggle LED pin
           Delay10KTCYx(25);                   // Delay
    Datasheet of the PIC18F2550: http://www.kynix.com/uploadfil.....668338.pdf
  2. jcsd
  3. Mar 28, 2017 #2


    User Avatar
    Homework Helper
    Gold Member

    Ceci n'est pas une pipe

    Your schematic is not your circuit.

    Why wouldn't you ground pin 8 (VSS)?

    [edit]: Oh I see you tried that. Did you really ground that?
    [edit]: VUSB should not be grounded, it is an output.
    [edit]: Have you tried stepping through the code with a debugger?
    Last edited: Mar 28, 2017
  4. Mar 28, 2017 #3


    User Avatar
    Science Advisor
    Gold Member

    As I write this I am working with an 18F2520. I don't like to leave pins floating. Also, there are a lot of settings that I don't see in your code that I prefer to define. In other words, if it can be configured, set it to what it should be. Are you powering this through the USB port on the PC/programmer? That could be a problem.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted