#include
// I2C Bus functions
#include
// DS1307 Real Time Clock functions
#include
// Alphanumeric LCD functions
#include
#include
#include
//>
#define downclock PINB.0
#define downmin PINB.1
#define downsec PINB.2
#define upsec PINB.3
#define upmin PINB.4
#define upclock PINB.5
//>
void main(void)
{
int hh=0,mm=0,ss=0;
char buffer[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},h=0,m=0,s=0;
//>
DDRB=(0
PORTB=(0
//>
// Bit-Banged I2C Bus initialization
// I2C Port: PORTC
// I2C SDA bit: 1
// I2C SCL bit: 0
// Bit Rate: 100 kHz
// Note: I2C settings are specified in the
// Project|Configure|C Compiler|Libraries|I2C menu.
i2c_init();
//>
// DS1307 Real Time Clock initialization
// Square wave output on pin SQW/OUT: Off
// SQW/OUT pin state: 0
rtc_init(0,0,0);
//>
lcd_init(16);
//>
while (1)
{
rtc_get_time(&h,&m,&s);
if( upclock == 0 )
{
delay_ms(200);
hh++;
if( hh == 24 ) hh=0;
rtc_set_time(hh,mm,ss);
}
if( upmin == 0 )
{
delay_ms(200);
mm++;
if( mm == 60 ) mm=0;
rtc_set_time(hh,mm,ss);
}
if( upsec == 0 )
{
delay_ms(200);
ss++;
if( ss == 60 ) ss=0;
rtc_set_time(hh,mm,ss);
}
lcd_clear();
lcd_gotoxy(0,0);
sprintf(buffer,"%d:%d:%d",h,m,s);
lcd_puts(buffer);
delay_ms(100);
}
}
برچسب:
نویسنده: محمد رضا جوادیان
تاريخ: چهارشنبه
5 اسفند
1394 ساعت: 5:21