![]() |
|
Tài trợ cho PIC Vietnam |
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 |
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Mar 2011
Bài gửi: 17
: |
![]() void INIT_MAIN() {
// Khoi tao truyen thong I2C I2C_Init(100000); // Kích hoạt môddun truyền thông i2c với tốc độ baud là 100kHz // Khoi tao DS1307 I2C_Start(); // điều kiện start I2C_Wr(0xD0); // truyền địa chỉ của ds1307 và chọn ghi dữ liệu lên ds1307 I2C_Wr(0x00); // Truyền địa chỉ ô nhớ đầu tiên của ds1307 I2C_Wr(0x13); // Khoi tao gia tri ban dau cho thanh ghi giây I2C_Wr(0x03); // Khoi tao gia tri ban dau cho thanh ghi phút I2C_Wr(0x02); // Khoi tao gia tri ban dau cho thanh ghi giờ I2C_Wr(0x03); // Khoi tao gia tri ban dau cho thanh ghi thứ I2C_Wr(0x05); // Khoi tao gia tri ban dau cho thanh ghi ngày I2C_Wr(0x03); // Khoi tao gia tri ban dau cho thanh ghi tháng I2C_Wr(0x03); // Khoi tao gia tri ban dau cho thanh ghi năm I2C_Wr(0x90); // đặt cấu hình cho thanh ghi điều khiển, sử dụng xung 1Hz. I2C_Stop(); // Điều kiện stop } chuong trinh chinh void MAIN() { INIT_MAIN(); } Trong hàm INIT_MAIN() có đoạn khởi tạo cho ds1307 như trên. Như thế cứ mỗi lần con PIC được cấp điện lại thi đồng hồ lại bị Reset theo giá trị mình khởi tạo ban đầu cho nó. Vi Thế mỗi lần như vậy phải chỉnh lại giờ cho đồng hồ . co ai giup minh khong????????? |
![]() |
![]() |
|
|