From 13bb222dd5027de8909a2e00fc5df45a2cf049b9 Mon Sep 17 00:00:00 2001 From: aadit Date: Thu, 11 Sep 2025 12:54:19 +0530 Subject: [PATCH] Add ES/Lab/Lab8/JOHNSON_Up_Down_Separate_GPIO.c --- ES/Lab/Lab8/JOHNSON_Up_Down_Separate_GPIO.c | 45 +++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 ES/Lab/Lab8/JOHNSON_Up_Down_Separate_GPIO.c diff --git a/ES/Lab/Lab8/JOHNSON_Up_Down_Separate_GPIO.c b/ES/Lab/Lab8/JOHNSON_Up_Down_Separate_GPIO.c new file mode 100644 index 0000000..45741de --- /dev/null +++ b/ES/Lab/Lab8/JOHNSON_Up_Down_Separate_GPIO.c @@ -0,0 +1,45 @@ +#include + +int main(){ + unsigned long x, y, i, j; + + // LEDs + LPC_PINCON->PINSEL0 = 0; + LPC_GPIO0->FIODIR = 0xFF<<15; + + LPC_GPIO2->FIODIR = 0x0<<12; + + while(1){ + x = LPC_GPIO2->FIOPIN & (1 << 12); + if(x){ + y = 1<<22; + for(i=0;i<8;i++){ + LPC_GPIO0->FIOSET=y; + y = y>>1; + for(j=0; j<800000; j++); + } + y = 1<<22; + for(i=0;i<8;i++){ + LPC_GPIO0->FIOCLR=y; + y>>=1; + for(j=0; j<800000; j++); + } + } + + if(!x){ + y = 1<<15; + for(i=0;i<8;i++){ + LPC_GPIO0->FIOSET=y; + y = y<<1; + for(j=0; j<800000; j++); + } + y = 1<<15; + for(i=0;i<8;i++){ + LPC_GPIO0->FIOCLR=y; + y = y<<1; + for(j=0; j<800000; j++); + } + } + } +} +