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

Code về đồng hồ DS1307

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • kiniemxua88
    Nhập môn đệ tử
    • Mar 2013
    • 1

    #16
    mấy anh ơi! có thể upload phần mô phỏng cho bài code 1307.rar lên luôn không? tại em mới tìm hiểu về pic muốn cỏ cả phần mô phỏng để đọc code cho dễ hiểu. cám ơn nhiều.

    Comment

    • vansondv
      Nhập môn đệ tử
      • Mar 2013
      • 1

      #17
      Nguyên văn bởi qloi View Post
      hôm nọ có bạn hỏi mình về code đồng hồ sử dụng ds1307 trên yahoo mà mình quên mất nick zậy ai cần thì pm mình gởi qua cho.dạo này chỉ vào diễn đàn bằng di động nên không post đc
      mình đang cần ,bạn có thể share qua mail mình la : vanson.10dv@gmail.com
      cảm ơn bạn.

      Comment

      • kehamch00i
        Nhập môn đệ tử
        • Apr 2013
        • 1

        #18
        anh qloi ơi cho em hỏi bài ds1307 của anh ko hiển thị trên cại j ak ???? e ko hiểu lắm

        Comment

        • qloi
          Đệ tử 3 túi
          • Sep 2010
          • 55

          #19
          Nguyên văn bởi kehamch00i View Post
          anh qloi ơi cho em hỏi bài ds1307 của anh ko hiển thị trên cại j ak ???? e ko hiểu lắm
          Hiển thị trên 3 cặp led 7đoạn đó bạn. ở hàm read_time() các biến dig1 - dig6 mỗi cái tương ứng với 1 con led 7đoạn đó. bạn không hiểu chổ nào?
          heart.touching.2010@gmail.com!

          Comment

          • qloi
            Đệ tử 3 túi
            • Sep 2010
            • 55

            #20
            Nguyên văn bởi vansondv View Post
            mình đang cần ,bạn có thể share qua mail mình la : vanson.10dv@gmail.com
            cảm ơn bạn.
            Bạn qua trang đầu tải nha
            heart.touching.2010@gmail.com!

            Comment

            • duydien187
              Nhập môn đệ tử
              • May 2013
              • 6

              #21
              e dùng con MCU không có giao tiếp i2c sẵn nên em phải viết hàm cho nó.. em gặp 1 vân đề là
              seconds = i2c_read(); // doc du lieu tai dia chi 0x02
              //minutes = i2c_read(); // doc du lieu tai dia chi 0x03
              //hours = i2c_read(); // doc du lieu tai dia chi 0x04
              //day = i2c_read(); // year/day 0x05
              //month = i2c_read(); // weekday/month 0x06
              no co hien giá trị đúng nhung no nhay loan con thêm
              seconds = i2c_read(1); // doc du lieu tai dia chi 0x02
              //minutes = i2c_read(1); // doc du lieu tai dia chi 0x03
              //hours = i2c_read(1); // doc du lieu tai dia chi 0x04
              //day = i2c_read(1); // year/day 0x05
              //month = i2c_read(0); // weekday/month 0x06
              thì no bao lỗi chỗ sô 1 đó..tai em phải viết cả hàm i2c
              mong cac bac chi giáo

              Comment

              • qloi
                Đệ tử 3 túi
                • Sep 2010
                • 55

                #22
                Nguyên văn bởi duydien187 View Post
                e dùng con MCU không có giao tiếp i2c sẵn nên em phải viết hàm cho nó.. em gặp 1 vân đề là
                seconds = i2c_read(); // doc du lieu tai dia chi 0x02
                //minutes = i2c_read(); // doc du lieu tai dia chi 0x03
                //hours = i2c_read(); // doc du lieu tai dia chi 0x04
                //day = i2c_read(); // year/day 0x05
                //month = i2c_read(); // weekday/month 0x06
                no co hien giá trị đúng nhung no nhay loan con thêm
                seconds = i2c_read(1); // doc du lieu tai dia chi 0x02
                //minutes = i2c_read(1); // doc du lieu tai dia chi 0x03
                //hours = i2c_read(1); // doc du lieu tai dia chi 0x04
                //day = i2c_read(1); // year/day 0x05
                //month = i2c_read(0); // weekday/month 0x06
                thì no bao lỗi chỗ sô 1 đó..tai em phải viết cả hàm i2c
                mong cac bac chi giáo
                Cụ thể bạn xài vxl nào thế. đa số mấy dòng vđk mới điều hổ trợ i2c. theo cách viết giao tiếp i2c trên của bạn là sai rồi, nếu bạn có koi cái code của tui gởi ở trên thì:
                Code:
                void write_rtc(byte address, BYTE data)
                {
                   short int status;
                   i2c_start();
                   i2c_write(0xd0);
                   i2c_write(address);
                   i2c_write(data);
                   i2c_stop();
                   i2c_start();
                   status=i2c_write(0xd0);
                   while(status==1)
                   {
                      i2c_start();
                      status=i2c_write(0xd0);
                   }
                }
                các hàm bên trong hàm write_rtc(byte address, BYTE data) là các hàm do ccs tạo sẳn nếu để thực hiện được một lệnh wrirte_rtc(byte address, BYTE data) (lệnh này là viết một data lên địa chỉ address của ds1307) thì cần thực hiện theo thứ tự một loạt các lệnh tạo sẳn ở trong đó.vậy bạn phải xây dựng các lệnh nhỏ ở trong đó để tạo một bộ i2c ảo cho con vxl của bạn. bạn tham khao tại http://www.dientuvietnam.net/forums/...8051-a-134648/.
                sau khi xây dựng được các hàm đó bạn có thể dụa theo code mẫu của mình để đọc các biến giờ, phút , giây theo các địa chỉ của 1307!
                heart.touching.2010@gmail.com!

                Comment

                • ngo_huy_binh
                  Nhập môn đệ tử
                  • Sep 2012
                  • 1

                  #23
                  anh ơi tiện thể post luôn file mô phỏng lên đi anh. nhìn code k khó hiểu lắm

                  Comment

                  • qloi
                    Đệ tử 3 túi
                    • Sep 2010
                    • 55

                    #24
                    Nguyên văn bởi ngo_huy_binh View Post
                    anh ơi tiện thể post luôn file mô phỏng lên đi anh. nhìn code k khó hiểu lắm
                    Mình không có file mô phỏng bạn ơi. Cái này mình viết theo yêu cầu của một bạn trên diễn đàn nên mình chỉ viết code mà không vẽ sơ đồ mô phỏng. Bạn cứ bắt đầu đọc code từ hàm main() theo thứ tự từ trên xuống là hiêu cách hoạt động của nó liền. Nếu vẽ mạch mô phỏng thì khả năng mô phỏng dduocj không cao lắm do đây là mạch giao tiếp i2c tốc độ thực thi lệnh rất cao nên khả năng proteus đáp ứng rất chậm sẽ không mô phỏng chính xác được hoạt mạch sẽ hoạt động sai. Cách tốt nhất là làm mạch thực nghiệm để test bảo đảm chạy ngay. Có thời gian mình sẽ vẽ mạch để post cho các bác.
                    heart.touching.2010@gmail.com!

                    Comment

                    Working...