Announcement

Collapse
No announcement yet.

Xin Nhờ Các Anh Chị Kỹ Thuật Máy Tính Giúp Về Vi Điều Khiển

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Xin Nhờ Các Anh Chị Kỹ Thuật Máy Tính Giúp Về Vi Điều Khiển

    Câu hỏi của một bạn như sau:
    vấn đề là em định làm một mạch đồng hồ số hiện thị cả giờ - phút - giây. Em sử dụng con AT9c51 để làm vi điều khiển chính. Em còn sử dụng 6 IC 71HC595 để giải mã điều khiển 6 led 7 đoạn. Mọi thủ tục từ code cho đến mạch mô phỏng đều OK và đã tiến hành chạy trên proteus thành công. Nhưng một vấn đề em gặp phải đó là việc làm sao cho mạch trên chạy đúng thời gian thực. Vì em chỉ là sinh viên năm 2 quá gà cho việc tính chu kỳ máy nên em dùng hàm wait (n) như sau:
    void wait (long n)
    {
    long i;
    for(i = 0; i < n; i++)
    ;
    }
    vậy em muốn hỏi các anh chị nào có kinh nghiệm về real time cho em biết với n bằng mấy thì vòng lập trên chạy được 1 giây khi lắp mạch ngoài thực tế.
    Sau nhiêu lần thử thủ công bằng tay em được kết quả như sau:
    khi cho n = 14300 thì proteus chạy gần đúng với thời gian thực. Nhưng khi test lại cho nó chạy cùng với bộ đếm giờ của điện thoại NOKIA thì thời gian đầu hầu như là chính xác. Nhưng độ 20 phút thì mạch mô phỏng của em bị trễ 2 giây (cái này là quá lớn rồi sau làm mạch thật được).
    Nhưng em còn được biết do máy tính của chúng ta không phải là hệ thông real time chủ yếu nó dựa vào hệ điều hành và phần mềm. Vì máy tính phải chạy protues (đương nhiên là còn qua trình dịch rồi xuống hệ điều hành rồi xuống mã máy ...) nên phần mô phỏng trong proteus không chạy đúng real time.
    Và em xin hỏi thêm một câu nữa là làm sao để nhúng nhạc vào vi điều khiển (đơn âm cũng được) như dạng mấy cái đèn trung thu ý. Vì em muốn làm thêm chức năng hẹn giờ cho nó nữa.
    Vậy anh chị nào làm cái này rồi cho em xin chút ý kiến. Em xin chân thành cảm ơn!
    Thanks ace vì đã ghé toppic
    Facebook: Kiều Thắng
    Google Plus: Kiều Thắng
    Thông tin về du học các nước: Du học.


  • #2
    Originally posted by 09520281 View Post
    Câu hỏi của một bạn như sau:


    Thanks ace vì đã ghé toppic
    Chào em,

    Cách đơn giản nhất để làm Realtime clock là sử dụng IC DS1307, cái đồng hồ treo ở sảnh trường cũng sử dụng con IC này. Còn nếu em muốn tính toán trên vi điều khiển thì em buộc phải sử dụng timer để định thời. Khi em sử dụng theo cách này thì cần chú ý một số vấn đề sau:

    -- Xung clock đi vào timer
    -- Giá trị nạp ban đầu cho timer
    -- Xử lý ngắt của timer

    Ví dụ như con AT89C51 của em:

    Xung clock vào thường là 12MHz, và xung clock vào timer bằng 1/12 của xung của xung clock vào ==> xung clock vào timer là 1MHz. Nói một cách nôm na, trong 1 s nó sẽ thực hiện đếm 10^6 lần ==> em cần timer đếm từ 0-> 10^6 - 1 rồi tăng biến giây lên 1 đơn vị. Nhưng vấn đề là cho dù sử dụng timer của 8051 ở mode 16 bit thì nó cũng chỉ có thể đếm tối đa là 65536 lần. Do đó em cần tạo các khoảng delay thấp hơn (thường là 50ms), sau đó ứng với mỗi ngắt của timer em tăng một biến đếm lên 1 đơn vị, đến khi biến đếm đó có giá trị là 20 (đủ 1s) thì em tăng biến giây lên.

    Để tạo delay 50ms thì em chỉ cần lấy 65535 - 50 * 10^-3 *10^6 / 1 là ra được giá trị ban đầu cần nạp cho timer

    Cách cuối cùng, là sử dụng vòng lặp như em... nhưng không phải viết trên C mà phải viết bằng Assembly, khi đó em dựa trên số chu kì máy mà mỗi lệnh thực hiện rồi tính toán số chu kì máy cần thiết để tạo delay 1s. Khi viết bằng C, thì em phải hiểu rất rõ trình biên dịch của C... mà thực hiện tính toán, mà cái này còn phức tạp hơn là ngồi code bằng ASM.

    Ngoài ra, còn một vấn đề quan trọng nữa, đó là tần số của thạnh anh chịu ảnh hưởng của nhiệt độ, do đó khi chỉ sử dụng vi điều khiển chắc chắn sẽ có sai số. Đó là chưa kể đến việc tính toán của chúng ta chưa thật sự chính xác (sai lệch 1,2 chu kì máy) điều này cũng làm ảnh hưởng đến sự chính xác của đồng hồ. Sử dụng IC DS1307 cũng có sai số, nhưng thấp hơn so với chỉ dùng vi điều khiển

    Về vấn đề proteus, thì proteus chỉ là công cụ mô phỏng...nên độ chính xác của nó cũng rất hạn chế... khi làm cái này em nên sử dụng công cụ debug trong trình compiler của em để tính toán. Nó dựa trên các thông số chính xác hơn, dĩ nhiên nó không được trực quan cho lắm

    Còn vấn đề phát nhạc thì anh chưa làm nên cũng không dám phán bừa về cái mạch nó sẽ như thế nào. Nhưng về mặt lý thuyết, thì để tạo ra nhạc, em cần tạo ra một xung clock có tần số tương ứng (giải sử nốt đô là 16MHz ) ra chân vi điều khiển, rồi nối nó với bộ chuyển đổi analog digital và bộ khuyêch đại âm thanh. Đơn giản nhất là em lên mạng tìm mạch phát ra tiếng bip dùng vi điều khiển rồi mày mò thêm

    Thân,
    Một khẩu súng giữ hai trời Nam Bắc,
    Một dấu chân in màu đất hai miền.

    ------------------------------------------------------

    Comment


    • #3
      Em cảm ơn anh rất nhiều. Tình hình hóa còn phức tạp nhiều hơn em nghĩ. Thật sự ngày qua ngày đến trường nhìn thấy cái đồng hồ em cứ nghĩ rằng cái này quá đơn giản nhưng không ngờ khi bắt tay vào làm thì mới biết nó không hề dễ chút nào. hjhj em sẽ cố gắng!!!
      Facebook: Kiều Thắng
      Google Plus: Kiều Thắng
      Thông tin về du học các nước: Du học.

      Comment


      • #4
        Originally posted by 09520281 View Post
        Em cảm ơn anh rất nhiều. Tình hình hóa còn phức tạp nhiều hơn em nghĩ. Thật sự ngày qua ngày đến trường nhìn thấy cái đồng hồ em cứ nghĩ rằng cái này quá đơn giản nhưng không ngờ khi bắt tay vào làm thì mới biết nó không hề dễ chút nào. hjhj em sẽ cố gắng!!!
        Nói thì phức tạp thế thôi, chứ làm cũng không đến nỗi phức tạp cho lắm :-p...
        Một khẩu súng giữ hai trời Nam Bắc,
        Một dấu chân in màu đất hai miền.

        ------------------------------------------------------

        Comment


        • #5
          em rất muốn làm quen với các anh kỹ thuật máy tính khóa trên.anh nào rộng lòng cho em làm quen
          Last edited by 11520528; 11-02-2018, 23:04.

          Comment


          • #6
            Originally posted by 11520528 View Post
            em rất muốn làm quen với các anh kỹ thuật máy tính khóa trên.anh nào rộng lòng cho em làm quen thỳ liên lạc với em qua số này nhé :01634239763
            Nếu em muốn làm quen hay có vấn đề gì liên qua đến học tập thì có thể qua forum uit.edu.vn/forum/, vào box giáo vụ khoa KTMT để liên lạc chứ k3 tụi anh ít người vào 4rum này lắm.
            <----- Sometime we to hide ------>

            Comment


            • #7
              thời gian này em cứ lượn vào phòng robo là gặp "cao nhân" của CE03 ở trỏng... Trong đó toàn cao thủ hết nên em muốn hỏi gì thì cứ hỏi (à trừ ngày thứ 3 nha ^^)
              Một khẩu súng giữ hai trời Nam Bắc,
              Một dấu chân in màu đất hai miền.

              ------------------------------------------------------

              Comment


              • #8
                Originally posted by 08520229 View Post
                thời gian này em cứ lượn vào phòng robo là gặp "cao nhân" của CE03 ở trỏng... Trong đó toàn cao thủ hết nên em muốn hỏi gì thì cứ hỏi (à trừ ngày thứ 3 nha ^^)
                Và mày cũng là 1 "cao nhân" trong số đó phải không? Mà sao tao thấy mày cũng lùn mà ) Cao hơn tao có xí )
                <----- Sometime we to hide ------>

                Comment


                • #9
                  Originally posted by 08520388 View Post
                  Nếu em muốn làm quen hay có vấn đề gì liên qua đến học tập thì có thể qua forum uit.edu.vn/forum/, vào box giáo vụ khoa KTMT để liên lạc chứ k3 tụi anh ít người vào 4rum này lắm.
                  K6 hình như ko có acc trong đó đâu anh Thịnh ơi :|

                  Comment


                  • #10
                    Originally posted by 08520388 View Post
                    Và mày cũng là 1 "cao nhân" trong số đó phải không? Mà sao tao thấy mày cũng lùn mà ) Cao hơn tao có xí )
                    phòng đó hổng có biên chế của tao trong đó, tao lùn mà mài )... thôi đi chỗ khác chém gió :-p....
                    Một khẩu súng giữ hai trời Nam Bắc,
                    Một dấu chân in màu đất hai miền.

                    ------------------------------------------------------

                    Comment


                    • #11
                      Originally posted by 09520234 View Post
                      K6 hình như ko có acc trong đó đâu anh Thịnh ơi :|
                      Haiz, vậy thì cũng buồn thật, tại bên đó là box của Khoa nên ae thường vô, còn bên này nhiều khi nhặng xị cả lên, topic dễ bị down lắm )
                      <----- Sometime we to hide ------>

                      Comment

                      LHQC

                      Collapse
                      Working...
                      X