PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > PIC - Thiết kế và Ứng dụng

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 23-09-2009, 11:52 PM   #36
Mr.Bi
Đệ tử 7 túi
 
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
:
Cái này trên mạng đầy , do mấy u k chịu tìm hiểu và thử nghiệm code
Code:
void start(void)
{ SCL=0;SDA=1;SCL=1;SCL=1;
  SDA=0;SCL=0;}
void stop(void)
{ SCL=0;SDA=0;SCL=1;SDA=1;}
bit write_data(unsigned char chr)
{ unsigned char temp,ack;
  for(temp=0;temp<8;temp++)
    { SDA = (chr& 0x80) ? 1:0;
      SCL=1;
      SCL=0;
      chr=chr<<1;
    };
  SDA=1;SCL=1;ack=SDA;
  SCL=0;
  return(ack);
}
unsigned char convertBCD(unsigned char _data)
{ unsigned char temp;
  temp=(_data/10<<4)|(_data%10&0x0F);
  return temp;
}
unsigned char read_data(void)
{ unsigned char temp1,temp2=0;
  for(temp1=0;temp1<8;temp1++)
    { SCL=1;
      temp2=temp2<<1;
      temp2=temp2|((unsigned char)(SDA));
      SCL=0;
    };
  return(temp2);
}
void write_RTC(unsigned char address, unsigned char _data)
{ bit status;
  start();
  write_data(0xD0);
  write_data(address);
  write_data(_data);
  stop();
  start();
  status=write_data(0xD0);
  while(status)	 //status = 1 (NACK)
       { start();
        status=write_data(0xd0);
       };
}
unsigned char read_RTC(unsigned char address)
{ unsigned char k;
  start();
  write_data(0xD0);
  write_data(address);
  start();
  write_data(0xD1);
  k=read_data();
  stop();
  return ((k>>4)*10+(k&0x0F));
}
void init_RTC()
{ write_RTC(0x07,0x10); 
  write_RTC(0x00,0x00); //0s
  write_RTC(0x01,0x47); // phut	: 47
  write_RTC(0x02,0x13);	// h : 13
  write_RTC(0x04,0x26);	// ngay : 26
  write_RTC(0x05,0x06);	// thang : 6
  write_RTC(0x06,0x09);	// nam : 2009
}
Đọc bài hướng dẫn chi tiết http://svdanang.com/@pbk/showthread.php?t=29583
Mr.Bi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
Làm ơn giúp đỡ lập trình PIC với DS1307, EEPROM enti PIC - Thiết kế và Ứng dụng 1 20-11-2006 06:19 PM


Múi giờ GMT. Hiện tại là 07:31 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam