RD7 -----.> Resistor ----- LED ----GNDDo you have a resistor between the LED and PORT?
I see RD7 == 1 in your screen shot which should turn the LED on.
#define _XTAL_FREQ 8000000
#include <xc.h>
// PIC18F45K80 Configuration Bit Settings
// 'C' source line config statements
// CONFIG1L
#pragma config RETEN = OFF // VREG Sleep Enable bit (Ultra low-power regulator is Disabled (Controlled by REGSLP bit))
#pragma config INTOSCSEL = HIGH // LF-INTOSC Low-power Enable bit (LF-INTOSC in High-power mode during Sleep)
#pragma config SOSCSEL = HIGH // SOSC Power Selection and mode Configuration bits (High Power SOSC circuit selected)
#pragma config XINST = OFF // Extended Instruction Set (Enabled)
// CONFIG1H
#pragma config FOSC = INTIO2 // Oscillator (Internal RC oscillator)
#pragma config PLLCFG = OFF // PLL x4 Enable bit (Disabled)
#pragma config FCMEN = OFF // Fail-Safe Clock Monitor (Disabled)
#pragma config IESO = OFF // Internal External Oscillator Switch Over Mode (Disabled)
// CONFIG2L
#pragma config PWRTEN = OFF // Power Up Timer (Disabled)
#pragma config BOREN = SBORDIS // Brown Out Detect (Enabled in hardware, SBOREN disabled)
#pragma config BORV = 3 // Brown-out Reset Voltage bits (1.8V)
#pragma config BORPWR = ZPBORMV // BORMV Power level (ZPBORMV instead of BORMV is selected)
// CONFIG2H
#pragma config WDTEN = OFF // Watchdog Timer (WDT disabled in hardware; SWDTEN bit disabled)
#pragma config WDTPS = 1048576 // Watchdog Postscaler (1:1048576)
// CONFIG3H
#pragma config CANMX = PORTB // ECAN Mux bit (ECAN TX and RX pins are located on RB2 and RB3, respectively)
#pragma config MSSPMSK = MSK7 // MSSP address masking (7 Bit address masking mode)
#pragma config MCLRE = ON // Master Clear Enable (MCLR Enabled, RE3 Disabled)
// CONFIG4L
#pragma config STVREN = ON // Stack Overflow Reset (Enabled)
#pragma config BBSIZ = BB2K // Boot Block Size (2K word Boot Block size)
// CONFIG5L
#pragma config CP0 = OFF // Code Protect 00800-01FFF (Disabled)
#pragma config CP1 = OFF // Code Protect 02000-03FFF (Disabled)
#pragma config CP2 = OFF // Code Protect 04000-05FFF (Disabled)
#pragma config CP3 = OFF // Code Protect 06000-07FFF (Disabled)
// CONFIG5H
#pragma config CPB = OFF // Code Protect Boot (Disabled)
#pragma config CPD = OFF // Data EE Read Protect (Disabled)
// CONFIG6L
#pragma config WRT0 = OFF // Table Write Protect 00800-01FFF (Disabled)
#pragma config WRT1 = OFF // Table Write Protect 02000-03FFF (Disabled)
#pragma config WRT2 = OFF // Table Write Protect 04000-05FFF (Disabled)
#pragma config WRT3 = OFF // Table Write Protect 06000-07FFF (Disabled)
// CONFIG6H
#pragma config WRTC = OFF // Config. Write Protect (Disabled)
#pragma config WRTB = OFF // Table Write Protect Boot (Disabled)
#pragma config WRTD = OFF // Data EE Write Protect (Disabled)
// CONFIG7L
#pragma config EBTR0 = OFF // Table Read Protect 00800-01FFF (Disabled)
#pragma config EBTR1 = OFF // Table Read Protect 02000-03FFF (Disabled)
#pragma config EBTR2 = OFF // Table Read Protect 04000-05FFF (Disabled)
#pragma config EBTR3 = OFF // Table Read Protect 06000-07FFF (Disabled)
// CONFIG7H
#pragma config EBTRB = OFF // Table Read Protect Boot (Disabled)
void main(void)
{
LATA = 0;
LATB = 0;
LATC = 0;
LATD = 0;
LATE = 0;
TRISA = 0b0000001;// RA0 as input, Switch connected
TRISB = 0b0000000;// all are output, Unused
TRISC = 0b0000000;// All are output, Unused
TRISD = 0b0000000;// All are output, RD7 LED connected
TRISE = 0b0000000;// All are output, Unused
ANCON0 = 0; // digital port
ANCON1 = 0; // digital port
CM1CON = 0; // Comparator off
CM2CON = 0; // Comparator off
ADCON0 = 0; // A/D conversion Disabled
while (1)
{
if (RA0 == 0) // check switch if pressed
{
__delay_ms(40); // wait
if (RA0 == 0) // check switch if pressed
{
LATD7 = 1; // LED ON
}
}
}
}
That is a SERIES connection, not a pull up. Series is what you want. But I don't see ANY wires.RD7 -----.> Resistor ----- LED ----GND
Pull Up resistor connection
How to do button connection ? Do i need directly connect port pin RA0 to CN9 SW1You have buttons on that board too.
*groan*How to do button connection ? Do i need directly connect port pin RA0 to CN9 SW1
Will wonders never cease!On board connection
PK3 as debugger
Schematic shows only one resistor pack RP1 - I suspect that the schematic liesI don't see an uncommitted resistor pack.
Reverse side layoutWould you be able to post an equally good photograph of the reverse side of the board?
If I can see the traces for the LEDs, then I can
Good eyes!Schematic shows only one resistor pack RP1 - I suspect that the schematic lies
Board has two 5-pin resistor packs, but hard to be certain what the second one does
Keep using your breadboard resistor until you can post a picture of the board underside
Agreed. The common pin goes to the GND section of the triple header array so drive the LED = 1 to turn it on.Yes, I am now 99% sure that your board has series resistors for LEDs
Wire straight to the LED connector - no need for the breadboard resistor any more
Is the code working like this?I assume the LED is off until you press the button?
That's what it should do!nitially led is off When I press button LED is turning ON
Better than the external breadboard.Now Only two wires connected, one for led and other for button
Just extra power and ground pins for whatever. If you have a clip lead, you can attach the COM probe of your DMM to GND for convenience.What the use of five pins 5v and five pins gnd near the CN9