اگه برای DS1307 میخوای اینا هست که بنده از داخل پروژه مهندس کی نژاد برداشتم که فقط واسه خوندن ساعت نوشتم و میشه قسمت ساعتشو حذف کرد برای کاربردای دیگه:
هدر فایل
[code=c]
#ifndef _ds1307_h_
#define _ds1307_h_
#include <avr/io.h>
#define F_CPU 8000000UL
#include <util/delay.h>
#define sec 0
#define min 1
#define hur 2
unsigned char read_ds (unsigned char address)
{ unsigned char data___=0;
TWI_start();
if (status() != 0x08){TWI_stop();return 0;}
TWI_write(0xd0);
if (status() != 0x18){TWI_stop();return 0;}
TWI_write(address);
if (status() != 0x28) return 0;
TWI_start();
if (status() != 0x10) return 0;
TWI_write(0xd1);
if (status() != 0x40) return 0;
data___=bcd_to_dec(TWI_read(0));
if (status() != 0x58) return 0;
TWI_stop();
return data___;
}
unsigned char bcd_to_dec(unsigned char p){
return ((((p & 0xF0)>>4)*10)+(p & 0x0F));
}
unsigned char dec_to_bcd(unsigned char dec){
return (dec/10)<<4|(dec%10);
}
[/code]
.The best question deserves a better answer
=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
«پناه»می برم «به خدا»
از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .
دیدگاه