کد:
#include <mega32.h>
#include <delay.h>
#include <stdlib.h>
#include <stdio.h>
#include "Includes/GLCD.h"
#include <ds1307.h>
#asm
.equ __i2c_port=0x12 //PORTA
.equ __sda_bit=1
.equ __scl_bit=0
#endasm
#include <i2c.h>
void main(void)
{
#pragma used+
char str[10],sec=0,min=0,hour=0,date=0,month=0,year=0;
int i;
byte read_data;
byte read_arr[30];
#pragma used-
DATADDR = 0xff;
DDRB = 0xFF;
glcd_on();
glcd_clear();
i2c_init();
rtc_init(0,0,0);
rtc_set_time(19,38,0);
rtc_set_date(3,8,23);
for(i=0;i<=17;i++)h_line(0,i,128,0,1);
for(i=108;i<=127;i++)h_line(0,i,128,0,1);
while (1)
{
rtc_get_time(&hour,&min,&sec);
rtc_get_date(&date,&month,&year);
sprintf(str,"%d:%d:%d",hour,min,sec);glcd_puts(str,0,3,0,2,0);
sprintf(str,"139%d/%d/%d",date,month,year);glcd_puts(str,28,6,0,1,0);
delay_ms(200);
}
}