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 / microcontroller based visitor counter

microcontroller based visitor counter

|

Microcontroller › 8051 › microcontroller based visitor counter

  • This topic has 3 replies, 4 voices, and was last updated 12 years, 8 months ago by avani.
Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • November 4, 2010 at 9:48 am #463
    vj
    Participant

    hi there

    I m working on visitor counter project which can count the no. of persons entering in a room. I am using at89c51,infrared led and a transistor and lcd for displaying no of counts.

    which language I should use for programming microcontroller and can anyone send me the code either in C or assembly or both.

    thanks in advance

    November 7, 2010 at 8:45 am #5139
    Anonymous
    Guest

    Use c language!!!

     

    Also check the stuff on this website. You can easily make one.

    November 8, 2010 at 4:52 am #5143
    john
    Participant

    you can choose either of language

    here is the code in C

     

    // 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;
    }
    } 

     

    October 31, 2012 at 1:05 pm #8704
    avani
    Participant

    Hello!

     

    I am a beginner in embedded c programming. Can u plz explain whatthis line of cofe will do? “void display() interrupt 1“… Will it call service routine code?

     

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

RSS Recent Posts

  • Faulty heat air gun (dc motor) - problem to locate fault due to Intermittent fault [unrepairable] July 20, 2025
  • using a RTC in SF basic July 20, 2025
  • Dismantling a WestinghouseRoku TV ? July 20, 2025
  • Does US electric code allow branching ? July 20, 2025
  • My Advanced Realistic Humanoid Robots Project July 20, 2025

Stay Up To Date

Newsletter Signup
EngineersGarage

Copyright © 2025 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