# how to check either Controller working or damaged

#### ect_09

Joined May 6, 2012
180
Hi,
i want to know that how to check that either Controller working or damaged ,
am confused because i have PIC 18f452 and its being detect automatically when i want to load HEX file it and at the end it shows message that programming finished successfully, (i attached the image).
but when i run this on hardware its PORT does not responding..no voltage on its output.
what should i do..????

code is here
Code:
#include<htc.h>

// PIC 18F452 fuse configuration:
// Config word 1 (Oscillator configuration)
// 40Mhz crystal input
__CONFIG(1, OSCSDIS & HSPLL);
// Config word 2
__CONFIG(2, BORDIS & PWRTDIS & WDTDIS);
// Config word 3
__CONFIG(3, CCP2RC1);
// Config word 4
__CONFIG(4,  LVPDIS & STVREN);
// Config word 5, 6 and 7 (protection configuration)
__CONFIG(5, UNPROTECT);
__CONFIG(6, WRTEN);
__CONFIG(7, TRU);

#define _XTAL_FREQ 40000000   //MHz

void delay_sec(unsigned char seconds)    // This function provides delay in terms of seconds
{
unsigned char i,j;

for(i=0;i<seconds;i++)
for(j=0;j<100;j++)
__delay_ms(10);
}

void main()
{

TRISB = 0;

while(1)
{
PORTB = 0x55;
delay_sec(1);   // delay of one second

PORTB = 0xAA;
delay_sec(1);    // delay of one second
}
}

#### Papabravo

Joined Feb 24, 2006
14,241
I am not familiar with this particular part. If I were you I'd pick up a copy of the datasheet, read it very carefully, and establish beyond all doubt:

What is the default function of each port pin after reset. In some cases they default to a function other than digital input/output. It is quite hard to make an analog input behave as if it were a digital output.

#### MrChips

Joined Oct 2, 2009
21,664
Try a second chip.

#### tshuck

Joined Oct 18, 2012
3,534
Again, read the section on setting up the oscillator and configuration bits....

The default configuration bits sets the device up with a RC oscillator. Set it explicitly to HS. Also, the PLL only works in HS oscillator mode and only up to 40MHz - which means you need a 10MHz crystal attached.

#### ErnieM

Joined Apr 24, 2011
8,053
Put the hardware aside and run your code in the MPLAB simulator. See if the simulator agrees the bits are changing.

If not, hit the data sheet and see what other functions are on those pins; analog capable pins default to analog and must be explicitly set as digital in code.

If the bits do change, look into how the config bits are being set. Again, MPLAB will tell you what the code did. See if that agrees with your hardware schematic.