Thông báo

Collapse
No announcement yet.

nhờ mọi người sửa cái code này hộ em với

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

  • nhờ mọi người sửa cái code này hộ em với

    cái code này có báo một lỗi nhưng do em mới học vi điều khiển nên em không biết nó báo lỗi gì.mong các anh trên diễn đàn xem giúp em nha.cho em hỏi thêm,em muốn điều khiển chữ chạy trên led matran thi em viết code như thế có đc không.mong các bác giải tích rõ giúp em.cảm ơn mọi người!
    chaychuh.rar

  • #2
    up file keil k up file C thì up làm gì, người ta chỉ cần file C thôi, mà up trực tiếp file C lên đây đc rồi
    Website chính thức đổi địa chỉ website thành
    Mời các bạn ghé thăm !!!

    Comment


    • #3
      code cua no day thua bac mast090
      #include<reg51.h>
      #include<stdio.h>
      #include<intrins.h>
      //ham tre
      void tre(long time)
      {
      while(time--);
      }
      int n;
      unsigned char mangcot[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
      unsigned char manghang1[8]={0,0,0,0,0x7c,0x10,0x10,0x7c};
      unsigned char manghang2[8]={0,0,0,0x7c,0x10,0x10,0x7c,0x7c};
      unsigned char manghang3[8]={0,0,0x7c,0x10,0x10,0x7c,0x7c,0x7c};
      unsigned char manghang4[8]={0,0x7c,0x10,0x10,0x7c,0x7c,0x7c,0x54};
      unsigned char manghang5[8]={0x7c,0x10,0x10,0x7c,0x7c,0x7c,0x54,0x54};
      unsigned char manghang6[8]={0x10,0x10,0x7c,0x7c,0x7c,0x54,0x54,0x7c};
      unsigned char manghang7[8]={0x10,0x7c,0x7c,0x7c,0x54,0x54,0x7c,0x50};
      unsigned char manghang8[8]={0x7c,0x7c,0x7c,0x54,0x54,0x7c,0x50,0x70};
      unsigned char manghang9[8]={0x7c,0x7c,0x54,0x54,0x7c,0x50,0x70,0};
      unsigned char manghang10[8]={0x7c,0x54,0x54,0x7c,0x50,0x70,0,0};
      unsigned char manghang11[8]={0x54,0x54,0x7c,0x50,0x70,0,0,0};
      unsigned char manghang12[8]={0x54,0x7c,0x50,0x70,0,0,0,0x7c};
      unsigned char manghang13[8]={0x7c,0x50,0x70,0,0,0,0x7c,0x10};
      unsigned char manghang14[8]={0x50,0x70,0,0,0,0x7c,0x10,0x10};
      unsigned char manghang15[8]={0x70,0,0,0,0x7c,0x10,0x10,0x7c};
      //man1
      void hien1(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang1[n];
      tre(20);
      }
      }
      //man2
      void hien2(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang2[n];
      tre(20);
      }
      }
      //man3
      void hien3(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang3[n];
      tre(20);
      }
      }
      //man4
      void hien4(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang4[n];
      tre(20);
      }
      }
      //man5
      void hien5(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang5[n];
      tre(20);
      }
      }
      //man6
      void hien6(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang6[n];
      tre(20);
      }
      }
      //man7
      void hien7(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang7[n];
      tre(20);
      }
      }
      //man8
      void hien8(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang8[n];
      tre(20);
      }
      }
      //man9
      void hien9(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang9[n];
      tre(20);
      }
      }
      //man10
      void hien10(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang10[n];
      tre(20);
      }
      }
      //man11
      void hien11(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang11[n];
      tre(20);
      }
      }
      //man12
      void hien12(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang12[n];
      tre(20);
      }
      }
      //man13
      void hien13(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang13[n];
      tre(20);
      }
      }
      //man14
      void hien14(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang14[n];
      tre(20);
      }
      }
      //man15
      void hien15(void)
      {
      for(n=0;n<=7;n++)
      {
      P0=mangcot[n];
      P3=manghang15[n];
      tre(20);
      }
      }
      //ham chinh
      void main(void)
      {
      while(1)
      {
      hien1();
      tre(1000);
      hien2();
      tre(1000);
      hien3();
      tre(1000);
      hien4();
      tre(1000);
      hien5();
      tre(1000);
      hien6();
      tre(1000);
      hien7();
      tre(1000);
      hien8();
      tre(1000);
      hien9();
      tre(1000);
      hien10();
      tre(1000);
      hien11();
      tre(1000);
      hien12();
      tre(1000);
      hien13();
      tre(1000);
      hien14();
      tre(1000);
      hien15();
      tre(1000);
      }
      }

      Comment


      • #4
        ô không bác nào fix àh cho em học hỏi với

        Comment


        • #5
          ko thấy nói lỗi như thế nào nhưng có thể tạm đoán ra, nhìn sơ qua thì cách viết câu lệnh là đúng, chắc ko phải do lỗi biên dịch code mà lỗi do lúc chạy code
          chắc là sau khi viết code nạp ic thì thấy con led matrix nó sáng chói hết tất cả các led chứ chả hiện ra cái hình thu gì.
          1. tui mún hỏi, bạn đã viết đc chương trình cho 1 kí tự hiển thị trên con matrix chưa
          2. đã hiểu thế là nào quét led chưa và tại sao cần quét led
          trước tiên thế đã, còn lỗi ở code này là tốc độ quét quá nhanh nên chả nhìn thấy mù gì hết, sau khi chữ dịch 1 vị trí và chuẩn bị dịch sang vị trí tiếp thì trong khoảng thời gian đó nó đứng yên và nó đã được quét rất rất là nhiều lần chứ ko phải là 1 lần cho mỗi code như của bạn. ngoài ra bảng mã led k ai người ta làm thế kia cả, làm như thế thì vs 1 con matrix hiển thị 1 chuỗi 10 kí tự chẳng hạn thì 8x10=80 cái mảng đó ak, ở đây của bạn có 1 kí tự nó đã tới 8 mảng. thay vì điều đó người ta chỉ cần thay đổi vị trí các phần tử trong mạng bằng lệnh rất đơn giản, m[i]=m[i+1], cái này bạn ko biết thì có lẽ lên xem xét lại kiến thức về C của bạn, chứ chưa đả động đến VDK
          Website chính thức đổi địa chỉ website thành
          Mời các bạn ghé thăm !!!

          Comment


          • #6
            cảm ơn bác nhiều.lúc em nhấn f7 để kiểm tra thì nó báo lỗi như sau :CHAYCHUH.C(212): error C249: 'DATA': SEGMENT TOO LARGE.em không hiểu là lỗi gì cả,em đang là sinh viên năm thứ 2 nên kiến thức còn han chế,mong bác chỉ rõ cho em nha,

            Comment


            • #7
              Nguyên văn bởi c144 Xem bài viết
              cảm ơn bác nhiều.lúc em nhấn f7 để kiểm tra thì nó báo lỗi như sau :CHAYCHUH.C(212): error C249: 'DATA': SEGMENT TOO LARGE.em không hiểu là lỗi gì cả,em đang là sinh viên năm thứ 2 nên kiến thức còn han chế,mong bác chỉ rõ cho em nha,
              sửa cho bạn đây:
              #include <REGX51.H>
              #include<stdio.h>
              #include<intrins.h>
              //ham tre
              void tre(long time)
              {
              while(time--);
              }
              int n;
              unsigned char mangcot[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
              unsigned char code manghang1[8]={0,0,0,0,0x7c,0x10,0x10,0x7c};
              unsigned char code manghang2[8]={0,0,0,0x7c,0x10,0x10,0x7c,0x7c};
              unsigned char code manghang3[8]={0,0,0x7c,0x10,0x10,0x7c,0x7c,0x7c};
              unsigned char code manghang4[8]={0,0x7c,0x10,0x10,0x7c,0x7c,0x7c,0x54};
              unsigned char code manghang5[8]={0x7c,0x10,0x10,0x7c,0x7c,0x7c,0x54,0x54};
              unsigned char code manghang6[8]={0x10,0x10,0x7c,0x7c,0x7c,0x54,0x54,0x7c};
              unsigned char code manghang7[8]={0x10,0x7c,0x7c,0x7c,0x54,0x54,0x7c,0x50};
              unsigned char code manghang8[8]={0x7c,0x7c,0x7c,0x54,0x54,0x7c,0x50,0x70};
              unsigned char code manghang9[8]={0x7c,0x7c,0x54,0x54,0x7c,0x50,0x70,0};
              unsigned char code manghang10[8]={0x7c,0x54,0x54,0x7c,0x50,0x70,0,0};
              unsigned char code manghang11[8]={0x54,0x54,0x7c,0x50,0x70,0,0,0};
              unsigned char code manghang12[8]={0x54,0x7c,0x50,0x70,0,0,0,0x7c};
              unsigned char code manghang13[8]={0x7c,0x50,0x70,0,0,0,0x7c,0x10};
              unsigned char code manghang14[8]={0x50,0x70,0,0,0,0x7c,0x10,0x10};
              unsigned char code manghang15[8]={0x70,0,0,0,0x7c,0x10,0x10,0x7c};
              //man1
              void hien1(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang1[n];
              tre(20);
              }
              }
              //man2
              void hien2(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang2[n];
              tre(20);
              }
              }
              //man3
              void hien3(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang3[n];
              tre(20);
              }
              }
              //man4
              void hien4(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang4[n];
              tre(20);
              }
              }
              //man5
              void hien5(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang5[n];
              tre(20);
              }
              }
              //man6
              void hien6(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang6[n];
              tre(20);
              }
              }
              //man7
              void hien7(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang7[n];
              tre(20);
              }
              }
              //man8
              void hien8(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang8[n];
              tre(20);
              }
              }
              //man9
              void hien9(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang9[n];
              tre(20);
              }
              }
              //man10
              void hien10(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang10[n];
              tre(20);
              }
              }
              //man11
              void hien11(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang11[n];
              tre(20);
              }
              }
              //man12
              void hien12(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang12[n];
              tre(20);
              }
              }
              //man13
              void hien13(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang13[n];
              tre(20);
              }
              }
              //man14
              void hien14(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang14[n];
              tre(20);
              }
              }
              //man15
              void hien15(void)
              {
              for(n=0;n<=7;n++)
              {
              P0=mangcot[n];
              P3=manghang15[n];
              tre(20);
              }
              }
              //ham chinh
              void main(void)
              {
              while(1)
              {
              hien1();
              tre(1000);
              hien2();
              tre(1000);
              hien3();
              tre(1000);
              hien4();
              tre(1000);
              hien5();
              tre(1000);
              hien6();
              tre(1000);
              hien7();
              tre(1000);
              hien8();
              tre(1000);
              hien9();
              tre(1000);
              hien10();
              tre(1000);
              hien11();
              tre(1000);
              hien12();
              tre(1000);
              hien13();
              tre(1000);
              hien14();
              tre(1000);
              hien15();
              tre(1000);
              }
              }


              mình chỉ sủa cú pháp thôi nhé còn chạy được hay không tùy vào dữ liệu mấy cái mảng của cậu

              Comment


              • #8
                câu lỗi đó đại loại là file biên dịch quá lớn, mà lớn ở đây do cái mảng bạn đưa ra, làm như mrtranbk chỉ là khắc phục thôi, còn về cụ thể thì lên xóa hết cái mảng kí tự đi để lại 1 cái và dùng lệnh dịch như mình đã nói, đảm bảo file nhẹ đi cả cụm, trong C việc dùng mảng ngốn khá nhiều dung lượng
                Website chính thức đổi địa chỉ website thành
                Mời các bạn ghé thăm !!!

                Comment


                • #9
                  Nguyên văn bởi mast090 Xem bài viết
                  câu lỗi đó đại loại là file biên dịch quá lớn, mà lớn ở đây do cái mảng bạn đưa ra, làm như mrtranbk chỉ là khắc phục thôi, còn về cụ thể thì lên xóa hết cái mảng kí tự đi để lại 1 cái và dùng lệnh dịch như mình đã nói, đảm bảo file nhẹ đi cả cụm, trong C việc dùng mảng ngốn khá nhiều dung lượng
                  mình chưa xem bạn cần hiển thị cái gì. chỉ giúp bạn khắc phục lỗi thôi.
                  thank!

                  Comment


                  • #10
                    cảm ơn mọi người nhiều

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...
                    X