Created
February 26, 2019 14:23
-
-
Save faraazahmad/d4536959dc6323b282f4fd3047f8caab to your computer and use it in GitHub Desktop.
switch_counter
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <p89v51rx2.h> | |
sbit l1 = P3^0; | |
sbit l2 = P3^1; | |
sbit l3 = P3^6; | |
sbit l4 = P3^7; | |
sbit s1 = P3^2; | |
sbit s2 = P3^3; | |
sbit s3 = P3^4; | |
sbit s4 = P3^5; | |
void delay(unsigned int dela){ | |
unsigned int i,j; | |
for(i=0;i<=1000;i++) | |
for(j=0;j<=dela;j++); | |
} | |
void counter_4(){ | |
int count = 0; | |
int tmp; | |
int i; | |
l1 = l2 = l3 = l4 = 1; | |
for(i=0;i<16;i++){ | |
delay(150); | |
tmp = i; | |
l4 = !(tmp % 2); | |
tmp /= 2; | |
l3 = !(tmp % 2); | |
tmp /= 2; | |
l2 = !(tmp % 2); | |
tmp /= 2; | |
l1 = !(tmp % 2); | |
tmp /= 2; | |
} | |
} | |
void counter_3(){ | |
int count = 0; | |
int tmp; | |
int i; | |
l2 = l3 = l4 = 1; | |
for(i=0;i<8;i++){ | |
delay(150); | |
tmp = i; | |
l4 = !(tmp % 2); | |
tmp /= 2; | |
l3 = !(tmp % 2); | |
tmp /= 2; | |
l2 = !(tmp % 2); | |
tmp /= 2; | |
} | |
} | |
void counter_2(){ | |
int count = 0; | |
int tmp; | |
int i; | |
l3 = l4 = 1; | |
for(i=0;i<4;i++){ | |
delay(150); | |
tmp = i; | |
l4 = !(tmp % 2); | |
tmp /= 2; | |
l3 = !(tmp % 2); | |
tmp /= 2; | |
} | |
} | |
void counter_1(){ | |
int count = 0; | |
int tmp; | |
int i; | |
l4 = 1; | |
for(i=0;i<2;i++){ | |
delay(150); | |
tmp = i; | |
l4 = !(tmp % 2); | |
tmp /= 2; | |
} | |
} | |
void main() { | |
while(1){ | |
l1 = l2 = l3 = l4 = 1; | |
s1 = s2 = s3 = s4 = 1; | |
if (!s1) | |
counter_1(); | |
else if (!s2) | |
counter_2(); | |
else if (!s3) | |
counter_3(); | |
else if (!s4) | |
counter_4(); | |
delay(150); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment