Thông báo

Collapse
No announcement yet.

Nhờ các Pro chỉ bảo cho 1 con gà như em về AVR

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

  • Nhờ các Pro chỉ bảo cho 1 con gà như em về AVR

    Em chào các anh, em tên là Trần Viết Kỷ,sv trường giao thông vận tải khoa Điện
    Kỳ này em đc học môn Vi Xử Lí.....và đc nhận bài tập lớn về AVR, em đã tìm hiểu trên mạng và đc biết diẽn đàn có nhiều chuyện gia về AVR, vậy E viết mail này mong các anh chỉ giáo 1 số kinh nghiệm và hướng dẫn em làm bài tập lớn...

    Đề tài mới của em là: thiết kế bộ đếm xung nhịp(xung vào từ 1 phím bấm:bấm 1 lần hiển thị số 1, bấm 2 lần thì hiển thị 2.....vv) và hiển thị kết quả trên LED 7 thanh......dùng AVR

    Do hôm nay bắt đầu triển khai nên thầy giáo cũng hướng dẫn bọn em đôi chút khoảng 10% còn lại 90% là chúng E tự tìm hiểu.....Do chúng em mới bước vào nghề tập tành đôi chút...đến cả AVR và 8051 bọn E chưa đc cả học và nghe bao giờ, khi giao bài tập lớn thầy bảo tự đọc tự tìm hiểu và tự viết code sao cho phù hợp....huhu..thầy bọn em dã man quá...

    Do cũng đến gần ngày báo cáo và cũng nên chuẩn bị sớm bài làm, nên E cũng đang tìm tài liệu nhưng do ko có 1 chút cơ sở nào để mà tiến hành...chính vì vậy mong đc các anh giúp đỡ và chỉ bảo hướng đi...
    Em mong sớm đc giúp đỡ....Cảm ơn các anh

  • #2
    các pro giúp Em với...
    Do cũng đến gần ngày báo cáo và cũng nên chuẩn bị sớm bài làm, nên em cũng đang tìm tài liệu nhưng do ko có 1 chút cơ sở nào để mà tiến hành( hầy giáo bắt tự tìm hiểu và thực hành chỉ nộp cho thầy bài làm)...chính vì vậy mong đc các anh giúp đỡ và chỉ bảo hướng đi...

    Comment


    • #3
      Bạn vào mấy luồng đầu có đánh dấu đó. Chịu khó đọc và xem mấ ví dụ là có thể tự làm được.
      n
      ĐT: 0986 492 489

      Tham khảo:

      Comment


      • #4
        bạn phải bấm liên tục trong thời gian bao nhiêu lâu chứ nhỉ? giống như nhắn tin ấy!!! khi bấm liên tục mới ra a b c, còn nếu dừng 1 thời gian thì lại bắt đầu từ a...

        Comment


        • #5
          Đứng về phương diện kỹ thuật mà nói, mạch của bạn dễ ợt.
          Trong bất kì VDK nào cũng có vài chân ngắt ngoài. Bạn dùng AVR thì lại càng dễ.
          Mình giả sử bạn có một cái công tắc,cái công tắc này được nối vào chân ngắt của VDK, ta đặt tên nó là P_ngắt. Khi không bấm thì tín hiệu P_ngắt được nối với 0V chẳng hạn, khi bấm thì công tắc sẽ chuyển mạch sang P_ngắt = 5V. Như vậy có sự chuyển điện áp từ 0V lên 5V và VDK nhận biết được 1 lần bấm. (bạn có thể làm nguoc lại cũng được : từ 5V->0V)
          Vấn đề phụ ở đây là công tắc là thiết bị cơ khí, khi nó chuyển mạch thì nó tạo rất nhiều xung nhiễu. Cho nên bạn cần một hàm (function) xử lí nhiễu này. Theo như kinh nghiệm của mình thì cho dù bạn có bấm nhanh đến mấy thì thời gian tiếp xúc của công tắc cũng kéo dài đến 300ms (0,3s), thời gian tồn tại các xung nhiễu vào khoảng dưới 20ms (thường là 10ms). Vậy thì bạn sẽ viết một hàm xử lí nhiễu có thuật toán như sau:
          + 1. Khi xảy ra xung thì trễ 50ms, kiểm tra tín hiệu P_ngắt, nếu nó vẫn là 5V thì cho một giá trị trung gian tg =1;ngược lại tg=0; bắt đầu một vòng lặp đợi.
          + 2. vòng lặp đợi này liên tục hỏi giá trị P_ngắt =0V hay chưa. Nếu đã =0V rồi thì tức là đã nhả phím nhấn. Lúc này kết hợp tg=1 và P_ngắt =0 ta tăng bộ đếm lên 1. Có nghĩa là lúc này đã được một lần nhấn phím và trả phím.
          => thuật toán này cho phép trường hợp bạn nhấn phím liên tục trong hàng giờ liền thì VDK cũng chỉ nhận là 1 lần nhấn (vì nó sẽ lặp đợi cho đến khi nhả phím nhấn)

          Good job!
          GTH sản xuất mạch in PCB 1 mặt:
          -phủ xanh: 40.000 đ/dm2
          -không phủ xanh: 30.000 đ/dm2
          -Cung cấp mực cảm quang để làm mạch in
          email:

          Comment


          • #6
            Phức tạp vậy sao ?
            Theo mình nghĩ cũng không nhất thiết phải dùng tới ngắt ngoài.
            Phím bấm có thể nối với bất kì chấn IO nào đó, rồi lập trình với chân đó tích cực mức 0 hay 1 thì tùy.
            Còn quét Led nên cho vào ngắt Timer để hiển thị được tốt hơn khi mạch hoạt động.
            Dùng 1 biến để đếm số lần phím được bấm, mỗi lần phím được bấm thì biến này tăng lên 1 đơn vị, sử dụng phép toán chia lấy các số hàng đơn vị, chục, trăm... sau đó cho hiển thị ra Led.
            Nếu code hay thì tùy biến code sao cho kết quả như mong muốn. Thế thôi !

            Comment


            • #7
              ngắt mà còn phức tạp thì cái gì đơn giản hả trời dùng ngắt là ok vừa nhàn vừa nhanh

              Comment


              • #8
                Ngắt AVR với người mới bắt đầu là cả vấn đề đấy !
                Sử dụng ngắt AVR tốt thì pro rồi phải không dochetdam ?

                Comment


                • #9
                  Theo mình nếu bạn chưa có kinh nghiệm gì về VDK thì nên làm từng bước.
                  1) Thí nghiệm việc xuất output cho IO của AVR (VD: cho tất mở PORT tuần tự theo thời gian) - đây là sơ khởi cho beginer
                  2) Thí nghiệm nhận input từ nút bấm, khi nhận tín hiệu (mức 0) thì cho hiển thị mấy con led đã làm ở trên
                  3) Tập làm quen với led 7 thanh và timer, cho hiện số, chữ, rùi hiện tự động đếm lên, đếm xuống...
                  4) Kết hợp những phần trên lại là kong bài tập của bạn.
                  Nghe có vẻ mất thời gian, nhưng mới bắt đầu thì nên làm từ cơ bản như vậy cho những kế hoạch sau cao hơn
                  Chúc thành công

                  Comment


                  • #10
                    @ bác gth_pcb: nếu nhấn liên tục trong hàng giờ liền mà nó chỉ nhận 1 lần ấn thì làm sao hiển thị số được ạ!
                    vấn đề là làm sao để căn được khoảng thời gian giữa các lần ấn ấy ạ! vd: số 2 thì ấn 2 cái, nhưng mà giữa 2 cái, khoảng thời gian trễ là 1s hoặc nhỏ hơn chẳng hạn, thì sau khi ấn xong, nó chờ khoảng 3s 4s gì đó, ko thấy có ấn tiếp thì nó sẽ biết là à, ko ấn nữa, vậy là số 2 rồi, số 3 số 4... cũng tương tự như thế ạ! phải làm sao để nó giống như nhắn tin bằng điện thoại ấy ạ!

                    Comment


                    • #11
                      huhuh...các pro nói thía em mới hiểu lơ mơ vì mới học về VXL, còn AVR chưa nghe bao giờ....bây giờ thầy bắt tự tìm hiểu huhu...EM đọc hơi hiểu nhưng ko biết hướng đi từ đâu...huhu. Thầy ơi sao thầy khó thế

                      Comment


                      • #12
                        EM nói lại yêu cầu nha các pro: thiết kế bộ đếm xung nhịp, xung vào từ 1 phím bấm....bấm 1 lần rồi bỏ ra(nó như là cái nut bấm bàn phím điện thoại đó)....thì nó hiển thị số 1 trên LED 7 thanh, ở đâu Em cho dưới 99 xung vì chỉ cần 2 con LED 7 thanh thôi cho dễ hiểu, ai đã làm đề tài này rùi mong shared cho E với nha.....Thank các pro chỉ giáo

                        Comment


                        • #13
                          Vậy là giống như đếm số Button thôi.
                          Cho tớ biết thông tin phần cứng đi, rảnh tớ lập trình cho

                          Comment


                          • #14
                            Nguyên văn bởi iamchenjen Xem bài viết
                            Vậy là giống như đếm số Button thôi.
                            Cho tớ biết thông tin phần cứng đi, rảnh tớ lập trình cho
                            Good!!!!!!!!!!!!
                            GTH sản xuất mạch in PCB 1 mặt:
                            -phủ xanh: 40.000 đ/dm2
                            -không phủ xanh: 30.000 đ/dm2
                            -Cung cấp mực cảm quang để làm mạch in
                            email:

                            Comment


                            • #15
                              Giạ vâng EM cảm ơn rất nhiểu: phần cứng là sử dụng vi điều khiển trên AVR, 1 cái nút bấm, và LED 7 thanh, ghép nối và mô phỏng trên Protues, thầy E bảo là dùng C rồi nạp vào AVR đó qua phần mềm mô phỏng Protues....
                              Vậy mong đc sự hướng dẫn của các anh...Anh nào gần trường Kinh Tế ko, EM qua nha học hỏi luôn...chứ ko nhìn tận mắt và chỉ bảo thì nhiều cái khó hiểu lắm...
                              Các anh giúp E với nha....thank các anh

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X