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

  • viet code assemly cho 8951 do do rong cua 1 xung vuong kick vao chan P3.5 hay chan nao khac cung duoc ??????minh nghi la dung timer de dem nhung chua biet xu ly ra sao de doc gia tri nay??
    ai biet giup minh voi???

    Comment


    • rất cảm ơn bạn.cốt đó rất đầy đủ mình rất thích. nhưng sao mình coppy nó cho dịch sang hex,nó báo nỗi như sau lè

      Build target 'Target 1'
      compiling hue_nhayled.c...
      HUE_NHAYLED.C(108): error C141: syntax error near '2'
      Target not created

      bạn xem lại dùm.tớ đang dùng keil c 8.05

      Comment


      • Nguyên văn bởi 8sung Xem bài viết
        rất cảm ơn bạn.cốt đó rất đầy đủ mình rất thích. nhưng sao mình coppy nó cho dịch sang hex,nó báo nỗi như sau lè

        Build target 'Target 1'
        compiling hue_nhayled.c...
        HUE_NHAYLED.C(108): error C141: syntax error near '2'
        Target not created

        bạn xem lại dùm.tớ đang dùng keil c 8.05
        // 2 led sang tu P2_7 toi P2_0
        for(i=0;i<10;i++)
        {
        P2=0x01,P2=0x02,P2=0x20,P2=0x10,P2=0x08,P2=0x04,P2 =0x80;delay(2000);
        P2=0x01,P2=0x02,P2=0x20,P2=0x10,P2=0x08,P2=0x04,P2 =0x40;delay(2000);
        P2=0x80,P2=0x40,P2=0x01,P2=0x02,P2=0x08,P2=0x01,P2 =0x20;delay(2000);
        P2=0x80,P2=0x40,P2=0x01,P2=0x02,P2=0x08,P2=0x01,P2 =0x10;delay(2000);
        P2=0x80,P2=0x40,P2=0x02,P2=0x01,P2=0x10,P2=0x020,P 2=0x08;delay(2000);
        P2=0x80,P2=0x40,P2=0x02,P2=0x01,P2=0x10,P2=0x20,P2 =0x04;delay(2000);
        P2=0x80,P2=0x20,P2=0x40,P2=0x10,P2=0x08,P2=0x04,P2 =0x02;delay(2000);
        P2=0x80,P2=0x20,P2=0x40,P2=0x10,P2=0x08,P2=0x04,P2 =0x01;delay(2000);

        }
        lỗi đó là do P2 viết sai thành P 2 ;
        bạn nhìn vào dòng lệnh thứ 5 từ dưới lên
        sửa xong rồi dịch là ok !
        Code này viết tường tận, rõ ràng ý tưởng lập trình điều khiển
        Còn khi đã thành thạo rồi thì có thể dùng vòng lặp, biến mảng để điều khiển
        rất ngắn gọn và hiệu quả !
        Chúc các bạn thành công !
        0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
        ||
        PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK

        Comment


        • Nguyên văn bởi tanhungngt Xem bài viết
          viet code assemly cho 8951 do do rong cua 1 xung vuong kick vao chan P3.5 hay chan nao khac cung duoc ??????minh nghi la dung timer de dem nhung chua biet xu ly ra sao de doc gia tri nay??
          ai biet giup minh voi???
          Trong sách của Thầy Tống Văn On cũng có phần này đó bạn !
          Dùng timer để đo độ rộng xung ! Vấn đề là đọc giá trị của Timer
          Khi thiết lập ở chế độ đo xung, thì mỗi khi Chân P3.5 lên mức cao sẽ cho phép bộ timer hoạt động , khi chân này trở về mức thấp thì nó sẽ khóa bộ Timer lại
          lúc này bạn có thể đọc giá trị của THx và TLx
          chân INT0 có thể được lập trình để tạo ra một ngắt khi chân này chuyển trở về mức thấp , vậy là đọc được giá trị của THx và TLx , đây là 2 thanh ghi 8 bít !
          Chúc bạn thành công !
          0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
          ||
          PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK

          Comment


          • úi rùi mình rút quá.tớ đã sửa như vocam và đã dịch ra hex đc nhưng khi Debug lại nỗi:
            running with code sire limit: 2k
            Load "C:\\Keil\\C51\\Examples\\HELLO\\mau2"
            các bạn chỉ tớ với

            Comment


            • hihi.bạn ơi chương trình c bạn đang dùng chỉ cho phép bạn chạy chương trình với code sinh ra tối đa chỉ có 2k mà thôi.bạn kiểm tra file hex của bạn xem.

              Comment


              • Đoạn code mình đưa cho bạn ,mình đã nạp vào cho chip và nó chạy tốt mà. Mà bạn đã sử dụng tốt keil.C chưa ,nếu làm từng bước Keil.C sai thì chương trình đúng nó củng báo sai
                Học hỏi là trên hết .

                Comment


                • Nguyên văn bởi vo_cam Xem bài viết
                  // 2 led sang tu P2_7 toi P2_0
                  for(i=0;i<10;i++)
                  {
                  P2=0x01,P2=0x02,P2=0x20,P2=0x10,P2=0x08,P2=0x04,P2 =0x80;delay(2000);
                  P2=0x01,P2=0x02,P2=0x20,P2=0x10,P2=0x08,P2=0x04,P2 =0x40;delay(2000);
                  P2=0x80,P2=0x40,P2=0x01,P2=0x02,P2=0x08,P2=0x01,P2 =0x20;delay(2000);
                  P2=0x80,P2=0x40,P2=0x01,P2=0x02,P2=0x08,P2=0x01,P2 =0x10;delay(2000);
                  P2=0x80,P2=0x40,P2=0x02,P2=0x01,P2=0x10,P2=0x020,P 2=0x08;delay(2000);
                  P2=0x80,P2=0x40,P2=0x02,P2=0x01,P2=0x10,P2=0x20,P2 =0x04;delay(2000);
                  P2=0x80,P2=0x20,P2=0x40,P2=0x10,P2=0x08,P2=0x04,P2 =0x02;delay(2000);
                  P2=0x80,P2=0x20,P2=0x40,P2=0x10,P2=0x08,P2=0x04,P2 =0x01;delay(2000);

                  }
                  lỗi đó là do P2 viết sai thành P 2 ;
                  bạn nhìn vào dòng lệnh thứ 5 từ dưới lên
                  sửa xong rồi dịch là ok !
                  Code này viết tường tận, rõ ràng ý tưởng lập trình điều khiển
                  Còn khi đã thành thạo rồi thì có thể dùng vòng lặp, biến mảng để điều khiển
                  rất ngắn gọn và hiệu quả !
                  Chúc các bạn thành công !
                  Bạn ơi ,bạn có thể viết thử 1 đoạn chương trình trên theo cách bạn nói không .Mình muốn biết thêm để hiểu hơn. Cám ơn bạn trước
                  Học hỏi là trên hết .

                  Comment


                  • Bạn viết theo vòng lặp, biến mảng nha
                    Học hỏi là trên hết .

                    Comment


                    • chào bạn wish_blue07.tớ mới ngâm cứu món này thui.mà tớ chỉ học hỏi các bạn trên mạng chứ ko đến lớp vì ko có thời gian.tớ sửa tivi ở nhà,thấy món này hay nên tìm hiểu à.
                      tớ làm như sau bạn xem có đúng ko nhe
                      1.mở new project,viết tên rùi chọn 89c52
                      2.mở new file,viết vào đó rùi save với tên.c
                      3.add vào
                      4.chọn phan dịch ra hex
                      5.bấm f7
                      đến bước debug thi bi nỗi
                      cho mình hỏi nhé:nếu ko cần debug ma cứ lấy luôn file.hex ra nạp vào ic thì có đc ko?
                      RẤT MONG CÁC BẠN CHỈ GIÁO

                      Comment


                      • Nói cái trên thì dài lắm , 8sung vào trang này nè để xem cách sử dụng . nên nhớ sau khi đặt file trong chở New project thì nhớ chọn Altem rồi chọn AT89C52 rồi ôk nha . Làm theo các bước trong trang web dưới nha:
                        http://www.dientuvietnam.net/forums/...ead.php?t=1163
                        Học hỏi là trên hết .

                        Comment


                        • các anh ơi cho em hỏi : chương trình sau bị sai chỗ nào ma khi em viết bên Kiel C bị báo lỗi rất nhiều.
                          Đây là chương trình em viết theo anh DuyPhi:

                          #include<regx51.h>
                          void delay(usnigned int ms)//hàm này tạo độ trễ thời gian, dơn vị là ms
                          {
                          usigned char i,j;//khai báo kiểu "char"mỗi biến chỉ chiếm 1 byte
                          for(i=0;i<ms;i++)
                          {
                          for(j=0;j<120;j++);
                          }
                          }
                          main()
                          {
                          unsigned char m,tem;
                          tem=0x01;
                          while(1)
                          { P1=tem;delay(1000);
                          tem<<=1;if(tem==0x00)then tem=0x01; //dich sang trai 1 bit
                          }

                          Comment


                          • Nguyên văn bởi namnam8888 Xem bài viết
                            các anh ơi cho em hỏi : chương trình sau bị sai chỗ nào ma khi em viết bên Kiel C bị báo lỗi rất nhiều.
                            Đây là chương trình em viết theo anh DuyPhi:

                            #include<regx51.h>
                            void delay(usnigned int ms)//hàm này tạo độ trễ thời gian, dơn vị là ms
                            {
                            usigned char i,j;//khai báo kiểu "char"mỗi biến chỉ chiếm 1 byte
                            for(i=0;i<ms;i++)
                            {
                            for(j=0;j<120;j++);
                            }
                            }
                            main()
                            {
                            unsigned char m,tem;
                            tem=0x01;
                            while(1)
                            { P1=tem;delay(1000);
                            tem<<=1;if(tem==0x00)then tem=0x01; //dich sang trai 1 bit
                            }
                            báo lỗi j ? up lên đây các dòng Keil báo lỗi thì mới giải quyết đc chứ !

                            Comment


                            • Đây là chương trình đúng của bạn, bạn nhìn vào xem vì sao mình sai nha, để kn lần sau,riêng câu điều kiện if của Keil.C khác với C nên không có then đâu nha. Chúc bạn thành công
                              #include<regx51.h>.
                              void delay(unsigned int ms)//hàm này tạo độ trễ thời gian, đơn vị là ms
                              {
                              unsigned char i,j;//khai báo kiểu"char"mỗii biến chỉ chiếm 1 byte
                              for(i=0;i<ms;i++)
                              {
                              for(j=0;j<120;j++);
                              }
                              }
                              main()
                              {
                              unsigned char tem;
                              tem=0x01;
                              while(1)
                              { P1=tem;delay(1000);
                              tem<<=1;
                              if(tem==0x00)
                              {
                              tem=0x01;//dich sang trai 1 bit
                              }
                              }
                              }
                              Học hỏi là trên hết .

                              Comment


                              • bác nào có sơ đồ và code(asm) của mạch đồng hồ số dùng 8051 thì cho em xin nhá
                                Em cảm ơn các bác rất rất nhìu, em đang cần gấp mà. Các bác giúp em nhé.

                                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