cần giúp đỡ về code 8051

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • kimman3
    Thành viên tích cực
    • Jul 2012
    • 685

    #1

    cần giúp đỡ về code 8051

    đây là lần đầu tiên viết code các bác xem giúp em xem nó sai chỗ nào ạ

    #include <REGX52.H>
    unsigned int i,j,k;

    void delay(unsigned int ms)
    {
    unsigned int a;
    unsigned char b;
    for(a=0; a<ms; a++)
    {
    for(b=0; b<125; b++)
    {
    }
    }
    }

    void hieu_ung_1 (void)
    {
    for(k=0; k<8; k++)
    {
    P0=P1=P2=P3=1;
    delay(300);
    P0=P1=P2=P3=0;
    delay(300);
    }
    }

    void hieu_ung_2 (void)
    {
    for(i=0; i<6; i++)
    {
    P0=P1=P2=P3=0;
    delay(300);
    P0=P1=P2=P3=1;
    delay(300);
    }
    }

    void hieu_ung_3 (void)
    {
    for(j=0; j<8; j++)
    {
    P0=P1=P2=P3=0xfe;
    delay(300);
    P0=P1=P2=P3=0x55;
    }
    }

    main()
    {
    while(1)
    {
    hieu_ung_1;
    delay(300);
    hieu_ung_2;
    delay(300);
    hieu_ung_3;
    delay(300);
    }
    }
  • maingochoc
    Thành viên tích cực
    • Jan 2010
    • 501

    #2
    Lỗi Sai

    Lỗi sai của bạn là ở hieu_ung_1,2,3
    bạn sửa lại thành
    hieu_ung_1();
    hieu_ung_2();
    hieu_ung_3();

    Comment

    • kimman3
      Thành viên tích cực
      • Jul 2012
      • 685

      #3
      Nguyên văn bởi maingochoc Xem bài viết
      Lỗi sai của bạn là ở hieu_ung_1,2,3
      bạn sửa lại thành
      hieu_ung_1();
      hieu_ung_2();
      hieu_ung_3();
      bạn giải thích giúp mình tại sao lại sai ở đó hôm qua mình sửa lại thì chạy oke rồi

      Comment

      • maingochoc
        Thành viên tích cực
        • Jan 2010
        • 501

        #4
        Giải thích.

        Ở trước hàm main bạn viết các chương trình con như là hieu_ung_1
        ở bất kì chỗ nào trong chương trình nếu bạn muốn gọi chương trình đó ra thì phải viết là hieu_ung_1();

        Comment

        • linhleduong
          Thành viên tích cực
          • Sep 2006
          • 165

          #5
          Cái này bác phải xem lại lập trình của ngôn ngữa C, phần hàm , chương trình con!

          Comment

          • kimman3
            Thành viên tích cực
            • Jul 2012
            • 685

            #6
            Nguyên văn bởi linhleduong Xem bài viết
            Cái này bác phải xem lại lập trình của ngôn ngữa C, phần hàm , chương trình con!
            cám ơn bác đã quan tâm tại e ko có học qua trường lớp tự nghiên cứu để viết code thôi ạ à mà bác có cách nào để viết led sáng tuần tự rồi tắt tuần tự ko

            Comment

            • maingochoc
              Thành viên tích cực
              • Jan 2010
              • 501

              #7
              Cốt

              Bạn có thể dùng mảng,hàm tạo mã hex tương ứng vs trạng thái sáng tắt.

              Comment

              • myth-coder
                Thành viên tích cực
                • Aug 2011
                • 303

                #8
                Nguyên văn bởi kimman3 Xem bài viết
                cám ơn bác đã quan tâm tại e ko có học qua trường lớp tự nghiên cứu để viết code thôi ạ à mà bác có cách nào để viết led sáng tuần tự rồi tắt tuần tự ko
                Chắc trước đó được học VB hả? thấy cách gọi có vẻ giống style của VB

                Comment

                • kimman3
                  Thành viên tích cực
                  • Jul 2012
                  • 685

                  #9
                  Nguyên văn bởi myth-coder Xem bài viết
                  Chắc trước đó được học VB hả? thấy cách gọi có vẻ giống style của VB
                  em hoàn toàn chưa học qua 1 ngôn ngữ nào năm ngoái học thcs thì e có học qua pascal

                  Comment

                  • kimman3
                    Thành viên tích cực
                    • Jul 2012
                    • 685

                    #10
                    Nguyên văn bởi maingochoc Xem bài viết
                    Bạn có thể dùng mảng,hàm tạo mã hex tương ứng vs trạng thái sáng tắt.
                    cho mình 1 ví dụ dc ko

                    Comment

                    • mast090
                      Thành viên tích cực
                      • Oct 2010
                      • 1018

                      #11
                      Nguyên văn bởi kimman3 Xem bài viết
                      cho mình 1 ví dụ dc ko
                      còn học THCS thì lên đây chỉ xưng là em thôi chứ ko nên xưng là mình, trên đây hầu như ít thì cũng = tuổi anh, ko thì cha chú, thậm chí có những người = tuổi ông bạn
                      khen cho tinh thần tự học của bạn trẻ khi còn học c2. để học được vi điều khiển lập trình C thì trước tiên em phải học các cú pháp, câu lệnh, yêu cầu cơ bản của ngồn ngữ lập trình C thì tới lúc chuyển sang VDK em mới viết đc chương trình nhé, cái j nó cũng có quy luật của nó
                      ví dụ về mảng đơn giản
                      Code:
                      [B]unsigned char[/B] Mang[10] = {0,1,2,3,4,5,6,7,8,9};
                      đây là 1 mảng 10 phần tử, phần tử đầu tiên là Mang[0], phần tử cuối cùng là Mang[9]. mảng có 10 phần tử nên chỉ đc khai báo tối da 10 phần tử cho mạng
                      Website chính thức đổi địa chỉ website thành
                      Mời các bạn ghé thăm !!!

                      Comment

                      • maingochoc
                        Thành viên tích cực
                        • Jan 2010
                        • 501

                        #12
                        Cốt.

                        Sáng lần lượt từ P1.0 sang P1.2
                        While(1)
                        {
                        P1=0x01;
                        For(i=0;i<8;i++) P1=P1>>1;
                        }

                        Comment

                        • maingochoc
                          Thành viên tích cực
                          • Jan 2010
                          • 501

                          #13
                          Kimman3

                          Chắc bạn học lớp 10 hả.
                          Khen cho tinh thần yêu điên nặng điện.
                          Nếu bạn kòn học thpt thì nên gác lại,tập trung vào học toán,văn,anh... đi,sau này lên ĐH nghịch chán.
                          Mình thì cũng là hs thpt,sắp là cựu hs.
                          Tuy chỉ kòn 1 vài tháng nữa sẽ là sv nhưng mình cũng đã gác lại việc nghịch cách đây vài tháng.
                          Thế nên tập trung vào học văn hoá thpt đi đã. Ok !

                          Comment

                          • kimman3
                            Thành viên tích cực
                            • Jul 2012
                            • 685

                            #14
                            Nguyên văn bởi maingochoc Xem bài viết
                            Sáng lần lượt từ P1.0 sang P1.2
                            While(1)
                            {
                            P1=0x01;
                            For(i=0;i<8;i++) P1=P1>>1;
                            }
                            a cho hỏi chỗ này cái ạ e ko hiểu P1=P1>>1; là sao ạ

                            Comment

                            • kimman3
                              Thành viên tích cực
                              • Jul 2012
                              • 685

                              #15
                              Nguyên văn bởi mast090 Xem bài viết
                              còn học THCS thì lên đây chỉ xưng là em thôi chứ ko nên xưng là mình, trên đây hầu như ít thì cũng = tuổi anh, ko thì cha chú, thậm chí có những người = tuổi ông bạn
                              khen cho tinh thần tự học của bạn trẻ khi còn học c2. để học được vi điều khiển lập trình C thì trước tiên em phải học các cú pháp, câu lệnh, yêu cầu cơ bản của ngồn ngữ lập trình C thì tới lúc chuyển sang VDK em mới viết đc chương trình nhé, cái j nó cũng có quy luật của nó
                              ví dụ về mảng đơn giản
                              Code:
                              [B]unsigned char[/B] Mang[10] = {0,1,2,3,4,5,6,7,8,9};
                              đây là 1 mảng 10 phần tử, phần tử đầu tiên là Mang[0], phần tử cuối cùng là Mang[9]. mảng có 10 phần tử nên chỉ đc khai báo tối da 10 phần tử cho mạng
                              e có đọc qua cái phần mảng này lúc chiều rồi ạ
                              unsigned char Mang[10] = {0,1,2,3,4,5,6,7,8,9};
                              chỗ này sẽ có 10 mảng gồm các mảng từ 0 đến 9 đúng ko anh vậy nếu mình đặt mỗi 1 số là 1 mã hex vì dụ như 0xff ,.. thì nó sẽ có 10 hiệu ứng đúng ko ạ vậy nó có 10 hiệu ứng nhưng e ko biết vdk khi nào nó sẽ chạy mã nào hay là chạy tuần tự từ trái sang phải hay là tuỳ thuộc vào cái giá trị k mình đặt

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              There are no results that meet this criteria.

                              Đang tải...