EngineersGarage

  • Engineers Garage Main Site
  • Visit our active EE Forums
    • EDABoard.com
    • Electro-Tech-Online
  • Projects & Tutorials
    • Circuits
    • Electronic Projects
    • Tutorials
    • Components
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Advertise
You are here: Home / Topics / program and “protues circuit with proper 7 segment diagram” bidirectional visitor counter using 8051 microcontroller (AT89C51)

program and “protues circuit with proper 7 segment diagram” bidirectional visitor counter using 8051 microcontroller (AT89C51)

|

Microcontroller › 8051 › program and “protues circuit with proper 7 segment diagram” bidirectional visitor counter using 8051 microcontroller (AT89C51)

  • This topic has 4 replies, 4 voices, and was last updated 11 years, 1 month ago by muhammad.
Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • September 1, 2013 at 8:34 am #2615
    pankaj
    Participant

    I have problem with circuit to connect 7 segment display & with the program code

    can u plz send me “proteus circuit diagram”

    n

    “c program” without warnings…

    Thanks in advance

     

    September 2, 2013 at 4:52 am #10410
    AJISH ALFRED
    Participant

    Hi Pankaj,

    Please post the issues you are facing with the circuit and we will try to help you out.

    March 5, 2015 at 4:38 pm #12664
    muhammad
    Participant

    Can chect this programming

    i use proteus and mat lab but cant run


    // 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
    {
    up=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;
    }
    }
    }

    March 6, 2015 at 7:24 pm #12670
    Ashutosh Bhatt
    Participant

    this is the program for 8051 micro controller compiled in KEIL cross compiler. 

    i dont see any error. wht kind of error u r getting?

    March 8, 2015 at 2:22 pm #12678
    muhammad
    Participant

    When i try to code the proteus ,its error

    can u give me your diagram using proteus and code

  • Author
    Posts
Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.
Log In

RSS Recent Posts

  • ANOTHER OLD PROJECT REDO April 16, 2026
  • EasyEda program has a major bug April 16, 2026
  • How to set the OSCAL in a PIC 12F675 April 16, 2026
  • issues with level shifter driving a CGHV1A250F April 15, 2026
  • Drawing software April 15, 2026

Stay Up To Date

Newsletter Signup
EngineersGarage

Copyright © 2026 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy | Advertising | About Us

Search Engineers Garage

  • Engineers Garage Main Site
  • Visit our active EE Forums
    • EDABoard.com
    • Electro-Tech-Online
  • Projects & Tutorials
    • Circuits
    • Electronic Projects
    • Tutorials
    • Components
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Advertise