Thông báo

Collapse
No announcement yet.

Hỏi về vấn đề định địa chỉ bit 8051!!

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

  • Hỏi về vấn đề định địa chỉ bit 8051!!

    Các pro cho mình hỏi tí, ví dụ mình muốn định địa chỉ bit, vd; mov p0,20h; mov p1,21h,; mov p2,22h,; mov p3,23h
    thì địa chỉ bít để mình thao tác tương ứng với p0.0 p0.1....... p3.7 là các bít nào, có thể giải thích rỏ được không, phần này mình chưa hiểu lắm, thanks các pro!
    ---------------------------------------
    *** Lam Nguyen ***
    ---------------------------------------

  • #2
    Nguyên văn bởi thanhlamng Xem bài viết
    Các pro cho mình hỏi tí, ví dụ mình muốn định địa chỉ bit, vd; mov p0,20h; mov p1,21h,; mov p2,22h,; mov p3,23h
    thì địa chỉ bít để mình thao tác tương ứng với p0.0 p0.1....... p3.7 là các bít nào, có thể giải thích rỏ được không, phần này mình chưa hiểu lắm, thanks các pro!
    mov C,20h.0
    mov P0.0,C

    Comment


    • #3
      Nguyên văn bởi thanhlamng Xem bài viết
      Các pro cho mình hỏi tí, ví dụ mình muốn định địa chỉ bit, vd; mov p0,20h; mov p1,21h,; mov p2,22h,; mov p3,23h
      thì địa chỉ bít để mình thao tác tương ứng với p0.0 p0.1....... p3.7 là các bít nào, có thể giải thích rỏ được không, phần này mình chưa hiểu lắm, thanks các pro!
      ví dụ MOV P1,#20H giả sử 20h có nội dung 55h
      >> 20h=0 1 0 1 0 1 0 1
      thứ tư các bit= bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
      >> P1 =55H =P1.7..................................P1.1,P1.0

      bạn tìm hiểu xem giả xử muốn lấy bit5 ra thì phải làm thế nào ....

      Comment


      • #4
        Nguyên văn bởi CONGMINHfs Xem bài viết
        ví dụ MOV P1,#20H giả sử 20h có nội dung 55h
        >> 20h=0 1 0 1 0 1 0 1
        thứ tư các bit= bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
        >> P1 =55H =P1.7..................................P1.1,P1.0

        bạn tìm hiểu xem giả xử muốn lấy bit5 ra thì phải làm thế nào ....
        Thực sự mình củng hơi gà mờ chuyện này, mình chưa hiểu rỏ lắm, vd ; mov p0,20h, trong đó g sử 20h có giá trị là 0ffh. thì khi mình thao tác bit p0.7..........p0.0 là nó tương ứng với bit nào vậy? để setb và clr bit .
        ---------------------------------------
        *** Lam Nguyen ***
        ---------------------------------------

        Comment


        • #5
          Nguyên văn bởi thanhlamng Xem bài viết
          Thực sự mình củng hơi gà mờ chuyện này, mình chưa hiểu rỏ lắm, vd ; mov p0,20h, trong đó g sử 20h có giá trị là 0ffh. thì khi mình thao tác bit p0.7..........p0.0 là nó tương ứng với bit nào vậy? để setb và clr bit .
          thì đây nè.
          ....20h=.1......1......1.......1......1......1.... ..1......1..=0ffh
          các bit, bit7. bit6 ...bit5..bit4..bit3...bit2..bit1..bit0
          port,....p0.7....6....p0.5.....4.......3.......2.. ...1..p0.0
          giả sử ......clr p0.7
          ...............clr p0.2
          thì lúc này p0=01111011

          Comment


          • #6
            Ý mình không phải là setb hay clr bit trực tiếp như setb p0.0 hay clr p0.0, nếu làm vậy thì cần j phải mov 20h, 0FFh, rồi mov p0,20h, mà chỉ cần mov p0,0FFh là setb va clr dc rồi. ý mình ở đây là bit p0.0 ....p0.7 nó tương ứng với ...H, ví dụ nếu p0.0 tương ứng với 10H, thi mình chỉ SETB 10h, thay cho setb p0.0, vì trạng thái của port cần lưu lại nữa, mình muốn xử lý bit như 10H, 11h....., nhưng ko biết từ p0.0--p0.7 nó tương ứng với ?h---?h ???
            ---------------------------------------
            *** Lam Nguyen ***
            ---------------------------------------

            Comment


            • #7
              Nguyên văn bởi thanhlamng Xem bài viết
              Ý mình không phải là setb hay clr bit trực tiếp như setb p0.0 hay clr p0.0, nếu làm vậy thì cần j phải mov 20h, 0FFh, rồi mov p0,20h, mà chỉ cần mov p0,0FFh là setb va clr dc rồi. ý mình ở đây là bit p0.0 ....p0.7 nó tương ứng với ...H, ví dụ nếu p0.0 tương ứng với 10H, thi mình chỉ SETB 10h, thay cho setb p0.0, vì trạng thái của port cần lưu lại nữa, mình muốn xử lý bit như 10H, 11h....., nhưng ko biết từ p0.0--p0.7 nó tương ứng với ?h---?h ???
              trong sơ đồ RAM của 89 có ghi rõ, P0 địa chỉ 80h, P1 địa chỉ 90H ,.......

              Comment


              • #8
                Bác chung68 nói đúng rồi đó.
                Cái đó thuộc về phần cứng rồi. Đọc cấu trúc Ram của 8051 sẽ biết.
                Tìm quyển sách của ĐH SPKT tp HCM là có đầy đủ
                Không có gì quý hơn độc lập tự do!

                Comment


                • #9
                  Nguyên văn bởi thanhlamng Xem bài viết
                  Ý mình không phải là setb hay clr bit trực tiếp như setb p0.0 hay clr p0.0, nếu làm vậy thì cần j phải mov 20h, 0FFh, rồi mov p0,20h, mà chỉ cần mov p0,0FFh là setb va clr dc rồi. ý mình ở đây là bit p0.0 ....p0.7 nó tương ứng với ...H, ví dụ nếu p0.0 tương ứng với 10H, thi mình chỉ SETB 10h, thay cho setb p0.0, vì trạng thái của port cần lưu lại nữa, mình muốn xử lý bit như 10H, 11h....., nhưng ko biết từ p0.0--p0.7 nó tương ứng với ?h---?h ???
                  mình chả hiểu bạn thắc mắc chổ nào....
                  ví dụ: p0 có addr byte là 80h
                  từ p0.0 đến p0.7 có addr bit từ 80h đến 87h
                  nếu bạn setb 80h thì trình dịch hiểu là bạn setb p0.0 chứ không phải p0
                  còn bạn mov 80h,#..thì trình dịch hiểu là bạn mov p0 chứ không phải p0.0...

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X