Home > Electronic Tutorials > Microcontroller Based Schematics > AT89C2051/4051 Connecting Dumb Terminal

Microcontroller Based Schematics, Projects, Tutorials

AT89C2051/4051 Connecting Dumb Terminal

Author: Wichit Sirichote

Some applications may not need user display and key interface, dump terminal is an alternative way for program setting, displaying user interfacing command. Debugging, dump terminal connects with serial port, use only 2-i/o pin, P3.0 for Rxd and P3.1 for Txd. Any computers that has serial port and emulates as a dump terminal can be used for the purpose, the example used PC run terminal emulation program has COM1 9600baud 8data bit no parity, 1 stop bit. standard serial port is RS232C needs level converter from TTL to RS232C by using MAX232 or DS275. D1 is a dot LED used for testing program running.


Connecting Dumb Terminal Diagram
 


terminal.c

TERMINAL.C
TERMINAL.HEX

This program displays simple clock on terminal. The 89C2051 sends ascii string representing real-time through TxD pin at 9600 baud.

/*
 * terminal.c
 * use terminal for displaying clock
 * Copyright (c) 1999 by Wichit Sirichote
 * compiled with Dunfield Micro-C for 8051 Release 3.2
 * c:\mc\cc51 terminal -i h=c:\mc m=t
 */

#include c:\mc\8051io.h  /* include i/o header file */
#include c:\mc\8051reg.h

extern register char cputick;

unsigned register char sec100,sec,min,hour,flag1;
 

main()
{
          flag1 = 0;
          hour = 17;
          min = 59;
          sec = 0;
          serinit(9600);
          while(1){
                while(cputick <10)
                ;
                cputick = 0;
                time();
                printtime();
          }
}

time ()
/* update real-time clock  */
{
   sec100++;
   if (sec100 >= 10)  /* 100 * 10 ms = 1 s */
   {sec100 = 0;
   flag1 |= 0x01;   /* set bit 0 */
   sec++;
   if (sec >= 60)
   {sec = 0;
   flag1 |= 0x02; /* set bit 1 */
   min++;
   if (min >= 60)
   {min = 0;
   hour++;
   if (hour >= 24)
   {hour = 0;

    }
  }
 }
}
}

printtime()
{
        if ((flag1 & 0x01) != 0)
        {
        printf("\n %02u:%02u:%02u",hour,min,sec);
        flag1 &= ~0x01;
        }
}

Exercises

  • write a function that can be used to set current time of the clock.
  • there's a dot LED connected at P1.7 with sink current driving, write a function that sets turn on time, when the clock reachs setting time, makes the LED on.
Note: To report broken links or to submit your projects please send email to Webmaster

Discover

     more......