RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

Vấn đề mô phỏng pic877 và ds1307

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts

  • TL_pro
    replied
    ra là đọc liên tục thì phải có ack.em mò trong tài liệu mà ko thấy nói đến. chắc đến lúc dạy thầy mới nói.hi.cám ơn.

    Leave a comment:


  • chung1608
    replied
    Nguyên văn bởi TL_pro Xem bài viết
    giay = i2c_read(1);
    phut = i2c_read(1);
    gio = i2c_read(1);
    thu = i2c_read(1);
    ngay = i2c_read(1);
    thang = i2c_read(1);
    nam = i2c_read(0);

    thêm tham số ack vào thì chạy ổn . em k hiểu , ai biết chỉ dùm với.
    bạn đọc liên tục trong giao tiếp I2C thì phải có bit ack nó mới hiểu
    Còn về portC thì cứ sử dụng lệnh output với các chân còn lại bình thường vì CCS khi bạn dùng lệnh output nó sẽ tự động đi set bit trong tris tương ứng với pin bạn output.

    Leave a comment:


  • hoang_3i
    replied
    Nguyên văn bởi TL_pro Xem bài viết
    giay = i2c_read(1);
    phut = i2c_read(1);
    gio = i2c_read(1);
    thu = i2c_read(1);
    ngay = i2c_read(1);
    thang = i2c_read(1);
    nam = i2c_read(0);

    thêm tham số ack vào thì chạy ổn . em k hiểu , ai biết chỉ dùm với.
    bạn tìm hiểu về giao thức i2c thì sẽ hiểu ngay.

    Leave a comment:


  • TL_pro
    replied
    giay = i2c_read(1);
    phut = i2c_read(1);
    gio = i2c_read(1);
    thu = i2c_read(1);
    ngay = i2c_read(1);
    thang = i2c_read(1);
    nam = i2c_read(0);

    thêm tham số ack vào thì chạy ổn . em k hiểu , ai biết chỉ dùm với.

    Leave a comment:


  • TL_pro
    started a topic Vấn đề mô phỏng pic877 và ds1307

    Vấn đề mô phỏng pic877 và ds1307

    Các đại ca chỉ giúp em, em điên với nó lắm rồi.
    Chả là em định làm cái lịch vạn niên,chương trình chính ngắn gọn thôi

    while(true)
    {
    read();
    for(i=1;i<=300;i++)
    {
    porta=0x01;
    portd=phut;
    delay_ms(10);


    porta=0x02;
    portd=gio;
    delay_ms(10);

    porta=0x04;
    portd=thu;
    delay_ms(10);

    porta=0x08;
    portd=ngay;
    delay_ms(10);

    porta=0x10;
    portd=thang;
    delay_ms(10);

    porta=0x20;
    portd=nam;
    delay_ms(10);
    }
    }

    Chương Trình Đọc
    void read()
    {
    i2c_start();
    i2c_write(0xD0);
    i2c_write(0x00);
    i2c_start();
    i2c_write(0xD1);
    giay=i2c_read();
    phut=i2c_read();
    gio=i2c_read();
    thu=i2c_read();
    ngay=i2c_read();
    thang=i2c_read();
    nam=i2c_read();
    i2c_stop();
    }



    nhưng khi quét lần 1 thì hiển thị đúng, quét lần 2 porta chạy đúng nhưng portd toàn set mức cao,lần 3 lại bình thường,...
    Không biết tại cái gì hay do mô phỏng bị trục trặc.
    Và 1 điều nữa là portc chỉ sử dụng chan sda và scl giao tiếp với ds1307, vậy mấy chân còn lại của portc thì làm sao để sử dụng như là chân I/O đây (phần set_tris_c(????) )

Về tác giả

Collapse

TL_pro Tìm hiểu thêm về TL_pro

Bài viết mới nhất

Collapse

Đang tải...