lỗi trình biên dịch keil C

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • Puppy
    Banned
    • Dec 2006
    • 14

    #1

    lỗi trình biên dịch keil C

    Em dùng Keil C v706a eval khi nhấn F7 dịch ra file .hex để nạp vào vxl thì không chạy được( chương trình vẫn tạo ra file .hex)
    đem file.C dịch bằng c51.exe tạo ra file.obj sau đó dùng oh51.exe để tạo file.hex
    thi báo lỗi như sau:
    GENERATING INTEL HEX FILE: led.hex

    *** ERROR: UNKNOWN RECORD TYPE 0FH
    *** OH51 ABORTED.
    Bác nào biết vì sao không? xin chỉ giáo giúp em với
    bác nào có bản full vui lòng post lên cho em 2 file c51.exe và oh51.exe(nó nằm trong thư mục c51\BIN) với nhé.
  • natra2k2
    Thành viên tích cực
    • Oct 2005
    • 481

    #2
    dùng 8.05 xem!

    Comment

    • Puppy
      Banned
      • Dec 2006
      • 14

      #3
      Nguyên văn bởi natra2k2 Xem bài viết
      dùng 8.05 xem!
      8.05 vẫn bị lỗi như vậy, bác thữ dịch mà xem. Có ai biết vì sao không dịch được bằng c51.exe và oh51.exe không? các chương trình viết bằng ASM của em khi dịch bằng asm51 và oh51.exe thì vẫn chạy bình thường.

      Comment

      • natra2k2
        Thành viên tích cực
        • Oct 2005
        • 481

        #4
        Nguyên văn bởi Puppy Xem bài viết
        8.05 vẫn bị lỗi như vậy, bác thữ dịch mà xem. Có ai biết vì sao không dịch được bằng c51.exe và oh51.exe không? các chương trình viết bằng ASM của em khi dịch bằng asm51 và oh51.exe thì vẫn chạy bình thường.
        ơ, mình chả cần quan tâm 2 file đấy là cái gì, viết bằng Keil xong bấm F7 là được mà!
        Chương trình thế nào đâu, pót lên tớ xem hộ cho, hỏi thế cũng bằng 0!

        Comment

        • luulinh
          Thành viên tích cực
          • Jun 2006
          • 316

          #5
          Khônh biết trình dịch của tôi có sao không nữa mà viết chương trình cho 89S52 sử dụng timer 2 thì nó báo cai thanh ghi T2MOD không được định nghĩa. Có đúng là lỗi không nhỉ?
          ●█═██▄▄▄▄▄▄▄▄▄
          ▄▅██████▅▄▃▂
          ████████████████
          ◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲◤

          Comment

          • natra2k2
            Thành viên tích cực
            • Oct 2005
            • 481

            #6
            Nguyên văn bởi luulinh Xem bài viết
            Khônh biết trình dịch của tôi có sao không nữa mà viết chương trình cho 89S52 sử dụng timer 2 thì nó báo cai thanh ghi T2MOD không được định nghĩa. Có đúng là lỗi không nhỉ?
            bạn #include chưa đúng thôi
            #include <AT89X52.H> mới được!

            Comment

            • Puppy
              Banned
              • Dec 2006
              • 14

              #7
              Nguyên văn bởi natra2k2 Xem bài viết
              ơ, mình chả cần quan tâm 2 file đấy là cái gì, viết bằng Keil xong bấm F7 là được mà!
              Chương trình thế nào đâu, pót lên tớ xem hộ cho, hỏi thế cũng bằng 0!
              chương trình của mình đơn giản thôi, mình chỉ làm nhấp nháy con led ở P1_0
              chạy trong keil không có lỗi gì, nhấn f7 xong nạp file hex nó không thấy gì cả. nếu viết bằng ASM nạp vào thì chạy ngay.

              Comment

              • luulinh
                Thành viên tích cực
                • Jun 2006
                • 316

                #8
                Nguyên văn bởi natra2k2 Xem bài viết
                bạn #include chưa đúng thôi
                #include <AT89X52.H> mới được!
                Không phai thế, mọi thanh ghi khác đều chạy bình thường chi co nó mới bị..
                ●█═██▄▄▄▄▄▄▄▄▄
                ▄▅██████▅▄▃▂
                ████████████████
                ◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲◤

                Comment

                • spiritnguyen
                  Thành viên mới
                  • Jul 2007
                  • 3

                  #9
                  EM cũng bị tình trạng giống puppy. Sao không huynh nào hướng dẫn vậy:
                  Code:
                  #include <AT89X52.H>
                  	
                  void delay( unsigned int time)
                  {
                  unsigned int i;
                  unsigned int j;
                  for (i = 0; i < time;)
                  {
                  for (j = 0; j < 1000;)
                  {
                  j ++;
                  }
                  i++;
                  }
                  }
                  
                  void main(){
                  {	// tao xung tren chan P0.1
                  	while(1)
                  	{
                  		P0_1 = 1;  
                  		delay(500);
                  		P0_1 = 0;
                  		delay(500);
                  	}
                  }
                  }
                  Last edited by VNarmy; 25-07-2007, 15:38.

                  Comment

                  • VNarmy
                    Moderator
                    • Feb 2007
                    • 1413

                    #10
                    Nếu bạn dùng Win98 thì phải cài đường dẫn nữa còn WinXP thì cứ cài ra là chạy mà.
                    AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
                    Xem thêm tại Online Store ---> Click here
                    Mob: 0982.083.106

                    Comment

                    • spiritnguyen
                      Thành viên mới
                      • Jul 2007
                      • 3

                      #11
                      khi compile thi ok, nhung khi nạp vào 89 thi không thì 89 không chạy

                      Comment

                      Về tác giả

                      Collapse

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

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

                      Collapse

                      Đang tải...