Thông báo

Collapse
No announcement yet.

Giúp em ạ. Đồng hồ LCD của em làm đếm giờ sai số lớn quá...

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

  • Giúp em ạ. Đồng hồ LCD của em làm đếm giờ sai số lớn quá...

    - Em có làm 1 cái đồng hồ LCD chạy = VDK 89C52, em canh hoài nhưng nó vẫn đếm không chính xác lắm (em mô phỏng trên Proteus 7 ạ.).
    - Không biết có cách nào cho nó đếm chính xác không ạ? Ví dụ như khi em chạy qua chương trình khác thì nó vẫn đếm 1 cách chính xác.
    - Cái sơ đồ + code mà em đưa lên chưa hoàn chỉnh ạ. Mới chỉ làm phần phút và giây thui. Mà khi em so với clock của computer thì nó cứ 1 phút đếm sai ~ 5s.

    Cám ơn Các Bác.
    _ Em hơi ngu điện tử (do em là dân Toán Tin chứ không phải dân Điện Tử ạ.).
    Attached Files

  • #2
    void dongho()
    {
    unsigned int gio=0,phut=0,giay=0;
    while(1)
    {
    //x=x+1;
    giay=giay+1;
    if(giay==60)
    phut=phut+1,giay=0;
    if(phut==60)
    gio=gio+1,phut=0;
    print_to_lcd(gio,phut,giay);
    delay(3900);
    }
    }



    tre nhieu wa ban cho it hon 1 it thoi xem sao

    Comment


    • #3
      ban nen bu them 1 khoang thoi gian ma luc ban in ra man hinh thi dong ho bi cham lai

      Comment


      • #4
        Ví dụ như em cần chạy chương trình báo thức chắng hạn, khi vào chương trình nó lại bị delay thêm, như vậy có cách nào để nó không bị chạy sai khi mình vào chương trình khác ạ ? Và còn phải làm hàm quét keyboard nữa => lại delay . Và mỗi chương trình nó lại bị delay khác nhau ạ.

        Hay là em dùng thêm 1 con 89C52 (2) chỉ dùng để đếm giờ, rồi get qua con 89C82 (1) rồi chạy chương trình.

        À, nếu như em làm 1 cái mạch y như trong hình thì có ổn không ạ ? Có cần thêm trở hay tụ gì không ạ ? Nguồn em dùng từ nguồn 5V của PSU của computer ạ.

        Cảm Ơn Bác nhiều ạ.
        Thân,

        Comment


        • #5
          Đếm giây = delay => đồng hồ "nước" hì hì , bạn chịu khó tìm hiểu modul định thời (timer) của 89S52 thì mới chính xác đuợc, OK
          Chính thức phát hành mạch điều khiển LED FireStar1
          Yêu mến tất cả anh em dientuvietnam.net

          Comment


          • #6
            bạn nên tìm hiểu ngắt nữa bạn ơi. dùng timer ko chưa đủ đâu (ko cách nào dùng timer mà chính xác được), cách chính xác là dùng mấy con realtime tham khảo ở đây http://dientuvietnam.net/forums/show...5400#post85400
            còn các đơn giản hơn để không phải tìm hiểu cách kết nối giữa 89 với realtime thì bạn tháo mấy cái đồng hồ Trung Quốc ra lấy phần xung nhịp của nó để làm nguồn xung cho đồng hô của bạn(đưa xung vào ngắt ấy)

            Comment


            • #7
              phần xung nhịp của mấy đồng hồ trung quốc hình như có phụ thuộc vào điện áp nguồn, nhưng cứ khoảng 1,5V sai lệch 0,3V là cũng chấp nhận được rồi, ko cần chính xác lắm.
              mô phỏng bằng proteus cũng đâu có chính xác với thực tế được, nhất là phần thời gian thực lại càng ko chính xác
              Phạm Minh Tuấn

              (+84) 982006467

              Comment


              • #8
                Bạn muốn đồng hồ chạy chính xác thì nên tìm hiểu thêm ngắt timer nữa bạn à! nếu chỉ chạy bằng delay thông thường thì làm sao chính xác?
                Nếu bạn có ý định làm đồng hồ đơn giản thì nên tìm hiểu về Ngắt timer. Tôi cũng đã từng làm đồng hồ kiểu này, tôi dùng ngắt timer và chạy cũng khá ổn, sai số\ tháng chỉ tính khoàng 1-2 phút thôi!

                Comment


                • #9
                  Bạn thử sử dụng ngắt timer xem (sử dụng thạch anh 11,059MHz). Bạn lấy biến sec,min,hour đưa ra hiển thị
                  Code:
                  void time ()
                  {
                     sec100++;
                     if (sec100 >= 100)       /* 100 * 10 ms = 1 s */
                     {sec100 = 0;
                      sec++;
                      if (sec >= 60)
                      {sec = 0;
                       min++;
                       if (min >= 60)
                       {min = 0;
                       hour++;
                       if (hour >= 24)hour = 0;    
                    }
                   }
                   }
                  }
                  void timer0int (void)  interrupt 1  using 1  
                  	{
                  	TH0 |= 0xdc;  // reload timer 0 with 0DC00H
                  	time();       // update realtime clock       
                  	}

                  Comment


                  • #10
                    Bạn nên thử với mạch thực tế. Đối với real time thì Proteus mô phỏng ko tốt đâu.
                    AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
                    Xem thêm tại Online Store ---> Click here
                    Mob: 0982.083.106

                    Comment


                    • #11
                      http://www.kmitl.ac.th/~kswichit%20/Ajay3/clock.htm
                      http://www.kmitl.ac.th/~kswichit%20/Ajay/clock.html
                      Đây là những link về thiết kế đồng hồ thời gianthwuc chỉ sử dụng AT89. Bạn tham khảo thiết kế,có cả code, lắp là chạy. Tôi đã làm nhiều rồi, chạy rất chính xác.
                      Chúc thành công.
                      Ethernet-RS232, PIC Webserver, RFID Reader
                      CallerID, Cảnh báo BTS, ...
                      0988006696
                      linhnc308@gmail.com
                      http://linhnc308.blogspot.com

                      Comment


                      • #12
                        Tui cũng kô hiểu tại sao nữa,trước đây cũng có chạy mô phỏng rồi làm mạch thật nhưng thời gian bị sai rất nhiều,thường là chậm vài giây nên phải sửa lại code bằng thực nghiệm,theo tôi nguyên nhân có lẽ do phần tạo dao động của thạch anh chưa được chuẩn!


                        email:
                        Giá mà mạch điện tử không có nhiễu (noise) thì mình bây giờ đã là ... đại gia

                        Comment


                        • #13
                          Nguyên văn bởi khanhduy301 Xem bài viết
                          - Em có làm 1 cái đồng hồ LCD chạy = VDK 89C52, em canh hoài nhưng nó vẫn đếm không chính xác lắm (em mô phỏng trên Proteus 7 ạ.).
                          - Không biết có cách nào cho nó đếm chính xác không ạ? Ví dụ như khi em chạy qua chương trình khác thì nó vẫn đếm 1 cách chính xác.
                          - Cái sơ đồ + code mà em đưa lên chưa hoàn chỉnh ạ. Mới chỉ làm phần phút và giây thui. Mà khi em so với clock của computer thì nó cứ 1 phút đếm sai ~ 5s.

                          Cám ơn Các Bác.
                          _ Em hơi ngu điện tử (do em là dân Toán Tin chứ không phải dân Điện Tử ạ.).
                          trời.bạn ko dùng con RTC nào sao?thế thì sai số 1 tí là đúng rồi.ít ra bạn cũng fair dùng DS12c887 hoặc DS1307 chứ!

                          Comment


                          • #14
                            Mô phỏng trên Proteus thì làm sao chính xác được? Mà tại sao không dùng thạch anh 12Mhz tính toán thời gian cho đỡ khổ, cứ phải lấy 11.0592 mà tính toán?
                            Cái đồng hồ dùng ĂT9c52 mình cũng nghiền nó nhiều, chỉ mỗi cái là mất điện là toi hết, dùng Pin cũng không ổn.
                            Dùng AT89s52 hoặc là nên dùng AT89c2051 cho nhỏ gọn và tiết kiệm điện. Việc tính toán thời gian rất khó chính xác, kể cả dùng ngắt timer đi nữa. Phải có thời gian chỉnh sửa lại mã code cho phù hợp.
                            Last edited by mrcuongcon; 15-10-2008, 12:40.

                            Comment


                            • #15
                              - Cái project đó mình chuyển sang dùng con RC DS1307 lâu rồi.
                              - Hiện nay mình đang định mode nó lại, không dùng LCD nữa mà dùng 2 led matrix 8x8 để hiển thị .

                              Thân,

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • tuyennhan
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi tuyennhan
                                Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                                Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                                hôm nay, 07:44
                              • vi van pham
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi vi van pham
                                Cám ơn những lời chúc tốt đẹp của em.

                                Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                                Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                                hôm nay, 02:00
                              • nhathung1101
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi nhathung1101
                                Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                                Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                                Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                                Hôm qua, 22:18
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                                Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                                Hôm qua, 14:51
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                                Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                                Hôm qua, 14:39
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                                Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                                Hôm qua, 14:28
                              • bqviet
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi bqviet
                                Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                                21-02-2025, 20:26
                              • mèomướp
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi mèomướp
                                Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                                21-02-2025, 12:32
                              • vi van pham
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi vi van pham
                                Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                                Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                                20-02-2025, 21:31
                              • bqviet
                                Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                                bởi bqviet
                                Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                                20-02-2025, 17:22
                              Đang tải...
                              X