Thông báo

Collapse
No announcement yet.

RTC DS1307 và 12B887 cái nào hoạt động chính xác hơn???

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • RTC DS1307 và 12B887 cái nào hoạt động chính xác hơn???

    đang phân vân chọn lựa giữa 2 con IC này anh em nào bít con nào hoạt động chính xác hơn ??? anh em ai bít thì có thể chỉ dùm ! cảm ơn nhìu.
    cho mình bít ưu nhược điểm của 2 con này được không???, về khả năng lập trình thì không thành vấn đề !!

    Ah ! mình hỏi thêm do mình dùng các led 7 đoạn loại lớn 2,5 in dùng điện áp 12v loại A chung, nên mình nghĩ sẽ cách ly các led bằng opto và dùng như vậy có hợp lý không?

    do mình hiện thị cả thứ, ngày,tháng,năm,giờ,phút,giây ... và thêm hiển thị nhiệt độ nữa vậy mình định dùng phương pháp chốt kết hợp giải mã phần cứng để hiển thị led chứ ko dùng phương pháp quét (vì số lượng led hơi nhiều sợ bị mờ và nhòe). anh em có ý kiến nào không???

    anh em có ý tưởng nào về phương pháp hiển thị led của mình có sơ đồ gợi ý nào không có thể pót lên cho mình tham khảo? (số lượng led 7 dự định hiển thị khoảng 17 con led 7 đoạn)

    cám ơn các bạn đã theo dõi, chân thành cảm ơn!!

  • #2
    ds12887 có nguồn pin nuôi IC sẵn bên trong.
    Con này truyền nhận dữ liệu dạng song song nên cũng tương đối dễ lt
    Tuy nhiên chính xác hay ko thì cũng tùy theo hàng
    Và pin nuôi cũng vậy.thường là ko giữ được nhiều ngày nếu ko cấp điện(hàng dõm)
    Tốt nhất vẫn phải dùng các nút nhấn điều chỉnh dự phòng.
    Nếu nguồn 5v đủ mạnh thì led vẫn sáng rõ.
    Nguồn chênh lệch nhau thì bắt buột phải dùng opto rồi.
    Chúc vui

    Comment


    • #3
      Nguyên văn bởi tc8051 Xem bài viết
      Nếu nguồn 5v đủ mạnh thì led vẫn sáng rõ.
      Nguồn chênh lệch nhau thì bắt buột phải dùng opto rồi.
      Chúc vui
      thanks!!!
      ah! cho mình hỏi cái !! nếu led 7 đoạn loại 2,5 in thì mình điện áp 5v có thể cấp sáng rõ không? nếu mình dùng vdk>>>opto >>>74ls47 giải mã >>> 74hc573 (chốt data)>>>A1015 kéo led. mình dùng phương pháp chốt!!!
      chúc zui!!^^

      Comment


      • #4
        Bạn dùng phương pháp gì ko quan trọng(nếu đúng)và cho kết quả đúng
        Nguồn 5V vẫn sáng vô tư.

        Comment


        • #5
          cám ơn bạn về góp ý!!
          vậy 5v vẫn có thể sáng những con led to! ok!! cái này thì ổn rồi! ah mình đã tìm được cách hiện thị nhiều led rồi không dùng thằng 74573 để chốt nữa vì số chân nhiều quá 1 con led tốn 1 chân chọn led.. mình nghiên cứu và dùng thằng 74hc595 (thanh ghi dịch) để xuất led, dùng cách này thì chỉ tốn 3 chân điều khiển thôi(data, clock, latch). mình thấy cũng ổn
          nhưng khi mô phỏng bằng proteus thì mình thấy tín hiệu ra từng con led nó đẩy dồn ra sau,vd số con led thứ 1 sẽ dịch ra con 2 và con 2 dịch ra con 4 như vậy có lúc con led của mình hiện số không đúng... cho nên không bít thực tế nó có bị nhòe không??

          có ai làm thực tế rồi !! cho mình bít mình làm mạch luôn!!

          Comment


          • #6
            ah còn câu hỏi "RTC DS1307 và 12B887 cái nào hoạt động chính xác hơn???" ai có thể trả lời giúp mình với !
            cám ơn thật nhiều!

            Comment


            • #7
              Sao lai ko đúng?
              Tín hiệu chỉ dịch đi và xuất ra khi được phép của các chân điều khiển.
              Con này cũng đễ sử dụng
              Nhưng ko biết tai sao mà khi dùng mức 1 kích trực tiếp thì nó kích ko nổi.
              Khi đưa tay lại gần thì nó mới kích nổi?
              Vẫn chưa tìm được nguyên nhân?????????????????????

              Comment


              • #8
                Nguyên văn bởi tc8051 Xem bài viết
                Sao lai ko đúng?
                Tín hiệu chỉ dịch đi và xuất ra khi được phép của các chân điều khiển.
                Vẫn chưa tìm được nguyên nhân?????????????????????

                như bạn nói vậy!! chắc do mình chưa dùng chân cho phép ngõ ra /OE ??? cho nên có tình trạng trên?? mình hiểu như vậy đúng không??

                mình xuất led theo chu kì 1 giây 1 lần
                vậy bây giờ trước tiên mình cho tất cả các /OE = 1 rồi cho nó dịch cho con nào đúng chỗ con đó(trong lúc dich tất cả các con led không sáng) rồi cho /OE = 0 !!! như vậy đúng không ta ?????????????
                chắc phải làm mạch thật lun quá!
                cám ơn bạn nhìu! thanks
                Last edited by comando; 22-02-2009, 01:17.

                Comment


                • #9
                  thằng 74hc595 là dùng để dịch dữ liệu, khi nó dịch hết mã bác cần hiển thị lúc đó bác cấp 1 xung vào chân 12 của nó để nó xuất dữ liệu ra led7 thanh, em làm suốt ngày với thang 595 này, nó được em lạm dụng dùng nhiều lắm

                  Comment


                  • #10
                    Nguồn 5V vẫn sáng vô tư
                    Với loại Led 7 thanh 2.5 inch thì phải sử dụng nguồn 12V mới sáng rõ
                    Bác sử dụng 74HC595 để hiển thị Led:
                    VDK >> 74HC595 >> 74HC595 >> 74HC595
                    A1015 A1015 A1015
                    Led 7 Led 7 Led 7

                    Với cách này chỉ cần khi nào dữ liệu thay đổi thì mới cần dịch dữ liệu ra.

                    vậy bây giờ trước tiên mình cho tất cả các /OE = 1 rồi cho nó dịch cho con nào đúng chỗ con đó(trong lúc dich tất cả các con led không sáng) rồi cho /OE = 0
                    hoặc bác có thể nối chân /OE với đất cũng OK.
                    ----------------------
                    Bể học là mênh mông!

                    Comment


                    • #11
                      OH yeah!!Ok ! đã tét thành công !!!
                      cám ơn các bác thật nhiều!!!!

                      thật là vất vả! àh do mình làm phương pháp chốt nên tốn nhiều ic 74595 quá (1 74595 cho 1 con led 7 đoạn) ! để giảm số lượng thì không bít dùng 74595 quét như thế nào zậy các pác? mìhh có khoảng mười mấy con led 7 đoạn lận? ko bít cách này có khả thi không ta?

                      Comment


                      • #12
                        Chắc có đấy.
                        Chia ra vài nhóm led vừa quét vừa chốt.

                        Comment


                        • #13
                          trích :thật là vất vả! àh do mình làm phương pháp chốt nên tốn nhiều ic 74595 quá (1 74595 cho 1 con led 7 đoạn) ! để giảm số lượng thì không bít dùng 74595 quét như thế nào zậy các pác? mìhh có khoảng mười mấy con led 7 đoạn lận? ko bít cách này có khả thi không ta?


                          Bạn có bao nhiêu led 11hay19con...?
                          ... tại sao bạn không sử dụng 74hc595 để chọn led luôn cho nó ít tốn chân chỉ cần 4 chân vdk bạn có thể quet bao nhiêu con led là tùy ở sự xiêng năng của bạn..1em 74595 bạn được 8led ....bạn lưu ý là 74 595 hút dòng vô(0) mạnh hơn đẩy ra(1) nhé ....
                          chào bạn ...

                          Comment


                          • #14
                            em đang làm đồ án đồng hồ lịch vạn niên dùng pic6F877A hiển thị led 7seg nhưng viết code gặp vấn đề mô pổng không đọc được ds1307 mong các cao thủ về pic chỉ bảo em với. em cần rất gấp xin cảm ơn trước. đây là đoạn code của em.
                            (dùng led catot chung phương pháp quét led dung npn).
                            #include <16F877A.h>
                            #include <def_877a.h>
                            #fuses NOPROTECT,HS,NOWDT,NOLVP,NODEBUG,NOPUT
                            #use delay(clock =20000000)
                            #use i2c(master,fast,sda=PIN_C4,scl=PIN_C3)
                            unsigned char sec,min,hour,day,date,month,year,set,luu;
                            unsigned char day1,day2,month1,month2,year1,year2,hour1,hour2,mi n1,min2,sec1,sec2;
                            int led[10]={0b00111111,0b00000110,0b01011011,0b01001111,0b01 100110,0b01101101,0b01111101,0b00000111,0b01111111 ,0b01101111};

                            void khoi_tao()
                            {
                            SET_TRIS_B(0x00);
                            //SET_TRIS_C(0x00);
                            SET_TRIS_D(0x00);
                            }
                            void set_DS1307()
                            {
                            I2C_Start();
                            I2C_Write(0xD0);
                            I2C_Write(0x00);
                            I2C_Write(0x00);
                            I2C_Write(0x00);
                            I2C_Write(0x07);
                            I2C_Write(0x12);
                            I2C_Write(0x06);
                            I2C_Write(0x19);
                            I2C_Write(0x07);
                            I2C_Write(0x08);
                            I2C_Write(0x90);

                            I2C_Write(0x55);
                            I2C_Stop();
                            }
                            void READ_DS()
                            {
                            I2C_Start();
                            I2C_Write(0xD0);
                            I2C_Write(0x00);
                            I2C_Start();
                            I2C_Write(0xD1);
                            sec = I2C_Read(1);
                            min = I2C_Read(1);
                            hour = I2C_Read(1);
                            day = I2C_Read(1);
                            date = I2C_Read(1);
                            month = I2C_Read(1);
                            year = I2C_Read(1);
                            set = I2C_Read(1);
                            luu = I2C_Read(0);
                            I2C_Stop();
                            }
                            void XULY_DS()
                            {
                            sec1 = sec & 0x0F;
                            sec2 = (sec & 0xF0)>>4;
                            min1 = min & 0x0F;
                            min2 = (min & 0xF0)>>4;
                            hour1 = hour & 0x0F;
                            hour2 = (hour & 0xF0)>>4;
                            date = date & 0x0F;
                            day1 = day & 0x0F ;
                            day2 = (day & 0xF0)>>4;
                            month1 = month & 0x0F ;
                            month2 = (month & 0xF0)>>4;
                            year1 = year & 0x0F ;
                            year2 = (year & 0xF0)>>4;
                            }
                            void Dislays()
                            {
                            PORTD = led[sec1] ;Pin_C0==1 ; delay_ms(850); Pin_C6==0 ;
                            PORTD = led[sec2] ;Pin_C5==1 ; delay_ms(850); Pin_C5==0 ;
                            PORTD = led[min1] ;Pin_C2==1 ; delay_ms(850); Pin_C2==0 ;
                            PORTD = led[min2] ;Pin_C1==1 ; delay_ms(850); Pin_C1==0 ;
                            PORTD = led[hour1] ;Pin_B7==1 ; delay_ms(850); Pin_B7==0 ;
                            PORTD = led[hour2] ;Pin_B0==1 ; delay_ms(850); Pin_B0==0 ;
                            PORTD = led[date] ;Pin_B2==1 ; delay_ms(850); Pin_B2==0 ;
                            PORTD = led[day1] ;Pin_B1==1 ; delay_ms(850); Pin_B1==0 ;
                            PORTD = led[day2] ;Pin_B4==1 ; delay_ms(850); Pin_B4==0 ;
                            PORTD = led[month1];Pin_B3==1 ; delay_ms(850); Pin_B3==0 ;
                            PORTD = led[month2];Pin_B6==1 ; delay_ms(850); Pin_B6==0 ;
                            PORTD = led[year1] ;Pin_B5==1 ; delay_ms(850); Pin_B5==0 ;
                            }

                            void main()
                            {
                            set_DS1307();
                            READ_DS();
                            XULY_DS();


                            khoi_tao();
                            while(1)
                            {
                            Dislays();
                            }
                            }

                            Comment


                            • #15
                              Nguyên văn bởi comando Xem bài viết
                              đang phân vân chọn lựa giữa 2 con IC này anh em nào bít con nào hoạt động chính xác hơn ??? anh em ai bít thì có thể chỉ dùm ! cảm ơn nhìu.
                              cho mình bít ưu nhược điểm của 2 con này được không???, về khả năng lập trình thì không thành vấn đề !!

                              Ah ! mình hỏi thêm do mình dùng các led 7 đoạn loại lớn 2,5 in dùng điện áp 12v loại A chung, nên mình nghĩ sẽ cách ly các led bằng opto và dùng như vậy có hợp lý không?

                              do mình hiện thị cả thứ, ngày,tháng,năm,giờ,phút,giây ... và thêm hiển thị nhiệt độ nữa vậy mình định dùng phương pháp chốt kết hợp giải mã phần cứng để hiển thị led chứ ko dùng phương pháp quét (vì số lượng led hơi nhiều sợ bị mờ và nhòe). anh em có ý kiến nào không???

                              anh em có ý tưởng nào về phương pháp hiển thị led của mình có sơ đồ gợi ý nào không có thể pót lên cho mình tham khảo? (số lượng led 7 dự định hiển thị khoảng 17 con led 7 đoạn)

                              cám ơn các bạn đã theo dõi, chân thành cảm ơn!!
                              Việc quét led thì không phải lo đâu, tớ cũng làm vậy mà quét tới 21 con led 7 thanh, (cả nhiệt độ, âm lịch nữa)với 2 con led đơn nháy theo nhịp giây mà vẫn chạy tốt.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X