docs

a slatepencil documentail site

View on GitHub

button

button control leds

hardware

code

/************************
button
press K1     2x red LED ON
press K2     2x green LED ON
press K3     2x yellow LED ON
press K4     2x blue LED ON
*************************/
#include <reg52.h>

sbit led1 = P1^0; // RED
sbit led2 = P1^1; // RED
sbit led3 = P1^2; // GREEN
sbit led4 = P1^3; // GREEN
sbit led5 = P1^4; // YELLOW
sbit led6 = P1^5; // YELLOW
sbit led7 = P1^6; // BLUE
sbit led8 = P1^7; // BLUE

sbit k1 = P3^4;
sbit k2 = P3^5;
sbit k3 = P3^6;
sbit k4 = P3^7;

void main()
{
    P1 = 0xff; // turn off all LED
    while(1)
    {
        led1 = k1;
        led2 = k1;
        led3 = k2;
        led4 = k2;
        led5 = k3;
        led6 = k3;
        led7 = k4;
        led8 = k4;
    }
}
/************************
button
press K1 and release led1 change status
*************************/
#include <reg52.h>

sbit led1 = P1^0; // RED
sbit k1 = P3^4;

void delay(unsigned int xms)
{
    unsigned int i,j;
    for (i = xms; i > 0; i--)
        for(j = 112; j < 0; j--);
}

void main()
{
    P1 = 0xff; // 1111 1111 // turn off all leds
    while(1)
    {
        delay(10); // delay 10ms debounce
        if (k1 == 0) // if button was pressed
        {
            while (k1 == 0); // until release
            led1 = ~led1; // reserse led status
        }
    }
}