Add ES/Lab/Lab8/JOHNSON_Up_Down_Separate_GPIO.c

This commit is contained in:
aadit 2025-09-11 12:54:19 +05:30
parent 43032540dd
commit 13bb222dd5

View file

@ -0,0 +1,45 @@
#include <LPC17xx.h>
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++);
}
}
}
}