Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

I need to display rtc value on lcd - attaching sorce code

Status
Not open for further replies.

joseph raj

Junior Member level 2
Joined
Mar 16, 2009
Messages
20
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,501
displaying rtc on lcd

Hi every one, i need idea or if possible code.
I need to display rtc value on lcd.
i am using PIC16F877A and DS1307 series RTC and lcd JHD162A
i am using MPlab ide with hitechc c compiler
I am attaching sorce code which i have written which make rtc run.
#include<htc.h>
extern void I2C_start(void);
extern void I2C_stop(void);
extern void I2C_send(unsigned char);
extern void I2C_recv(void);
extern void rtc_initial(void);
extern void ms_delay(unsigned int);
extern void lcd_cmd(unsigned char);
extern void lcd_data(unsigned char);
extern void lcd_ready(void);
extern void ms_delay(unsigned int);
extern void lcd_init(void);
#define LCD_data PORTD
#define busy_bit RD7
#define sec 0x30
#define min 0x31
#define hour 0x32
#define day 0x33
#define date 0x34
#define month 0x35
#define year 0x36
#define sda RE1
#define scl RE0
#define LCD_en RA0
#define LCD_rw RA1
#define LCD_rs RA2


void main(void)
{
TRISA=0;
TRISD=0;
TRISE=0;
lcd_init();
I2C_start();
rtc_initial();


I2C_stop();

}


void rtc_initial(void)
{
I2C_send(0xD0);

I2C_recv();
I2C_stop();

return;
}

void I2C_start(void)
{
scl=0;
sda=1;
ms_delay(1);
sda=0;
return;
}

void I2C_stop(void)
{

ms_delay(1);
sda=0;
scl=1;
ms_delay(1);
sda=1;
ms_delay(1);
scl=0;
return;
}

void I2C_send(unsigned char value)
{

scl=0;
ms_delay(1);
LCD_data=value;
//lcd_data(LCD_data);
scl=1;
ms_delay(1);
scl=0;
ms_delay(1);
sda=1;
scl=1;
ms_delay(1);
scl=0;
ms_delay(1);
return;
}

void I2C_recv(void)
{
unsigned char value;
sda=1;
scl=1;
ms_delay(1);
LCD_data=value;
scl=0;
ms_delay(1);
sda=1;
scl=0;
ms_delay(1);
sda=0;
scl=1;
ms_delay(1);
scl=0;
ms_delay(1);
return;
}
void lcd_init(void)
{
ADCON1=0x06;
lcd_cmd(0X38);
lcd_cmd(0X0E);
lcd_cmd(0X01);
lcd_cmd(0X06);
lcd_cmd(0X80);
lcd_data('T');
lcd_data('I');
lcd_data('M');
lcd_data('E');
lcd_data(':');

lcd_cmd(0x0C0);
lcd_data('D');
lcd_data('A');
lcd_data('T');
lcd_data('E');
lcd_data(':');
return;
}

please help me out .Its really very urgent.
:cry::cry::cry:
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top