In this tutorial we will see how to interface a switch and buzzer with PIC18F4520 starter board.
Starter PIC board comes with on board switch connected to PORTD2 which will be used to control the buzzer.

Steps

  1. Configure the PORT D0 as output to control the buzzer.
  2. Configure the PORT D2 as input to read the switch status..
  3. Read the switch status.
  4. ON/OFF the Buzzer as per switch status.

Code

#include "gpio.h"
#define LED PD_0 // Led is connected to PORTD.0
#define SW1 PD_2 // Switch is connected to PORTD.2
/* start the main program */
void main()
{
uint8_t value;
GPIO_PinDirection(SW1,INPUT); // Configure the switch pin as Input
GPIO_PinDirection(LED,OUTPUT); // Configure the Led pin as OUTPUT
while(1)
{
value = GPIO_PinRead(SW1); // Read the switch status
GPIO_PinWrite(LED,value); // ON/OFF the led as per switch status
}
}

Demo

Pic16f877a buzzer.gif