Thông báo

Collapse
No announcement yet.

Cho mình hỏi câu này hơi gà mờ xíu

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

  • Cho mình hỏi câu này hơi gà mờ xíu

    AT89C52 bộ nhớ ROM có 8Kb...Mình nạp một file chương trình nặng 20Kb có chạy được ko...(Tại mình thấy mấy cái code led trái tim trên mạng toàn hơn 20Kb thôi). Tks mọi người nhiều nhé

    Hotmail: tien168bn.utehy@hotmail.com
    Gmail: tien168bn.utehy@gmail.com

  • #2
    Nguyên văn bởi tien168bn Xem bài viết
    AT89C52 bộ nhớ ROM có 8Kb...Mình nạp một file chương trình nặng 20Kb có chạy được ko...(Tại mình thấy mấy cái code led trái tim trên mạng toàn hơn 20Kb thôi). Tks mọi người nhiều nhé
    cứ nạp vào được là chạy được, nếu mà dung lượng code lớn hơn bộ nhớ vdk thì nó sẽ báo lỗi mà không cho nạp. thường thì trình biên dịch sẽ kiểm soát chương trình mình viết với dụng lượng bộ nhớ. nếu nó lớn hơn dung lượng bộ nhớ thì khi biên dịch nó sẽ báo lỗi.

    Comment


    • #3
      Nguyên văn bởi tien168bn Xem bài viết
      AT89C52 bộ nhớ ROM có 8Kb...Mình nạp một file chương trình nặng 20Kb có chạy được ko...(Tại mình thấy mấy cái code led trái tim trên mạng toàn hơn 20Kb thôi). Tks mọi người nhiều nhé
      Hic. Bạn phải dùng "bộ nhớ Flash" thay cho ROM

      Giải pháp điện tử của bạn

      Comment


      • #4
        Nguyên văn bởi tien168bn Xem bài viết
        AT89C52 bộ nhớ ROM có 8Kb...Mình nạp một file chương trình nặng 20Kb có chạy được ko...(Tại mình thấy mấy cái code led trái tim trên mạng toàn hơn 20Kb thôi). Tks mọi người nhiều nhé
        Hơ...chỉ led cháy tim thôi làm gì nhồi ko nổi con 52. Nếu bạn rảnh, bạn thử viết 1 đoạn code cực ngắn:

        ORG 0000H
        SJMP $ ;Vòng lặp tại đây, vđk cứ nhảy tới chỗ nó..đang đứng và nhảy thế suốt (đơn giản)
        END

        Rồi biên dịch ra file hex. Với code trên chỉ có 1 lệnh duy nhất là SJMP tốn 1byte bộ nhớ con 52 (1 hay 2 gì quên rồi, nói chung là nhỏ). Sau đó bạn xem thử trên máy tính, cái file hex đó dung lượng bao nhiêu....cả ký!!... Vậy có thể hiểu là dung lượng mình đọc đc trên máy tính là dung lượng của MÁY VI TÍNH dùng để máy tính tạo ra đc cái file.hex đó, ko phải dung lượng mà bạn sẽ nhét vào vđk. Dung lượng mà con vđk sẽ nhận là nằm ở nội dung code file hex (op-code) thôi.....Giống như bụng của bạn chứa đc 2 ký thức ăn (1 lần ăn). Bạn có thùng bánh 3 ký với bánh là 1 ký, vỏ thùng 2 ký.. Bạn ăn bánh chứ đâu ăn thùng!!!... Vd thế ko hiểu mình chịu ớ!

        Thân!

        Comment


        • #5
          dung lượng file mã nguồn và file hex khác nhau mà

          Comment


          • #6
            hi, em nạp cho con 89s52 với dung lượng tối đa là 23K (dung lượng máy tính báo). tốt nhất là <23k, >=23k thì bó tay.
            WS:
            Blog:

            Comment


            • #7
              Cái này liên quan đến định dạng file hex của intel bạn a. Không phai tất cả sẽ được nạp vào chip. Thân.

              Comment


              • #8
                dụng lượng nhìn trên máy tính thấy khoảng 23Kb thì thực chấtt nó là 8K để nạp HEX
                _--------------------------------------------------

                **** ------------------------------------------***

                Comment


                • #9
                  Nguyên văn bởi romance_qt Xem bài viết
                  dụng lượng nhìn trên máy tính thấy khoảng 23Kb thì thực chấtt nó là 8K để nạp HEX
                  Vậy bác có cách nào để biết dung lượng thật của file hex mà m tạo không? Cảm ơn bác.
                  WS:
                  Blog:

                  Comment


                  • #10
                    khi bạn biên dịch hoặc khi bạn nạp thì mình thấy nó báo mà
                    mình dùng keil c, và nạp bằng proload

                    Comment


                    • #11
                      Nguyên văn bởi quangtung112 Xem bài viết
                      Vậy bác có cách nào để biết dung lượng thật của file hex mà m tạo không? Cảm ơn bác.
                      Cách khỏe nhất để coi dung lượng file HEX là bạn tải chương trình nạp VĐK ISP Flash Programmer 3.7

                      SPI-Flash Programmer 3.7

                      Bạn mở soft, chọn AT89S52 (nếu bạn xài con này, con khác thì chọn khác). Vào Open file, chọn file hex của bạn rồi vào Disp Buffer. Ở đó nó sẽ cho bạn thấy từng opcode sẽ được nạp vào chú vđk của bạn. Nếu ô nhớ nào ko xài tới thì nó có giá trị FF, còn nếu có xài thì sẽ là giá trị khác. Khi bạn chọn AT89S52, nó đã hiển thị đủ 8k ô nhớ rồi. Bạn kéo cái bảng đó xuống tuốt dưới mà xem. Nếu có rất nhiều ô ghi chứ FF thì có nghĩa file hex đó chưa xài hết bộ nhớ của chú vđk. Còn nếu tận ô cuối cũng mà vẫn có giá trị tùm lum (khác FF) thì có lẽ code có dung lượng lớn hơn cái bụng của chú vđk rồi, kiếm con khác nhé

                      Cái này bạn cũng có thể tính được dung lượng code file hex luôn đó (tính tay)!

                      Tui xài từ "bộ nhớ, ô nhớ", ý tui là cái flash hay rom của con vđk ấy, chứ ko phải ram nhe. Tại bây giờ tui chơi MSP430 phần lớn nên riết xoắn rồi...làm biếng phân biệt ngôn ngữ quá...

                      Comment


                      • #12
                        Nguyên văn bởi quangtung112 Xem bài viết
                        Vậy bác có cách nào để biết dung lượng thật của file hex mà m tạo không? Cảm ơn bác.
                        Bạn dùng trình nạp add file hex vào nó sẽ báo cho bạn biết là file hex đó có dung lượng bao nhiêu.
                        _--------------------------------------------------

                        **** ------------------------------------------***

                        Comment


                        • #13
                          Lâu lắm rồi mới qua trở lại diễn đàn...Học và thi liên tục....Cảm ơn mọi người đã giúp đỡ mình nhiệt tình nhe...Thank so much ^^

                          Hotmail: tien168bn.utehy@hotmail.com
                          Gmail: tien168bn.utehy@gmail.com

                          Comment

                          Về tác giả

                          Collapse

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

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

                          Collapse

                          Đang tải...
                          X