0% found this document useful (0 votes)
23 views3 pages

Embedded Clock Program

c language programming

Uploaded by

Kal El
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views3 pages

Embedded Clock Program

c language programming

Uploaded by

Kal El
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

ASSIGNMENT 5 TASK 1: Create the program of a digital clock display (using c language).

The LCD display is continuously updated after every second with the new value of current time in HH:MM:SS format. Programming:
#include <reg51.h> void lcdwrite (unsigned char value); void delay (unsigned long value); void cmdwrite (unsigned char cmd); void datawrite (unsigned char dat); void lcdstart(); void wordwrite (unsigned char *word); void numwrite (unsigned int number); void displaytime (unsigned int i,j,k); void delay (unsigned long j); #define lcddata P0 // data port lcd sbit rs=P2^3; // rs pin connecfgtion sbit rw=P2^4; // rw pin sbit e=P2^5; // e pin

void main() { unsigned int i,j,k; lcdstart(); //start lcd while(1) { { for (i=0; i<24; i++) cmdwrite(0x81); numwrite(i); wordwrite("h:"); delay(1000); for(j=0; j<60; j++) { cmdwrite(0x85); numwrite(j); wordwrite("m:"); delay(1000); for(k=0; k<60; k++) { cmdwrite(0x89); numwrite(k); wordwrite("s"); delay(10); } } } } }

void lcdwrite (unsigned char value) // send value to lcd { rw=0; // clr rw to write data lcddata=value; e=1; //enable lcd delay(250); e=0; delay(250);

} void delay (unsigned long value) { for ( ; value>0; value--); } void cmdwrite (unsigned char cmd) { rs=0; // selec command mode lcdwrite (cmd); // write to lcd } void datawrite (unsigned char dat) { rs=1; // select data mode lcdwrite (dat); } void lcdstart() { cmdwrite(0x38); cmdwrite(0x0c); cmdwrite(0x01); cmdwrite(0x06); } void wordwrite (unsigned char *word) { unsigned char i; for(i=0; word[i]!='\0';i++) { datawrite(word[i]); } } void numwrite (unsigned int number) { datawrite(0x30+(number%1000%100/10)); datawrite(0x30+(number%1000%100%10)); }

Simulation Figure:

You might also like