Thông báo

Collapse
No announcement yet.

Xin Tài Liệu Và Hướng Dẫn Viết Code Cho 8051

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

  • #61
    mấy nay em bận thực hành môn ở trường nên không có thời gian học.
    các bác giúp em hiểu cái này với ạ.
    trong 8051 thì có 32 byte dành cho các thanh ghi. 32 byte ấy đc chia thành 4 băng thanh ghi. mỗi băng thanh ghi có 8 thanh ghi, từ R0 đến R7.
    vậy khi mình có 1 câu lệnh chẳng hạn như MOV R0,#10H. thì cái giá trị 10H ấy được lưu vào R0, nhưng là R0 của thanh ghi nào, trong băng nào ạ?
    nếu em hiểu sai vấn đề thì các bác chỉ cách hiểu đúng phần này em với.... cảm ơn đã xem ^^

    Comment


    • #62
      Nguyên văn bởi ThuyLinh1993 Xem bài viết
      mấy nay em bận thực hành môn ở trường nên không có thời gian học.
      các bác giúp em hiểu cái này với ạ.
      trong 8051 thì có 32 byte dành cho các thanh ghi. 32 byte ấy đc chia thành 4 băng thanh ghi. mỗi băng thanh ghi có 8 thanh ghi, từ R0 đến R7.
      vậy khi mình có 1 câu lệnh chẳng hạn như MOV R0,#10H. thì cái giá trị 10H ấy được lưu vào R0, nhưng là R0 của thanh ghi nào, trong băng nào ạ?
      nếu em hiểu sai vấn đề thì các bác chỉ cách hiểu đúng phần này em với.... cảm ơn đã xem ^^
      Theo mình hiểu thì nó mặc định sẽ lưu vào băng 0

      Comment


      • #63
        Nguyên văn bởi liger21 Xem bài viết
        Theo mình hiểu thì nó mặc định sẽ lưu vào băng 0
        ok bác. em rất hay có cái kiểu đi hỏi xong rồi. ng ta chưa kịp trả lời thì lại tìm ra nhớ. vẫn cảm ơn bác... ^^
        có gì em hỏi vẫn trả lời ấy nhé ^^

        Comment


        • #64
          Nguyên văn bởi liger21 Xem bài viết
          Theo mình hiểu thì nó mặc định sẽ lưu vào băng 0
          mà bác biết cấu tạo 1 thanh ghi vs 1 ô nhớ nó như nào ko?

          Comment


          • #65
            Nguyên văn bởi ThuyLinh1993 Xem bài viết
            mà bác biết cấu tạo 1 thanh ghi vs 1 ô nhớ nó như nào ko?
            Mình cũng đang học như bạn mà.đây là những gì mình hiểu thôi chứ chưa chắc nó là đúng.coi như 2 đứa đang học trao đổi với nhau nhé
            Một thanh ghi thường gồm có 8 bit các bit được xắp xếp từ cao -> thấp.ngoài ra còn có thanh ghi 16 bit như DPTR và PC thì nó sẽ được chia làm 2 thanh ghi 8 bit
            Last edited by liger21; 11-10-2013, 01:44.

            Comment


            • #66
              Nguyên văn bởi liger21 Xem bài viết
              Mình cũng đang học như bạn mà.đây là những gì mình hiểu thôi chứ chưa chắc nó là đúng.coi như 2 đứa đang học trao đổi với nhau nhé
              Một thanh ghi thường gồm có 8 bit các bit được xắp xếp từ cao -> thấp.ngoài ra còn có thanh ghi 16 bit như DPTR và PC thì nó sẽ được chia làm 2 thanh ghi 8 bit
              Ok. Cái đó chuẩn rồi bác ạ. Nhưng em muốn hỏi cái cái cấu tạo vật lý of nó ấy cơ ^^

              Comment


              • #67
                các bác xem em đoạn này sai phải không. đề là xóa ACC sau đó +3 vào Acc 10 lần
                MOV A,#0
                MOV R2,#10
                back ADD R2,#3
                DJNZ R2,Again
                Mov R5,A
                em đọc đến đoạn vòng lặp, bước nhảy. nhưng em nghĩ là cái Again kia phải là back có phải không?

                Comment


                • #68
                  Nguyên văn bởi ThuyLinh1993 Xem bài viết
                  các bác xem em đoạn này sai phải không. đề là xóa ACC sau đó +3 vào Acc 10 lần
                  MOV A,#0
                  MOV R2,#10
                  back ADD R2,#3
                  DJNZ R2,Again
                  Mov R5,A
                  em đọc đến đoạn vòng lặp, bước nhảy. nhưng em nghĩ là cái Again kia phải là back có phải không?
                  MOV A,#0
                  MOV R2,#10
                  BẠCK: ADD A,#3
                  DJNZ R2,Again
                  Mov R5,A
                  Hoặc là
                  MOV A,#0
                  MOV R2,#10
                  lap: ADD A,#3
                  DJNZ R2,lap
                  Mov R5,A

                  Comment


                  • #69
                    Nguyên văn bởi liger21 Xem bài viết
                    MOV A,#0
                    MOV R2,#10
                    BẠCK: ADD A,#3
                    DJNZ R2,Again
                    Mov R5,A
                    Hoặc là
                    MOV A,#0
                    MOV R2,#10
                    lap: ADD A,#3
                    DJNZ R2,lap
                    Mov R5,A
                    sao lại vừa back vừa again. tưởng phải cùng nhãn chứ

                    Comment


                    • #70
                      Nguyên văn bởi ThuyLinh1993 Xem bài viết
                      sao lại vừa back vừa again. tưởng phải cùng nhãn chứ
                      Theo mình thì có thể đây là 1 chỉ thị tiền xử lý chẳng hạn có thể khi gặp xjnx xx,agian thì trình biên dịch sẽ tự tìm đoạn nhãn trước đó mà không cần mình phải đặt đúng tên. Hoặc cặp nhãn back với again là 1 cặp đi kèm tự tìm nhau (ở mức độ tiền xử lý).

                      Comment


                      • #71
                        Nguyên văn bởi liger21 Xem bài viết
                        MOV A,#0
                        MOV R2,#10
                        BẠCK: ADD A,#3
                        DJNZ R2,Again
                        Mov R5,A
                        Hoặc là
                        MOV A,#0
                        MOV R2,#10
                        lap: ADD A,#3
                        DJNZ R2,lap
                        Mov R5,A
                        Chẳng hiểu nhãn Again lấy ở đâu, nó là Back thì đúng hơn
                        DJNZ: Kiểm tra R2 xem có =0 hay ko. Nếu khác 0, thì nó nhảy đến nhãn Back -> lặp. Nếu R2=0 sẽ thực hiện câu lệnh tiếp theo -> nạp giá trị của A vào R5
                        Học Điện Tử - Learn Electronic

                        Comment


                        • #72
                          Nguyên văn bởi myth-coder Xem bài viết
                          Theo mình thì có thể đây là 1 chỉ thị tiền xử lý chẳng hạn có thể khi gặp xjnx xx,agian thì trình biên dịch sẽ tự tìm đoạn nhãn trước đó mà không cần mình phải đặt đúng tên. Hoặc cặp nhãn back với again là 1 cặp đi kèm tự tìm nhau (ở mức độ tiền xử lý).
                          Ngày trước mình có học hợp ngữ cho 80x86 lần đó mình dùng fasm thấy có jmp @b (@b b:back) ở đây không phải là 1 cái tên nhất định nào đó mà chỉ là chỉ thị tiền xử lý để trình biên dich biết hãy tìm cho nó cái nhãn nào đó gần nhất nằm phía trên của cái dòng jmp, điều cũng tuơng tự đối với @f nhưng (f:forward). Mình chỉ nghĩ nếu cái này mà không phải là gõ nhầm thì nó là chỉ thị tiền xử lý. Nhưng chắc trong trường hợp này có thể là gõ nhầm chăng.

                          Comment


                          • #73
                            Nguyên văn bởi myth-coder Xem bài viết
                            Ngày trước mình có học hợp ngữ cho 80x86 lần đó mình dùng fasm thấy có jmp @b (@b b:back) ở đây không phải là 1 cái tên nhất định nào đó mà chỉ là chỉ thị tiền xử lý để trình biên dich biết hãy tìm cho nó cái nhãn nào đó gần nhất nằm phía trên của cái dòng jmp, điều cũng tuơng tự đối với @f nhưng (f:forward). Mình chỉ nghĩ nếu cái này mà không phải là gõ nhầm thì nó là chỉ thị tiền xử lý. Nhưng chắc trong trường hợp này có thể là gõ nhầm chăng.
                            cách giải thích của bác có vẻ hợp lý. mình muốn test thử nhưng máy mình chỉ có kiel C thôi. muốn viết ASM dễ dàng thì dùng cái nào bây h hả bác

                            Comment


                            • #74
                              Nguyên văn bởi vanhai0303 Xem bài viết
                              Chẳng hiểu nhãn Again lấy ở đâu, nó là Back thì đúng hơn
                              DJNZ: Kiểm tra R2 xem có =0 hay ko. Nếu khác 0, thì nó nhảy đến nhãn Back -> lặp. Nếu R2=0 sẽ thực hiện câu lệnh tiếp theo -> nạp giá trị của A vào R5
                              thì đó là chỗ mình đang hỏi ấy. mình học qua 1 số vd thì 2 cái đấy nó phải cùng nhãn

                              Comment


                              • #75
                                Nguyên văn bởi ThuyLinh1993 Xem bài viết
                                thì đó là chỗ mình đang hỏi ấy. mình học qua 1 số vd thì 2 cái đấy nó phải cùng nhãn
                                đúng rồi bác. phải cùng nhẵn mới được. nếu không thì khi biên dịch, keil c sẽ báo lỗi ngay.
                                PS: hình như mấy post đầu, bác nghiên cứu về C mà, sao giờ chuyển qua asm?

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X