// Program to make a
bidirectional visitor counter using IR sensor
#include <reg51.h>
#define msec 1
unsigned int num=0;
sbit dig_ctrl_4=P1^3;  //declare the control pins of seven segments
sbit dig_ctrl_3=P1^2;
sbit dig_ctrl_2=P1^1;
sbit dig_ctrl_1=P1^0;
unsigned int
digi_val[10]={0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0x00,0x10};
unsigned int dig_1,dig_2,dig_3,dig_4,test=0;
unsigned char dig_disp=0;
sbit up=P3^5; 
//up pin to make counter count up
sbit down=P3^6;  //down pin to make counter count down
void init() 
// to initialize the output pins and Timer0
{
p=down=1;
dig_ctrl_4 = 0;
dig_ctrl_3 = 0;
dig_ctrl_2 = 0;
dig_ctrl_1 = 0;
TMOD=0x01;
TL0=0xf6;
TH0=0xFf;
IE=0x82;
TR0=1;
}
void delay() 
//To provide a small time delay
{
TMOD=0x01;
    TL0=0x36;
    TH0=0xF6;
    TR0=1;
    while(TF0==0);
    TR0=0;
    TF0=0;
}
void display() interrupt 1  // Function to display the digits on seven
segment. For more details refer seven segment multiplexing.
{
TL0=0x36;
    TH0=0xf6;
P2=0xFF;
dig_ctrl_1 = dig_ctrl_3 = dig_ctrl_2 =
dig_ctrl_4 = 0;
dig_disp++;
dig_disp=dig_disp%4;
switch(dig_disp)
{
   case
0:
  P2=
digi_val[dig_1];
  dig_ctrl_1 = 1;
  break;
  case
1:
  P2=
digi_val[dig_2];
  dig_ctrl_2 = 1;
  break;
  case
2:
  P2=
digi_val[dig_3];
  dig_ctrl_3 = 1;
  break;
  case
3:
  P2=
digi_val[dig_4];
  dig_ctrl_4 = 1;
  break;
}
}
void main()
{
   init();
   while(1)
   {
  if(up==0&&down==1) 
//check if up pin is pressed
     {
  test++;
     num=test;
     dig_4=num%10;
  num=num/10;
     dig_3=num%10;
  num=num/10;
     dig_2=num%10;
  dig_1=num/10;
  if(test==9999)
  test=0;
  }
    if(up==1&&down==0) 
//check if down pin is pressed
    {
  test--;
     num=test;
     dig_4=num%10;
  num=num/10;
     dig_3=num%10;
  num=num/10;
     dig_2=num%10;
  dig_1=num/10;
  if(test==0)
  test=9999;
  }
} 
Hi,
ReplyDeleteYou have written very great coding, if you want practical materials contact us Delopt
I Want Practical Materials..... Your Site Can't be opened...... how can i contact u.....???
DeleteViky Shah
Hello Mr.Darshan Jani Thanks For The Code. Please Share More Programs......
Delete& To Delopt. i need the practical materials too.... Can u mail me.....?