Thông báo

Collapse
No announcement yet.

giúp em phần nút bấm với động cơ của vi điểu khiển 8051 sử sử dụng ASM với ạ :'(

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

  • giúp em phần nút bấm với động cơ của vi điểu khiển 8051 sử sử dụng ASM với ạ :'(

    chả là sắp kiểm tra mà em vẫn chưa làm đc bài mà đang bế tắc nên đăng lên đây cầu cíu các bác. đề bài là thiết kế mạch động cơ với nút bấm. bấm nút thuận thì động cơ quay theo chiều kim đồng hồ, bấm nút ngược thì động cơ quay ngược chiều kim đồng hồ, bấm nút dừng thì động cơ dừng lại. Click image for larger version

Name:	Screenshot (292).png
Views:	2362
Size:	163.0 KB
ID:	1717149
    sơ đồ mạch đây ạ. rất chân thành cảm ơn các bác

  • #2
    [QUOTE=acquysoma91;n1717148]chả là sắp kiểm tra mà em vẫn chưa làm đc bài mà đang bế tắc nên đăng lên đây cầu cíu các bác. đề bài là thiết kế mạch động cơ với nút bấm. bấm nút thuận thì động cơ quay theo chiều kim đồng hồ, bấm nút ngược thì động cơ quay ngược chiều kim đồng hồ, bấm nút dừng thì động cơ dừng lại. Click image for larger version

Name:	Screenshot (292).png
Views:	2362
Size:	163.0 KB
ID:	1717149
    sơ đồ mạch đây ạ. rất chân thành cảm ơn các bác [/QUOTE

    Bạn đăng sơ đồ mạch(thiết kế cũng tàm tạm) nhưng không thấy code!?

    Comment


    • #3
      [QUOTE=davidcopy;n1717150]
      Nguyên văn bởi acquysoma91 Xem bài viết
      chả là sắp kiểm tra mà em vẫn chưa làm đc bài mà đang bế tắc nên đăng lên đây cầu cíu các bác. đề bài là thiết kế mạch động cơ với nút bấm. bấm nút thuận thì động cơ quay theo chiều kim đồng hồ, bấm nút ngược thì động cơ quay ngược chiều kim đồng hồ, bấm nút dừng thì động cơ dừng lại. Click image for larger version

Name:	Screenshot (292).png
Views:	2362
Size:	163.0 KB
ID:	1717149
      sơ đồ mạch đây ạ. rất chân thành cảm ơn các bác [/QUOTE

      Bạn đăng sơ đồ mạch(thiết kế cũng tàm tạm) nhưng không thấy code!?
      đoạn code em mới viết đc cho nó quay thôi ạ chứ chưa biết làm như nào cho nó bấm được nút. đoạn code của e đây ạ
      org 0000h
      ljmp main
      org 200h
      main:
      setb p2.0
      clr p2.1
      main1:
      setb p2.2
      lcall wait1s
      clr p2.2
      lcall wait1s
      main2:
      clr P2.0
      setb P2.1
      clr P2.2
      lcall wait1s
      setb P2.2
      lcall wait1s
      wait1s:
      mov R3,#45
      mov TMOD,#01H
      clr TR0
      clr TF0
      here3:
      mov TH0,#63H
      mov TL0,#0BFH
      setb TR0
      here4:
      jnb TF0,here4
      clr TR0
      clr TF0
      djnz R3,here3
      ret
      end

      Comment


      • #4
        [QUOTE=acquysoma91;n1717153]
        Nguyên văn bởi davidcopy Xem bài viết

        đoạn code em mới viết đc cho nó quay thôi ạ chứ chưa biết làm như nào cho nó bấm được nút. đoạn code của e đây ạ
        org 0000h
        ljmp main
        org 200h
        main:
        setb p2.0
        clr p2.1
        main1:
        setb p2.2
        lcall wait1s
        clr p2.2
        lcall wait1s
        main2:
        clr P2.0
        setb P2.1
        clr P2.2
        lcall wait1s
        setb P2.2
        lcall wait1s
        wait1s:
        mov R3,#45
        mov TMOD,#01H
        clr TR0
        clr TF0
        here3:
        mov TH0,#63H
        mov TL0,#0BFH
        setb TR0
        here4:
        jnb TF0,here4
        clr TR0
        clr TF0
        djnz R3,here3
        ret
        end
        Bạn thêm 1 biến trạng thái tên là CHAY hay RUN gì đó
        Nhấn nút dừng thì CHAY = 0
        Nhấn nút thuận thì CHAY = 1
        Nhấn nút ngược thi CHAY = 2
        Trong chương trình chính thì bạn kiểm tra nút nhấn, sau đó gọi chương trình tương ứng với phím nhấn.
        Bạn phải delay sau khi đọc nút nhấn để chống nhiễu khi nhấn.

        Comment


        • #5
          [QUOTE=davidcopy;n1717165]
          Nguyên văn bởi acquysoma91 Xem bài viết

          Bạn thêm 1 biến trạng thái tên là CHAY hay RUN gì đó
          Nhấn nút dừng thì CHAY = 0
          Nhấn nút thuận thì CHAY = 1
          Nhấn nút ngược thi CHAY = 2
          Trong chương trình chính thì bạn kiểm tra nút nhấn, sau đó gọi chương trình tương ứng với phím nhấn.
          Bạn phải delay sau khi đọc nút nhấn để chống nhiễu khi nhấn.
          bác chỉ tận tình hơn đc ko ạ, em bị mù tịt phần phím bấm này :'(

          Comment


          • #6
            [QUOTE=acquysoma91;n1717166]
            Nguyên văn bởi davidcopy Xem bài viết

            bác chỉ tận tình hơn đc ko ạ, em bị mù tịt phần phím bấm này :'(
            Bạn thiết kế thiếu điện trở nối gnd ở phím nhấn.
            Khi có điện trở thì chân P1.0->1.2 bình thường ở mức 0, nếu có nhấn thì ở mức 1.
            Bạn viết chương trình chính đọc tuần tự và liên tục trạng thái các chân P1.0 -> 1.2, nếu có nhấn thì thực hiện các chương trình con: DUNG, CHAY XUOI, CHAY NGUOC tương ứng.

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X