Thông báo

Collapse
No announcement yet.

thắc mắc viết asm trong keil c

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

  • thắc mắc viết asm trong keil c

    Các anh cho em hỏi là không biết sao khi viết asm bằng keil c nếu em chèn cái dòng thư viện include <REGX52.h> vào chuơng trình thì lại không thể dịch được còn nếu bỏ đi thì thông báo dịch được nhưng chạy thử thì lại không thấy đúng

  • #2
    Gửi cả chương trình và phần báo lỗi lên xem nào ?
    Nhà phân phối, đại lý bán biến tần,PLC,HMI,AC Servo... Delta

    Mr.Quỳnh 0978706839

    Comment


    • #3
      Viết chữ thường đi, thử lại coi.
      Nhà phân phối, đại lý bán biến tần,PLC,HMI,AC Servo... Delta

      Mr.Quỳnh 0978706839

      Comment


      • #4
        ví dụ như bài này ạ,thử viết lại bằng chữ thường nhưng vẫn không được,viết bằng c thì không sao,thử viết bằng asm lại thấy báo lỗi,em mới học nên còn ngu ngơ
        #include <regx52.h>
        org 00h
        ljmp main
        org 40h
        main:
        mov sp,#5Fh
        mov a,11111110b
        main_lop:
        mov P1,a
        lcall Delay1s
        rl a
        sjmp main_lop
        Delay1s:
        mov r1,#10
        lop1:
        mov r2,#100
        lop2:
        mov r3,#100
        lop3:
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        djnz r3, lop3
        djnz r2, lop2
        djnz r1, lop1
        ret
        end

        Comment


        • #5
          Có phải báo lỗi này ko ?
          error C129: missing ';' before '00'
          Target not created
          Nhà phân phối, đại lý bán biến tần,PLC,HMI,AC Servo... Delta

          Mr.Quỳnh 0978706839

          Comment


          • #6
            lỗi này anh ạ
            assembling a.asm...
            C:\KEIL\C51\INC\ATMEL\REGX52.H(15): error A10: ATTEMPT TO DEFINE AN ALREADY DEFINED SYMBOL
            C:\KEIL\C51\INC\ATMEL\REGX52.H(16): error A10: ATTEMPT TO DEFINE AN ALREADY DEFINED SYMBOL
            C:\KEIL\C51\INC\ATMEL\REGX52.H(17): error A10: ATTEMPT TO DEFINE AN ALREADY DEFINED SYMBOL
            .......
            1 hàng dài

            Comment


            • #7
              Cái của mình nó báo lỗi kiểu khác. Có vẻ như do thư viện phần mềm khác nhau.
              Bạn viết thử một chương trình đơn giản và không có dòng lệnh đó xem.
              Cái này có thể do bạn viết sai phần dưới. Còn thư viện không cần khai báo.
              Mình viết ngôn ngữ C nên không rõ về khai báo asm.
              Last edited by quynhnb; 16-11-2010, 15:39.
              Nhà phân phối, đại lý bán biến tần,PLC,HMI,AC Servo... Delta

              Mr.Quỳnh 0978706839

              Comment


              • #8
                vậy là viết bằng asm không có thư viện sao anh? phần dưới em copy 1 đoạn trong giáo trình ra,không sai,bỏ thư viện đi rồi chuyển sang hex chạy thử thì P1 sáng hết,em không hiểu tại sao nữa

                Comment


                • #9
                  Có lẽ bạn phải tham khảo thêm các cao thủ dùng asm . Mình thấy mọi người khai báo thư viện mỗi người 1 kiểu nhưng cứ copy về máy mình là không biên dịch được. Có vẻ thiếu gì đó.
                  Nhà phân phối, đại lý bán biến tần,PLC,HMI,AC Servo... Delta

                  Mr.Quỳnh 0978706839

                  Comment


                  • #10
                    theo minh thi mình viết asm thi cha khai báo gì cả mà vẫn chạy ầm ầm.
                    chuong trình đó bạn nên bỏ khai bao thư viện đi. mình đã bỏ và text thử thấy ok

                    Comment


                    • #11
                      Nguyên văn bởi quynhnb Xem bài viết
                      Có phải báo lỗi này ko ?
                      error C129: missing ';' before '00'
                      Target not created
                      Mình đang gặp lỗi này,mong bác giúp đỡ

                      Comment


                      • #12
                        t cũng đang bị lỗi như thế

                        Comment


                        • #13
                          mấy cái lỗi đó có thể là do dùng ko đúng thư viện,keil C viết asm ko được tốt lắm
                          thay thử thư viện như regx51.h bằng mod51 ví dụ
                          C viết #include<regx51> khi viết asm thì là $mod51

                          Comment


                          • #14
                            thank ban nha!minh tu tim thay loi roi, cung k can $mod51 dâu. ok

                            Comment


                            • #15
                              các bác cho em hỏi khi mình sử dụng ngắt ngoài muốn nó làm việc trong ngắt xong rồi cho nó quay về lại nhãn main nơi bắt đầu đc ạ? VD như chương trình này chẳn hạn..khi xảy ra ngắt nó tắt đèn xong làm sao quay về lại nhãn main đc... các bác giúp cho....
                              den bit p1.1
                              org 00h
                              sjmp main
                              org 013h ;nơi xảy ra ngắt ngoai 1
                              clr den ;tat den
                              reti
                              main:
                              jb p0.0,$
                              jnb p0.0,$
                              mov ie,#10000100b ;cho phép ngắt ngoài 1
                              ......
                              .....chương trình chính

                              end

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X