Skip to content

Instantly share code, notes, and snippets.

@faraazahmad
Created February 26, 2019 14:23
Show Gist options
  • Save faraazahmad/d4536959dc6323b282f4fd3047f8caab to your computer and use it in GitHub Desktop.
Save faraazahmad/d4536959dc6323b282f4fd3047f8caab to your computer and use it in GitHub Desktop.
switch_counter
#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