1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

Giao tiếp giữa PIC & DS1307

Thảo luận trong 'Vi điều khiển - Mạch Số' bắt đầu bởi 071180A, 25 Tháng năm 2009.

  1. 071180A New Member

    Số bài viết: 159
    Đã được thích: 0
    Điểm thành tích: 0
    Chào cả nhà.
    Mọi người cho e hỏi về con DS1307 & cách sử dụng nó như thế nào để hiển thị ngày tháng lên led 7 đoạn. E đọc sách vxl 1 có nói về 1 con tương tự, nhưng vẫn chưa điều khiển lấy thông tin & cài đặt thông tin lên con này được..
  2. P86 Guest

    Số bài viết: 0
    Đã được thích: 0
    Điểm thành tích: 0
    con này sử dụng giao tiếp I2C, trong ccs có hỗ trợ đấy. Truyền nhận qua 2 chân SCL và SDA.
  3. vo_cam New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
    dùng chuẩn giao tiếp I2C để lấy thông tin giờ phút giây thứ ngày tháng năm trong ds1307
    chú ý clear bít CH trong thanh ghi HOUR chính là bít cho phép ds1307 dao động
    2 chân SCL và SDA cần có trở treo 4k7
    Chúc bạn thành công !
  4. meodenxiii88 New Member

    Số bài viết: 26
    Đã được thích: 0
    Điểm thành tích: 0
    Nói chuyện như các bro thì chỉ như không. Thà là đừng nói, chứ nói cái cơ bản ai cũng biết thì nói làm gì???:no:
    Code của cái này thì trên mạng có nhiều lắm, nếu bạn ngại tìm thì mình có sẵn nè, tiện thể thì gửi lun
    Đây chỉ là code mẫu cho bạn tham khảo cách giao tiếp, còn mở rộng nút điều khiển, hay hiển thị bằng led thì bạn phải ngâm cứu thôi.
    Code này cho AVR, sưu tầm đc hi vọng có ích cho bạn.

    #asm
    .equ __lcd_port=0x1B ;PORTA
    .equ __i2c_port=0x18
    .equ __sda_bit=0
    .equ __scl_bit=1
    #endasm
    #include <mega16.h>
    #include <ds1307.h>
    #include <delay.h>
    #include<lcd.h>
    void main(void) {
    unsigned char h,m,s,x,y;
    i2c_init();
    lcd_init(16);
    rtc_init(0,0,0);
    i2c_start();
    i2c_write(0xd0);
    i2c_write(0);
    i2c_write(0);
    i2c_stop();
    rtc_set_time(0,0,0);
    lcd_gotoxy(0,0);
    lcd_putsf("REAL TIME CLOCK!");
    while (1)
    {
    rtc_get_time(&h,&m,&s);
    lcd_gotoxy(4,1);
    x=h/10;
    y=h%10;
    lcd_putchar(x+0x30);
    lcd_putchar(y+0x30);
    lcd_putsf(":");
    x=m/10;
    y=m%10;
    lcd_putchar(x+0x30);
    lcd_putchar(y+0x30);
    lcd_putsf(":");
    x=s/10;
    y=s%10;
    lcd_putchar(x+0x30);
    lcd_putchar(y+0x30);
    delay_ms(200);
    };
    }
  5. nguyenvan New Member

    Số bài viết: 6
    Đã được thích: 0
    Điểm thành tích: 0
  6. cho87 New Member

    Số bài viết: 4
    Đã được thích: 0
    Điểm thành tích: 0
    mấy sư huynh ơi cho hỏi trong chuong trình trên có lệnh
    lcd_putchar(x+0x30)
    cái x+0x30 là gì vậy cụ thể là cái số 0x30 là gì vậy
    xin mấy huynh giải thích giúp với
    cảm ơn nhiều
    mail : 08153008chihieu@gmail.com

Chia sẻ trang này