Hi..
I'm new in programming microcontroller in c. And I was given an assignment to write a simple program to turn 'ON' and "OFF' the LED by pressing push buttons. The microcontroller i'm using is PIC18F4620. And i'll need 1 LED and 2 push buttons to program this. I have already tried to write the program but it doesnt work. Here is my program:


Code:
#include <p18f4620.h>
 
#pragma config OSC = HS
#pragma config WDT = OFF
#pragma config LVP = OFF
 
#define btn_on                 PORTBbits.RB4
#define btn_off                 PORTBbits.RB5
#define led                       PORTAbits.RA0
 
void press(void);
void on(void);
void off(void);
 
void main(void)
{
             TRISA = 0;                                   //set Port A(LED) as output
             PORTAbits.RA0 = 0;                     //reset LED
    
             while(btn_on != btn_off)         //wait for btn press
    
             if (btn_on = 1)                          //btn on pressed
             on();
 
             if (btn_off = 1)    //btn off pressed
             off();
}
 
    void on(void)
    {
              while(btn_on);                      //wait for btn(RB4) released
              PORTAbits.RA0 = 0x0F;                  //on LED
    }
    
    void off(void)
    {
             while(btn_off);                  //wait for btn(RB5) released
              PORTAbits.RA0 = 0x00;              //off LED
    }
the underline statement is the one i not sure whether is correct or not. I have being working on this for a week. But still cant get the program run correctly. Hope to get some guide. Thank.