how to change 24 hour to 12 hour can u help me..... thanks....
#include "16F877A.h"
#use delay(clock=4000000)
#fuses NOWDT,XT, NOPUT, NOPROTECT
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#include "ds1307.c"
void main(void)
{
int8 sec,min,hour,day,date,month,year,pm;
delay_ms(50);
init_ds1307(); // initial DS1307
//sec=read_ds1307(0);
//write_ds1307(0,sec & 0x7F); // enable oscillator(bit 7 =0)
write_ds1307(2,hour & 0x3F); // extract the hour in BCD
while(true)
{
sec=read_ds1307(0); // read second
min=read_ds1307(1); // read minute
hour=read_ds1307(2); // read hour
day=read_ds1307(3); // read day
date=read_ds1307(4); // read date
month=read_ds1307(5); // read month
year=read_ds1307(6); // read year
putc(0x0c);
printf("Time : %X:%X:%X\r\n",hour,min,sec);
printf("Day : %02X\r\n",day);
printf("Date : %X/%X/%X\r\n",date,month,year);
delay_ms(500);
}
}
#define DS1307_SDA PIN_C4
#define DS1307_SCL PIN_C3
#use i2c(master, sda=DS1307_SDA, scl=DS1307_SCL)
//==========================
// initial DS1307
//==========================
void init_DS1307()
{
output_float(DS1307_SCL);
output_float(DS1307_SDA);
}
//==========================
// write data one byte to
// DS1307
//==========================
void write_DS1307(byte address, BYTE data)
{
short int status;
i2c_start();
i2c_write(0xd0);
i2c_write(address);
i2c_write(data);
i2c_stop();
i2c_start();
status=i2c_write(0xd0);
while(status==1)
{
i2c_start();
status=i2c_write(0xd0);
}
}
//==========================
// read data one byte from DS1307
//==========================
BYTE read_DS1307(byte address)
{
BYTE data;
i2c_start();
i2c_write(0xd0);
i2c_write(address);
i2c_start();
i2c_write(0xd1);
data=i2c_read(0);
i2c_stop();
return(data);
}
---------- Post added at 18:23 ---------- Previous post was at 18:21 ----------
PHP:
hi .................how to change 24 hour to 12 hour by using DS1307...