PDA

View Full Version : کمک در راه اندازی ic ds1307



vali96
سه شنبه 04 اسفند 1394, 18:48 عصر
با سلام
در این راه انداز کسی میدونه
این define ها
[]buffer
()i2c_init
دقیقا چی هستن!؟


اینم کدش:

#include <mega16a.h>
// I2C Bus functions
#include <i2c.h>
// DS1307 Real Time Clock functions
#include <ds1307.h>
// Alphanumeric LCD functions
#include <alcd.h>
#include <delay.h>
#include <stdio.h>
//><><><><><><><><><><><><><><><><><><><><><><\\
#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<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
PORTB=(0<<PORTB7) | (0<<PORTB6) | (1<<PORTB5) | (1<<PORTB4) | (1<<PORTB3) | (1<<PORTB2) | (1<<PORTB1) | (1<<PORTB0);
//><><><><><><><><><><><><><><><><><><><><><><\\
// 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);
}
}