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 / Replies / hey I have a code for serial

hey I have a code for serial

|

Microcontroller › 8051 › regarding interfacing!!! › hey I have a code for serial

March 2, 2011 at 12:08 pm #5652
Dharmit
Participant

hey I have a code for serial interfacing in C, and also a code for the stop watch design in C, so i want to know how to integrate both codes together in order to make a one hex file.

 

here is the code for serial interfacing:

 

#include<reg51.h>

void ini()     // Initialize Timer 1 for serial communication
{
TMOD=0x20; //Timer1, mode 2, baud rate 9600 bps
TH1=0XFD;
SCON=0x50;
TR1=1;
}

void recieve() //Function to receive serial data
{
unsigned char value;
while(RI==0);
SBUF=value;
P1=SBUF;
RI=0;
}

void transmit() // Funtion to transmit serial data
{
P2=P1-32;
SBUF=P2;
while(TI==0);
TI=0;
SBUF=P1;
while(TI==0);
TI=0;
}

void main()
{
while(1)
{
ini();
recieve();
transmit();
} 

And here is the code for stop watch timer in C:

 

#include<reg51.h>

#define msec 1

unsigned int sec1,sec2;

int sec1_1,sec1_2,sec2_1,sec2_2;

 

unsigned int

digi_val[10]={0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0x00,0x10};

sbit dig_ctrl_1=P1^0;  

sbit dig_ctrl_2=P1^1;

sbit dig_ctrl_3=P1^2;

sbit dig_ctrl_4=P1^3;

sbit start_pin = P1^4; 

sbit stop_pin = P1^5; 

sbit reset_pin = P1^6; 

int s,t;

 

void mplex_delay(unsigned int time) 

{

int i,j;

for (i=0;i<=time;i++)

  for(j=0;j<=50;j++);

}

 

void digi_out(unsigned int current_num)

{

    P2=digi_val[current_num];

     mplex_delay(msec);

}

 

void display(unsigned int dig1,unsigned int dig2)

{

    sec1_2=dig1%10;

sec1_1=dig1/10;

sec2_2=dig2%10;

sec2_1=dig2/10;

TMOD=0x01;  

TL0=0xFF;

TH0=0xDB;

TR0=1;  

while(TF0==0)

{

  dig_ctrl_1 = 1;

  dig_ctrl_2 = dig_ctrl_3 = dig_ctrl_4 = 0;

  digi_out(sec1_1);

  dig_ctrl_2 = 1;

  dig_ctrl_1 = dig_ctrl_3 = dig_ctrl_4 = 0;

  digi_out(sec1_2);

  dig_ctrl_3 = 1;

  dig_ctrl_2 = dig_ctrl_1 = dig_ctrl_4 = 0;

  digi_out(sec2_1);

  dig_ctrl_4 = 1;

  dig_ctrl_2 = dig_ctrl_3 = dig_ctrl_1 = 0;

  digi_out(sec2_2);

}

 

TR0=0;

TF0=0;

}

 

void main()

{

while(1)

{

start:  

  start_pin = 1;

  stop_pin = 1;

  reset_pin = 1;

  dig_ctrl_1 = 0;

  dig_ctrl_2 = 0;

  dig_ctrl_3 = 0;

  dig_ctrl_4 = 0;

  P2 = 0xFF;

  s = t = 0;

  while(start_pin == 1)

  {

  display(0,0);

  }

 

stopwatch:  

  for (sec1=s;sec1<=99;sec1++)

  {

   if (stop_pin == 0 )  

   break;

    for (sec2=t;sec2<=99; sec2++)

    {

    if (stop_pin == 0 )  

    break;

    t=0;

    display(sec1,sec2);

    }

  }

  stop_pin = 1;

  s = sec1;

  t = sec2;

 

  while ( start_pin != 0 && reset_pin != 0 )  

  {

  display(sec1,sec2);

  }

 

  if (start_pin == 0) 

  {

  goto stopwatch;

  }

  else

  {

   if (reset_pin == 0 )  

   {

   s = t = 0;

   goto start;

   }

  }

}

}

 

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