From 29f9130a1b3b3d9d154b1ab7ee80d73afa8d96c1 Mon Sep 17 00:00:00 2001 From: aadit Date: Thu, 11 Sep 2025 12:58:18 +0530 Subject: [PATCH] Add ES/Lab/Lab8/JOHNSON_Up_Down_Same_GPIO.c --- ES/Lab/Lab8/JOHNSON_Up_Down_Same_GPIO.c | 45 +++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 ES/Lab/Lab8/JOHNSON_Up_Down_Same_GPIO.c diff --git a/ES/Lab/Lab8/JOHNSON_Up_Down_Same_GPIO.c b/ES/Lab/Lab8/JOHNSON_Up_Down_Same_GPIO.c new file mode 100644 index 0000000..8eac755 --- /dev/null +++ b/ES/Lab/Lab8/JOHNSON_Up_Down_Same_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 | 0x0<<10; + + + + while(1){ + x = LPC_GPIO0->FIOPIN & (1 << 10); + 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++); + } + } + } +} +