Thông báo

Collapse
No announcement yet.

Dành cho người mới tìm hiểu 8051

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

  • #61
    bác nào lập trình cho em con này , chạy theo vạch trắng nền đen , 2 sonser ở giữa ở trong vạch, 2 sensor hai bên ở ngoài vạch
    http://www.kmitl.ac.th/~kswichit/LFrobot/LFrobot.htm
    cái lập trình sẵn của nó ko dùng được, và em cũng chẳng hiểu gì?
    thanks các bác trước!
    Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

    Comment


    • #62
      em mới bập bẹ học lập trình viết ra cái này cho con robot mini ở trên nhưng báo lỗi :

      //chuong trinh di thang theo vach
      #include <REGX51.H>
      #include<intrins.h>
      #define EN12 P1^0;
      #define EN34 P1^1;
      #define IN1 P1^2;
      #define IN2 P1^3;
      #define IN3 P1^4;
      #define IN4 P1^5;
      #define S_phai P3^3;
      #define S_trai P3^0;
      #define S_truoc P3^2;
      #define S_sau P3^1;
      #define nen 0;
      #define vach 1;
      void kiem_tra_vach(void)
      {
      if ((S_phai&S_trai=nen)&(S_truoc&S_sau=vach)) {di_thang();} // báo lỗi ở dòng này
      else if ((S_phai=vach)&(S_trai=nen)) {re_phai();}
      else if ((S_phai=nen)&(S_trai=vach)) {re_trai();}
      else if ((S_phai=S_trai=S_truoc=S_sau=nen)) {stop();};
      }
      void di_thang(void)
      {EN12=1;EN34=1;IN1=1;IN2=0;IN3=1;IN4=0; }

      void re_phai(void)
      {EN12=1;IN1=1;IN2=0;EN34=0;}

      void re_trai(void)
      {EN12==0;EN34==1;IN3==1;IN4==0;}

      void stop(void)
      {EN12=0;EN34=0;}

      void main(void)
      {
      while (1)
      {
      kiem_tra_vach;
      }
      }

      nó báo:
      DIEU_KHIEN_DONG_CO_CON_MINI.C(17): error C141: syntax error near ';'
      DIEU_KHIEN_DONG_CO_CON_MINI.C(17): error C141: syntax error near ';'
      DIEU_KHIEN_DONG_CO_CON_MINI.C(17): error C189: '&' on bit/sfr illegal
      DIEU_KHIEN_DONG_CO_CON_MINI.C(17): error C141: syntax error near '='
      DIEU_KHIEN_DONG_CO_CON_MINI.C(17): error C141: syntax error near ')'
      dieu_khien_dong_co_con_mini.c - 5 Error(s), 0 Warning(s).
      vậy phải sửa thế nào các bác ?
      Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

      Comment


      • #63
        troài ạ trong C thì == mới là bằng nhau đồng chí ạ ,để 1 dấu là toi roài
        SHARE KHO PHIM LỚN

        Comment


        • #64
          Bác cận nhầm hay sao chứ == là so sánh chứ
          còn = là gán chứ
          Regards
          nguoi thong thai di thuong cui dau L
          -)

          Comment


          • #65
            Nguyên văn bởi quynh
            Đây là quyển sách khá hay về lạp trinh C cho 8051.
            Tui up mãi lên đây ko được.Bạn nào cần thì liên hệ với mình nhé.Quyển này viết bằng tiếng anh, khá cơ bản.Dung lượng gần 5MB
            lien lac voi ban qua email nao ??? cho minh nick yahoo cua cau nhe !

            Comment


            • #66
              hic hic, không bác nào giúp em cả !!!!!!!!!!!!
              Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

              Comment


              • #67
                các anh chị có thể giới thiệu cho em vài cuốn sách (tiếng việt càng tốt) để học lập trình vi điều khiển bằng ngôn ngữ C không?
                cho em hỏi luôn: có phần mềm nào cho phép mình test chuơng trình mình viết trên 8051 không?không lẽ mỗi lần viết 1 chuơng trình lại phải nạp vào VDK để thử ạ?
                cho em cảm ơn chị Quỳnh (vì không biết tuổi nên cho phép em gọi như vậy), những bài viết của chị rất bổ ích

                Comment


                • #68
                  Nguyên văn bởi haquang
                  các anh chị có thể giới thiệu cho em vài cuốn sách (tiếng việt càng tốt) để học lập trình vi điều khiển bằng ngôn ngữ C không?
                  cho em hỏi luôn: có phần mềm nào cho phép mình test chuơng trình mình viết trên 8051 không?không lẽ mỗi lần viết 1 chuơng trình lại phải nạp vào VDK để thử ạ?
                  cho em cảm ơn chị Quỳnh (vì không biết tuổi nên cho phép em gọi như vậy), những bài viết của chị rất bổ ích
                  Những câu hỏi của bạn đã thảo luận nhiều trên diễn đàn rồi
                  Sách: Search với từ khóa "Sách mới TVO hay Tống Văn On"
                  Phần mềm: Search "Giả lập 8051"

                  Comment


                  • #69
                    theo em thi nhung nguoi moi hoc len viet bang hop ngu thi hay hon
                    vi qua do minh lam luon ca phan cung cua vdk

                    Comment


                    • #70
                      Chao` moi nghuoi`!

                      Nguyên văn bởi hicd
                      theo em thi nhung nguoi moi hoc len viet bang hop ngu thi hay hon
                      vi qua do minh lam luon ca phan cung cua vdk
                      Theo mình thì viết gì mà chả được ,viết bằng C hay hơn chứ (mình nghĩ là vậy)học hợp ngữ có vẻ phức tạp trong C có nhiều hàm hay đỡ cho mình !
                      Khó nhất trên đời làm trang nam tử
                      Ý chí vững vàng mà tình cảm lại mênh mang

                      Comment


                      • #71
                        Học cả 2 là tốt nhất!!
                        Viết Asm nhiều khi còn đơn giản hơn C!
                        Nhưng C thi` bát buộc phải học vì còn phải dùng nhiều việc khác, ít nhất ở trường nó dạy kekeke!!
                        In Metal ... all trust !!
                        THRASH TILL DIE !!!

                        Comment


                        • #72
                          Nguyên văn bởi hiodong
                          hic hic, không bác nào giúp em cả !!!!!!!!!!!!
                          giúp rồi còn gì nữa cái cậu là lỗi ở cái ==
                          == là so sánh
                          = là gán
                          SHARE KHO PHIM LỚN

                          Comment


                          • #73
                            vẫn báo lỗi bác ạ! hic hic

                            //chuong trinh di thang theo vach
                            #include <REGX51.H>
                            #include<intrins.h>
                            #define EN12 P1_0;
                            #define EN34 P1_1;
                            #define IN1 P1_2;
                            #define IN2 P1_3;
                            #define IN3 P1_4;
                            #define IN4 P1_5;
                            #define S_phai P3_3;
                            #define S_trai P3_0;
                            #define S_truoc P3_2;
                            #define S_sau P3_1;
                            #define nen 0;
                            #define vach 1;
                            void kiem_tra_vach(void)
                            {
                            if ((S_phai==S_trai==nen)) {dithang();} // vẫn cái dòng quái quỷ này!
                            else if (S_phai==vach&&S_trai==nen) {re_phai();}
                            else if (S_phai==nen&&S_trai==vach) {re_trai();}
                            else if (S_truoc==S_sau==nen) {stop();};
                            }
                            void dithang(void)
                            {EN12=1;EN34=1;IN1=1;IN2=0;IN3=1;IN4=0; }
                            void re_phai(void)
                            {EN12=1;IN1=1;IN2=0;EN34=0;}
                            void re_trai(void)
                            {EN12=0;EN34=1;IN3=1;IN4=0;}
                            void stop(void)
                            {EN12=0;EN34=0;}
                            void main(void)
                            {
                            while (1)
                            {
                            kiem_tra_vach;
                            }
                            }

                            báo lỗi :
                            DIEU_KHIEN_DONG_CO_CON_MINI.C(21): error C141: syntax error near ';'
                            DIEU_KHIEN_DONG_CO_CON_MINI.C(21): error C141: syntax error near ')'
                            dieu_khien_dong_co_con_mini.c - 2 Error(s), 0 Warning(s).
                            Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

                            Comment


                            • #74
                              Nguyên văn bởi hiodong
                              vẫn báo lỗi bác ạ! hic hic

                              //chuong trinh di thang theo vach
                              #include <REGX51.H>
                              #include<intrins.h>
                              #define EN12 P1_0;
                              #define EN34 P1_1;
                              #define IN1 P1_2;
                              #define IN2 P1_3;
                              #define IN3 P1_4;
                              #define IN4 P1_5;
                              #define S_phai P3_3;
                              #define S_trai P3_0;
                              #define S_truoc P3_2;
                              #define S_sau P3_1;
                              #define nen 0;
                              #define vach 1;
                              void kiem_tra_vach(void)
                              {
                              if ((S_phai==S_trai==nen)) {dithang();} // vẫn cái dòng quái quỷ này!
                              else if (S_phai==vach&&S_trai==nen) {re_phai();}
                              else if (S_phai==nen&&S_trai==vach) {re_trai();}
                              else if (S_truoc==S_sau==nen) {stop();};
                              }
                              void dithang(void)
                              {EN12=1;EN34=1;IN1=1;IN2=0;IN3=1;IN4=0; }
                              void re_phai(void)
                              {EN12=1;IN1=1;IN2=0;EN34=0;}
                              void re_trai(void)
                              {EN12=0;EN34=1;IN3=1;IN4=0;}
                              void stop(void)
                              {EN12=0;EN34=0;}
                              void main(void)
                              {
                              while (1)
                              {
                              kiem_tra_vach;
                              }
                              }

                              báo lỗi :
                              DIEU_KHIEN_DONG_CO_CON_MINI.C(21): error C141: syntax error near ';'
                              DIEU_KHIEN_DONG_CO_CON_MINI.C(21): error C141: syntax error near ')'
                              dieu_khien_dong_co_con_mini.c - 2 Error(s), 0 Warning(s).
                              Bỏ dấu ; ở dòng quỷ đó đi xem thử!

                              Comment


                              • #75
                                Hi hiodong,

                                Tôi nghĩ bạn chịu khó tí là chương trình chạy ngon lành thôi.
                                Một số góp ý cho bạn thế này:

                                1.Một hàm, cho dễ coi, bạn nên viết theo block rõ ràng:

                                [ret type] func_name(param1,...)
                                {
                                //content here
                                }

                                thay vì
                                [ret type] func_name(param1,...)
                                {...}
                                hoặc
                                [ret type] func_name(param1,...){...}

                                2.Các phép gán và so sánh nên cách ra một space, theo từng ngoặc() rõ ràng:
                                a = 5;
                                tốt hơn là:
                                a=5;

                                hoặc :

                                if((a == 5) && (b == 7))
                                tốt hơn so với
                                if(a == 5&&b==7)

                                3.Hàm gọi thường nằm phía dưới hàm được gọi, hoặc phải khai báo prototype cho hàm được gọi trước.

                                Như vậy bạn hãy sửa lại chương trình:
                                1.Đặt các hàm dithang()... lên trên hay khai báo prototype
                                2.Sửa lại

                                if((S_phai == S_trai) && (S_trai == nen))
                                {
                                dithang(); // chẳng có gì quái quỷ cả!
                                }
                                else
                                {
                                if(...)
                                {
                                }
                                else
                                {
                                }
                                }

                                3.
                                while (1)
                                {
                                kiem_tra_vach();
                                }
                                thay vì (gọi hàm mà không có() ):

                                while (1)
                                {
                                kiem_tra_vach;
                                }

                                Thân !

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                • mèomướp
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi mèomướp
                                  Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
                                  hôm nay, 13:11
                                • tuyennhan
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi tuyennhan
                                  Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
                                  hôm nay, 09:25
                                • tuyennhan
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi tuyennhan
                                  Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
                                  Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
                                  hôm nay, 09:10
                                • Ng.Phuong.5
                                  Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                                  bởi Ng.Phuong.5
                                  Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                                  Mấy con...
                                  Hôm qua, 19:44
                                • viettinh
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi viettinh
                                  Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                                  Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                                  Hôm qua, 18:12
                                • nguyendinhvan
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi nguyendinhvan
                                  Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                                  Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                                  Cách đơn giản...
                                  Hôm qua, 00:04
                                • mèomướp
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi mèomướp
                                  Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                                  08-01-2025, 19:02
                                • tuyennhan
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi tuyennhan
                                  Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                                  08-01-2025, 15:43
                                • tuyennhan
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi tuyennhan
                                  Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                                  08-01-2025, 15:28
                                • mèomướp
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi mèomướp
                                  Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
                                  08-01-2025, 11:44
                                Đang tải...
                                X