This a basic program that uses digital input-output functions. It counts how many times the button is pressed and displays the resulting value as 4-bit binary on LPC1768 leds.

Dependencies:   mbed

main.cpp

Committer:
BaserK
Date:
2015-07-09
Revision:
0:4b9e06ca482c
Child:
1:55585733d77e

File content as of revision 0:4b9e06ca482c:

/*   Digital input output example on LPC1768 
*
*    @author: Baser Kandehir 
*    @date: July 9, 2015
*    @license: Use this code however you'd like
*   
*    @description of the program: 
*
*    This a basic program that uses digital input-output functions.
*    It counts how many times the button is pressed and displays the 
*    resulting value as 4-bit binary on LPC1768 leds. 
*     
*    @connections: Pull up button with 10k resistor is connected to pin 18.   
*     
*/

#include "mbed.h"

/* Activate on board LEDs */
DigitalOut LPC_led1(LED1);
DigitalOut LPC_led2(LED2);
DigitalOut LPC_led3(LED3);
DigitalOut LPC_led4(LED4);

DigitalIn button(p18);  // button (pull-up) is connected to P18

/* Function prototype */
void ledCounter(int value);

int count=0;

int main()
{
    while(1)
    {
       if(button.read()==0)           // if the button is pressed
       {   
           while(button.read()==0);   // wait until release
           wait_ms(20);               // button debounce
           count++;                   // count up
           count%=16;                 // count (mod 16)
       }
       ledCounter(count);             // display the count 
    }
}

// This function can display value(mod 16) as binary on LPC1768
// For example =  12 = (1010) led2 and led4 will be ON, led1 and led3 will be OFF.
void ledCounter(int value)
{
    LPC_led1=value%2;
    LPC_led2=(value>>1)%2;
    LPC_led3=(value>>2)%2;
    LPC_led4=(value>>3)%2;
}