Thông báo

Collapse
No announcement yet.

đồng hồ số hiển thị led 7 thanh

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

  • #61
    Bác pctcom sao em vẽ lại sơ đồ mô phỏng cho cái mạch DS12887 ơ trang 2 và lấy code đó nap vao nó không chạy đúng là sao ạ. hiển thị toàn số 85 thôi. không thấy thời gian chạy gì cả. Bác xem hộ em cái
    Thanks bac

    file mô phỏng proteus :
    http://www.mediafire.com/?b3jlb3he4dcovgk

    Comment


    • #62
      Nguyên văn bởi huutoan_ss Xem bài viết
      Còn nữa: em đọc chương trình sao không thấy chỗ nào cài thời gian cho ds1307 chỉ thấy đọc dữ liệu từ nó ra rồi hiển thị lên led thôi vậy.
      HI, vậy là bạn không đọc kỹ code rồi.

      Phần set thời gian cho ds1307 nằm trong hàm "SCAN_KEY", trong đó phím SET sẽ tăng biến "FLAG_SET" thêm 1 vậy ta có:

      - FLAG_SET = 0 => không chỉnh.
      - FLAG_SET = 1 => chỉnh phút, bằng 2 phím Up - Down
      - FLAG_SET = 2 => chỉnh giờ, bằng 2 phím Up - Down
      - FLAG_SET = 3 => cất giá trị thời gian đã set vào trong DS1307 và cho "FLAG_SET" = 0

      Và đây là đoạn code cất giá trị thời gian đã set vào DS1307:

      ;==========
      MOV ADD_LOW,#01H
      MOV DATA_DS,PHUT
      LCALL WRITE_BYTE
      ;==========

      ;==========
      MOV ADD_LOW,#02H
      MOV DATA_DS,GIO
      LCALL WRITE_BYTE
      ;==========

      Rất đơn giản phải không bạn.
      PCT COMPUTER
      (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

      Comment


      • #63
        Nguyên văn bởi huutoan_ss Xem bài viết
        Bác pctcom sao em vẽ lại sơ đồ mô phỏng cho cái mạch DS12887 ơ trang 2 và lấy code đó nap vao nó không chạy đúng là sao ạ. hiển thị toàn số 85 thôi. không thấy thời gian chạy gì cả. Bác xem hộ em cái
        Thanks bac

        file mô phỏng proteus :
        http://www.mediafire.com/?b3jlb3he4dcovgk
        Lỗi này do bạn vẽ không đúng trong Proteus, bạn vào đây mà tải về nhé:

        DS12887.rar
        Last edited by pctcom; 23-10-2010, 02:10.
        PCT COMPUTER
        (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

        Comment


        • #64
          cảm ơn anh pctcom rất nhiều, đề tài này rất hay và bổ ích đây chắc chắn là tài liệu hay cho mọi người tham khảo và học tập

          Comment


          • #65
            bác ptom ơi,em làm cái đồng hồ số dùng code của bác nhưng sao nó không chạy
            bác xem lại giùm em với:http://www.mediafire.com/myfiles.php

            Comment


            • #66
              Nguyên văn bởi cauloi Xem bài viết
              bác ptom ơi,em làm cái đồng hồ số dùng code của bác nhưng sao nó không chạy
              bác xem lại giùm em với:http://www.mediafire.com/myfiles.php
              - Chắc là chẳng có bác ptom nào để trả lời bạn?
              - file của bạn bên mediafire không mở được.
              - bạn nên đọc kỹ bài tử trang đầu tiên. Nếu vẫn không xử lý được thì vui lòng mô tả lỗi mà bạn đang gặp phải nhé.
              PCT COMPUTER
              (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

              Comment


              • #67
                a' em gửi nhầm file:http://www.mediafire.com/?dw3bcqxj9y6vwxv
                thì em làm rồi nhưng nó cứ chạy lung tung cả lên.hic

                Comment


                • #68
                  Nguyên văn bởi cauloi Xem bài viết
                  a' em gửi nhầm file:http://www.mediafire.com/?dw3bcqxj9y6vwxv
                  thì em làm rồi nhưng nó cứ chạy lung tung cả lên.hic
                  Tại bạn vẽ lung tung nên mạch nó phải chạy như thế thôiiiiiiiiiiiiiiiiiiiiiiiii. Hi tôi đùa 1 chút với bạn thôi.

                  Khi vẽ trong phần mềm giả lập, nhất là giả lập mạch VXL bạn nên vẽ mạch càng đơn giản càng tốt miễn là nó hoạt động đúng theo ý đồ mà bạn cần thiết kế. Sau đó mới viết CT và chạy thử.

                  Sau khi phần code hoàn tất bạn mới thiết kế phần mạch thực tế theo nguyên lý của mạch mà bạn đã giả lập. Tất nhiên khi thiết kế mạch thật thì bạn phải là người có kinh nghiệm để làm mạch chạy tốt nhất.
                  PCT COMPUTER
                  (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

                  Comment


                  • #69
                    anh ơi pctcom ơi cho em hỏi, em muốn chuyển hai số chạy Giây thành hai chấm ở giữa giờ và phút được chứ anh nhỉ, em muốn cho nó nháy theo giây thì làm sao anh ? có cần thay đổi trong lệnh không và nếu thay đổi sẽ thay đổi chỗ nào ?

                    Comment


                    • #70
                      Anh cho em hỏi chut, e tưởng chỉ có cổng P0 khi làm cổng vào ra dữ liểu mới có trở kéo lên nguồn chứ nhỉ sao khi nối với DS ma cổng P1 cũng được nối trở kéo lên nguồn. nó có tác dụng gì vậy anh.

                      Comment


                      • #71
                        Nguyên văn bởi nguyenbau Xem bài viết
                        anh ơi pctcom ơi cho em hỏi, em muốn chuyển hai số chạy Giây thành hai chấm ở giữa giờ và phút được chứ anh nhỉ, em muốn cho nó nháy theo giây thì làm sao anh ? có cần thay đổi trong lệnh không và nếu thay đổi sẽ thay đổi chỗ nào ?
                        Bạn sử dụng mạch nào vậy?

                        Nếu dùng mạch DS1307, bạn có thể sử dụng chân số 7 của DS1307 để điểu khiển led 2 chấm.

                        đoạn code sau được thêm và đầu CT trước vòng lặp "LOOP_HIEN_THI:"

                        ;==========
                        SQW_CONTROL_1HZ:
                        MOV ADD_LOW,#07H ;dia chi Set SWQ
                        MOV DATA_DS,#90H ; 1Hz
                        LCALL WRITE_BYTE
                        ;==========
                        PCT COMPUTER
                        (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

                        Comment


                        • #72
                          Nguyên văn bởi huutoan_ss Xem bài viết
                          Anh cho em hỏi chut, e tưởng chỉ có cổng P0 khi làm cổng vào ra dữ liểu mới có trở kéo lên nguồn chứ nhỉ sao khi nối với DS ma cổng P1 cũng được nối trở kéo lên nguồn. nó có tác dụng gì vậy anh.
                          Bạn thử không gắn điện trở kéo lên xem, Bạn sẽ thấy tác dụng của nó liền
                          PCT COMPUTER
                          (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

                          Comment


                          • #73
                            bác ptom ơi,cái timer 0 của bác là 1 bộ tạo trễ khoảng 20ms,nhưng em không hiểu thời gian truy câp ds1307 là như thế nào,bởi vì theo em thấy trung bình 1 lệnh là 1us nhưng chưa đủ 20ms thì đã gọi ''hàm hiển thị'',lúc đó cũng chưa ''tách số'',vì muốn tách số thì phải có ngắt timer 0,mà ngắt timer 0 thì phải 20ms mới có,thì làm sao xuất ra led được bác,bác giải thích giùm em chỗ này,thanks bác

                            Comment


                            • #74
                              Nguyên văn bởi cauloi Xem bài viết
                              bác ptom ơi,cái timer 0 của bác là 1 bộ tạo trễ khoảng 20ms,nhưng em không hiểu thời gian truy câp ds1307 là như thế nào,bởi vì theo em thấy trung bình 1 lệnh là 1us nhưng chưa đủ 20ms thì đã gọi ''hàm hiển thị'',lúc đó cũng chưa ''tách số'',vì muốn tách số thì phải có ngắt timer 0,mà ngắt timer 0 thì phải 20ms mới có,thì làm sao xuất ra led được bác,bác giải thích giùm em chỗ này,thanks bác

                              Chương trình của Ds1307 sau khi thực hiện các lệnh khởi tạo thì sẽ chỉ còn hoạt động trong vòng lập chính là "LOOP_HIEN_THI:"
                              vòng lập này sẽ liên tục gọi hàm "INIT_PORT" để đọc giá trị thời gian từ DS1307 rồi cất vào các biến Giờ - Phút - Giây tương ứng.
                              Trong 3 biến này thì "Giây" là có giá trị thay đổi nhanh nhất so với các giá trị còn lại, và đương nhiên thời gian để nó thay đổi là 1s.

                              Việc Tôi dùng ngắt để định thời gian tách số khoảng 10ms so với sự thay đổi của biến giây (1000ms/10ms) là rất nhanh rồi. Với sai số hiển thị đưới 10ms này mắt người không thể nào phát hiện được.

                              Vậy tại sao tôi không tách số ngay sau khị đọc biến thời gian từ DS1307? Lý do là vì ngoài việc "tách số" của các biến lấy từ DS1307 ta còn phải "tách số" khi tăng hoặc giảm giá trị thời gian trong hàm "ScanKey" Đó là lý do thứ hai tôi dùng ngắt Time để thực hiện việc tách số.

                              Thực ra "NGAT_TIME" tôi viết không chỉ dùng để "tách số". Nếu bạn đọc kỹ bạn sẽ thấy nó còn làm 1 số việc khác nữa

                              (Xin vui lòng viết đúng tên nick của người khác nhé, nếu không lần sau Tôi "Giận" sẽ không trả lời bạn nữa đâu. hi... )
                              Last edited by pctcom; 27-10-2010, 00:41.
                              PCT COMPUTER
                              (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

                              Comment


                              • #75
                                Theo yêu cầu của 1 số bạn tôi gởi phần công xuất led dùng nhiều led rời thay thế led 7 đoạn .

                                Tuy nhiên để mạch chạy tốt với code đã up lên ở trên bạn phải sửa lại bảng mã xuất Led trong ASM từ tác đông mức thấp thành tác động mức cao.

                                Tùy theo điện thế bạn cấp cho phần công xuất, ta có thể nối tiếp 1 hay nhiều led.



                                Chú ý: R7, R8 trong mạch sẽ phải nối vào nguồn 5V cấp cho VXL trong trường hợp nguồn cấp cho phần công xuất led lớn hơn 5V.
                                Last edited by pctcom; 27-10-2010, 11:50.
                                PCT COMPUTER
                                (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X