Seemingly unstable basic PIC18F2550 circuit

  • Thread starter Thread starter zxcvb
  • Start date Start date
  • Tags Tags
    Circuit
Click For Summary
The PIC18F2550 circuit experiences intermittent functionality, with the LED blinking unpredictably without a clear pattern. Grounding issues are raised, particularly regarding the second Vss pin and Vusb, which should not be grounded as it is an output. The importance of ensuring all pins are properly configured and avoiding floating pins is emphasized. Debugging the code step-by-step is suggested as a potential solution to identify the problem. Overall, proper grounding and pin configuration are crucial for stable circuit operation.
zxcvb
Messages
10
Reaction score
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 realize 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.

proxy.php?image=http%3A%2F%2Fi.stack.imgur.com%2FfF8BQ.png

Code:
Code:
#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
 
Engineering news on Phys.org
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:
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.
 
Thread 'I thought it was only Amazon that sold unsafe junk'
I grabbed an under cabinet LED light today at a big box store. Nothing special. 18 inches in length and made to plug several lights together. Here is a pic of the power cord: The drawing on the box led me to believe that it would accept a standard IEC cord which surprised me. But it's a variation of it. I didn't try it, but I would assume you could plug a standard IEC cord into this and have a double male cord AKA suicide cord. And to boot, it's likely going to reverse the hot and...

Similar threads

Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
6
Views
3K
  • · Replies 2 ·
Replies
2
Views
7K