Thông báo

Collapse
No announcement yet.

cần thuê người tại Hà Nội tối ưu code cho pic12f509

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

  • #46
    Theo mình có lẽ nên dùng trình dịch khác may ra ăn thua
    Truy xuất mảng thì ko dùng dc rồi Chỉ còn trông chờ vào mỗi cái thằng delay, mà qua bỏ hết delay còn khoảng 60 % . Như vậy kể cả nhưng bác QueDuong là dùng time cũng không thể dưới 60 % được, tức là chỉ có thể tối ưu max tầm 20 %

    Comment


    • #47
      Nguyên văn bởi duong_act Xem bài viết
      Theo mình có lẽ nên dùng trình dịch khác may ra ăn thua
      Truy xuất mảng thì ko dùng dc rồi Chỉ còn trông chờ vào mỗi cái thằng delay, mà qua bỏ hết delay còn khoảng 60 % . Như vậy kể cả nhưng bác QueDuong là dùng time cũng không thể dưới 60 % được, tức là chỉ có thể tối ưu max tầm 20 %
      vụ này hí hục cũng mệt nhỉ. không dễ như từng nghĩ. tí phải chuyển phát nhanh cho bác Duong bát cháo gà với loong bò húc mới được.

      Comment


      • #48
        Nguyên văn bởi queduong Xem bài viết
        He he ... dùng toàn hàm delay dựng sẵn thì ns nuốt bộ nhớ là phải

        --- Người biết lập trình mà xử lý code ... người ta mấy khi dùng cái hàm delay đâu . Dùng delay nghĩa là thời gian sẽ chết tại đó ( MCU chẳng làm cái gì khác )

        --- Thay vì dùng toàn delay cỡ lớn và nuốt bộ nhớ .... Dùng 1 timer đặt ngắt khéo ... là giải quyết được và loại bỏ hoàn toàn delay ... Chí ít cũng tiết kiệm được cỡ 60 % - 70% thậm chí 75 - 80% bộ nhớ nếu vận dụng khéo !

        Chỉ cần thế là ngon rồi ...
        a Dương vào giúp hộ một tay với. chán ghê. nge bộ bác duong_act vẫn còn nhiều khúc mắc.

        Comment


        • #49
          Nguyên văn bởi kaka_hjtmjss Xem bài viết
          a Dương vào giúp hộ một tay với. chán ghê. nge bộ bác duong_act vẫn còn nhiều khúc mắc.


          thì bác Dương đang giúp bạn đó
          email:
          chỉ được liên lạc từ 19h00 - 21h30



          Comment


          • #50
            Nguyên văn bởi sang_dientu Xem bài viết
            thì bác Dương đang giúp bạn đó
            k e bảo bác queduong mà .không còn bác duong_act thì không nói. hỳ.

            Comment


            • #51
              Nguyên văn bởi kaka_hjtmjss Xem bài viết
              k e bảo bác queduong mà .không còn bác duong_act thì không nói. hỳ.
              bạn có thể tham khảo thêm cái này
              mình thiết kế và viết code hết 5 tháng đấy
              http://www.dientuvietnam.net/forums/...a-nang-106672/
              email:
              chỉ được liên lạc từ 19h00 - 21h30



              Comment


              • #52
                Nguyên văn bởi kaka_hjtmjss Xem bài viết
                k e bảo bác queduong mà .không còn bác duong_act thì không nói. hỳ.
                Mình từ chối ngay từ đầu rồi ... cv của mình đang bận rộn ... thời gian để nghĩ cách o ép code đó vào con PIC bé tẹo... mình làm được rất nhiều việc (hiệu quả và năng suất hơn ) ... Hơn nữa cv của mình chưa xong ... không thể bỏ cái thực tế trước mắt !
                Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                Comment


                • #53
                  cho chú cái code này nữa nè tham khảo thêm

                  Code:
                  #include <htc.h>
                  __CONFIG(    WDTDIS& UNPROTECT );
                  #ifndef _XTAL_FREQ
                   // Unless already defined assume 4MHz system frequency
                   // This definition is required to calibrate __delay_us() and __delay_ms()
                   #define _XTAL_FREQ 4000000
                  #endif
                  
                  
                  
                  int i=0,on=0,off=0,ledxoay=0,a,b,c,d,k;
                  
                  
                  
                  
                  int ledon(int on)
                  {
                      switch (on)
                      {
                      case 1:
                          RA0=1;
                          break;
                      case 2:
                          RA1=1;
                          break;
                      case 3:
                          RA2=1;
                          break;
                      case 4:
                          RA3=1;
                          break;
                      case 5:
                          RB0=1;
                          break;
                      case 6:
                          RB1=1;
                          break;
                      case 7:
                          RB2=1;
                          break;
                      case 8:
                          RB3=1;
                          break;
                      case 9:
                          RB4=1;
                          break;
                      case 10:
                          RB5=1;
                          break;
                      case 11:
                          RB6=1;
                          break;
                      case 12:
                          RB7=1;        
                          break;
                      case 13:
                          RC0=1;
                          break;
                      case 14:
                          RC1=1;
                          break;
                      case 15:
                          RC2=1;
                          break;
                      case 16:
                          RC3=1;
                          break;
                      case 17:
                          RC4=1;
                          break;
                      case 18:
                          RC5=1;
                          break;
                      case 19:
                          RC6=1;
                          break;
                      case 20:
                          RC7=1;
                          break;
                      }
                  }
                  
                  void ledoff(int off)
                  {
                      switch (off)
                      {
                      case 1:
                          RA0=0;
                          break;
                      case 2:
                          RA1=0;
                          break;
                      case 3:
                          RA2=0;
                          break;
                      case 4:
                          RA3=0;
                          break;
                      case 5:
                          RB0=0;
                          break;
                      case 6:
                          RB1=0;
                          break;
                      case 7:
                          RB2=0;
                          break;
                      case 8:
                          RB3=0;
                          break;
                      case 9:
                          RB4=0;
                          break;
                      case 10:
                          RB5=0;
                          break;
                      case 11:
                          RB6=0;
                          break;
                      case 12:
                          RB7=0;        
                          break;
                      case 13:
                          RC0=0;
                          break;
                      case 14:
                          RC1=0;
                          break;
                      case 15:
                          RC2=0;
                          break;
                      case 16:
                          RC3=0;
                          break;
                      case 17:
                          RC4=0;
                          break;
                      case 18:
                          RC5=0;
                          break;
                      case 19:
                          RC6=0;
                          break;
                      case 20:
                          RC7=0;
                          break;
                      }
                  }
                  
                  void chay3led()
                  {    ledxoay++;
                  
                  switch (ledxoay)
                      {
                      case 1:
                          RC5=1;
                          break;
                      case 2:
                          RC6=1;
                          break;
                      case 3:
                          RC7=1;
                          break;
                      }
                  switch (ledxoay)
                      {
                      case 3:
                          RC5=0;
                          break;
                      case 1:
                          RC6=0;
                          break;
                      case 2:
                          RC7=0;
                          break;
                      }
                  
                      if(ledxoay>3)
                          ledxoay=0;
                  }
                  
                  void chayled1to15()
                  {
                      for(int i=1;i<16;i++)
                      {
                          ledon(i);
                          __delay_ms(100);
                          chay3led();
                          ledoff(i);
                  
                  
                      }    
                  }
                  
                  void chayled15to1()
                  {
                      for(int i=15;i>0;i--)
                      {
                          ledon(i);
                          __delay_ms(100);
                          chay3led();
                          ledoff(i);
                      }
                  }
                  
                  
                  void donled1to15()
                  {
                      int d=15;
                      for(i=1;i<16;i++)
                      {
                          for(int i=1;i<d;i++)
                          {    
                              ledon(i);
                              __delay_ms(100);
                              ledoff(i);
                              chay3led();
                              
                          }
                          ledon(d);
                          d--;
                      }
                      
                  }
                  
                  void donled15to1()
                  {
                      int d=1;
                      for(i=15;i>0;i--)
                      {
                          for(int i=15;i>d;i--)
                          {    
                              ledon(i);
                              __delay_ms(100);
                              ledoff(i);
                              chay3led();
                          
                          }
                  
                          ledon(d);
                          d++;        
                      }
                      
                  }
                  
                  
                  
                  void main()
                  {
                  TRISA=0x00;
                  TRISB=0x00;
                  TRISC=0x00;
                  
                  
                  for (int i=0;i<21;i++)
                  {
                  ledon(i);
                  }
                  __delay_ms(1000);
                  
                  /*
                  for (int i=0;i<21;i++)
                  {
                  ledoff(i);
                  }
                  __delay_ms(300);
                  */
                  while (1)
                  {
                      
                  
                  
                  
                      for (int i1=0;i1<3;i1++)
                      {
                          chayled1to15();
                          chayled15to1();
                          chay3led();
                      }
                  
                  
                  
                  
                  
                      for (int i=0;i<3;i++)
                      {
                          donled1to15();
                          donled15to1();
                          chay3led();
                      }
                  
                  
                  
                  
                      for (int i4=0;i4<10;i4++)
                      {
                          for(int i5=1;i5<16;i5++)
                          {
                          ledon(i5);
                          }
                          __delay_ms(100);
                          chay3led();
                          for(int i6=1;i6<16;i6++)
                          {
                          ledoff(i6);
                          }
                          __delay_ms(100);
                          chay3led();
                      }
                  
                  
                  
                  
                      for (int i7=0;i7<10;i7++)
                      {
                  
                  
                          for(int i8=0;i8<16;i8++)   // led chan on
                          {
                              i8++;
                              ledon(i8);
                          }
                          __delay_ms(200);
                          chay3led();
                  
                          for(int i9=1;i9<16;i9++)    //led le on
                          {
                              i9++;
                              ledon(i9);
                          }    
                      
                          for(int i10=0;i10<16;i10++)        //led chan off
                          {
                              i10++;
                              ledoff(i10);
                          }
                  
                          __delay_ms(200);
                          chay3led();
                  
                          for(int i11=1;i11<16;i11++)        //led le off
                          {
                              i11++;
                              ledoff(i11);
                          }
                          
                      }
                  
                      for (int i1=0;i1<8;i1++)
                      {
                          chayled1to15();
                          donled1to15();
                          chay3led();
                          chayled15to1();
                          donled15to1();
                          chay3led();
                      }
                  
                  }
                  
                  }
                  email:
                  chỉ được liên lạc từ 19h00 - 21h30



                  Comment


                  • #54
                    Báo cáo các bác ! Em xin bó tay
                    Tối ưu thì tối ưu được nhưng mà được có 1 ít. Con PIC bộ nhớ nó ít quá và một số thuật toán ko hiểu sao ko dùng được nên em chịu chết

                    Comment


                    • #55
                      Nguyên văn bởi queduong Xem bài viết
                      Mình từ chối ngay từ đầu rồi ... cv của mình đang bận rộn ... thời gian để nghĩ cách o ép code đó vào con PIC bé tẹo... mình làm được rất nhiều việc (hiệu quả và năng suất hơn ) ... Hơn nữa cv của mình chưa xong ... không thể bỏ cái thực tế trước mắt !
                      thì hôm nọ có thấy a bảo giúp. chắc e hiểu nhầm. mà e bảo giúp í không phải bảo a làm hộ luôn. chỉ là góp ý và đưa ra thêm 1 số phương hướng cho bác duong_act thôi. híc. giù sao cũng cảm ơn a.

                      Comment


                      • #56
                        Nguyên văn bởi duong_act Xem bài viết
                        Báo cáo các bác ! Em xin bó tay
                        Tối ưu thì tối ưu được nhưng mà được có 1 ít. Con PIC bộ nhớ nó ít quá và một số thuật toán ko hiểu sao ko dùng được nên em chịu chết
                        mấy mấy đếm thao thức chờ đợi. hy vọng rồi tuyệt vọng. chán quá! cũng xin chân thành bác duong_act đã giúp đỡ nhiệt tình. lúc nào có dịp kiếm con máy đen trắng gửi qua .e độ cho quả led 32 kiểu nhìn cho hoành tráng. :d

                        Comment


                        • #57
                          Nguyên văn bởi sang_dientu Xem bài viết
                          cho chú cái code này nữa nè tham khảo thêm

                          Code:
                          #include <htc.h>
                          __CONFIG(    WDTDIS& UNPROTECT );
                          #ifndef _XTAL_FREQ
                           // Unless already defined assume 4MHz system frequency
                           // This definition is required to calibrate __delay_us() and __delay_ms()
                           #define _XTAL_FREQ 4000000
                          #endif
                          
                          
                          
                          int i=0,on=0,off=0,ledxoay=0,a,b,c,d,k;
                          
                          
                          
                          
                          int ledon(int on)
                          {
                              switch (on)
                              {
                              case 1:
                                  RA0=1;
                                  break;
                              case 2:
                                  RA1=1;
                                  break;
                              case 3:
                                  RA2=1;
                                  break;
                              case 4:
                                  RA3=1;
                                  break;
                              case 5:
                                  RB0=1;
                                  break;
                              case 6:
                                  RB1=1;
                                  break;
                              case 7:
                                  RB2=1;
                                  break;
                              case 8:
                                  RB3=1;
                                  break;
                              case 9:
                                  RB4=1;
                                  break;
                              case 10:
                                  RB5=1;
                                  break;
                              case 11:
                                  RB6=1;
                                  break;
                              case 12:
                                  RB7=1;        
                                  break;
                              case 13:
                                  RC0=1;
                                  break;
                              case 14:
                                  RC1=1;
                                  break;
                              case 15:
                                  RC2=1;
                                  break;
                              case 16:
                                  RC3=1;
                                  break;
                              case 17:
                                  RC4=1;
                                  break;
                              case 18:
                                  RC5=1;
                                  break;
                              case 19:
                                  RC6=1;
                                  break;
                              case 20:
                                  RC7=1;
                                  break;
                              }
                          }
                          
                          void ledoff(int off)
                          {
                              switch (off)
                              {
                              case 1:
                                  RA0=0;
                                  break;
                              case 2:
                                  RA1=0;
                                  break;
                              case 3:
                                  RA2=0;
                                  break;
                              case 4:
                                  RA3=0;
                                  break;
                              case 5:
                                  RB0=0;
                                  break;
                              case 6:
                                  RB1=0;
                                  break;
                              case 7:
                                  RB2=0;
                                  break;
                              case 8:
                                  RB3=0;
                                  break;
                              case 9:
                                  RB4=0;
                                  break;
                              case 10:
                                  RB5=0;
                                  break;
                              case 11:
                                  RB6=0;
                                  break;
                              case 12:
                                  RB7=0;        
                                  break;
                              case 13:
                                  RC0=0;
                                  break;
                              case 14:
                                  RC1=0;
                                  break;
                              case 15:
                                  RC2=0;
                                  break;
                              case 16:
                                  RC3=0;
                                  break;
                              case 17:
                                  RC4=0;
                                  break;
                              case 18:
                                  RC5=0;
                                  break;
                              case 19:
                                  RC6=0;
                                  break;
                              case 20:
                                  RC7=0;
                                  break;
                              }
                          }
                          
                          void chay3led()
                          {    ledxoay++;
                          
                          switch (ledxoay)
                              {
                              case 1:
                                  RC5=1;
                                  break;
                              case 2:
                                  RC6=1;
                                  break;
                              case 3:
                                  RC7=1;
                                  break;
                              }
                          switch (ledxoay)
                              {
                              case 3:
                                  RC5=0;
                                  break;
                              case 1:
                                  RC6=0;
                                  break;
                              case 2:
                                  RC7=0;
                                  break;
                              }
                          
                              if(ledxoay>3)
                                  ledxoay=0;
                          }
                          
                          void chayled1to15()
                          {
                              for(int i=1;i<16;i++)
                              {
                                  ledon(i);
                                  __delay_ms(100);
                                  chay3led();
                                  ledoff(i);
                          
                          
                              }    
                          }
                          
                          void chayled15to1()
                          {
                              for(int i=15;i>0;i--)
                              {
                                  ledon(i);
                                  __delay_ms(100);
                                  chay3led();
                                  ledoff(i);
                              }
                          }
                          
                          
                          void donled1to15()
                          {
                              int d=15;
                              for(i=1;i<16;i++)
                              {
                                  for(int i=1;i<d;i++)
                                  {    
                                      ledon(i);
                                      __delay_ms(100);
                                      ledoff(i);
                                      chay3led();
                                      
                                  }
                                  ledon(d);
                                  d--;
                              }
                              
                          }
                          
                          void donled15to1()
                          {
                              int d=1;
                              for(i=15;i>0;i--)
                              {
                                  for(int i=15;i>d;i--)
                                  {    
                                      ledon(i);
                                      __delay_ms(100);
                                      ledoff(i);
                                      chay3led();
                                  
                                  }
                          
                                  ledon(d);
                                  d++;        
                              }
                              
                          }
                          
                          
                          
                          void main()
                          {
                          TRISA=0x00;
                          TRISB=0x00;
                          TRISC=0x00;
                          
                          
                          for (int i=0;i<21;i++)
                          {
                          ledon(i);
                          }
                          __delay_ms(1000);
                          
                          /*
                          for (int i=0;i<21;i++)
                          {
                          ledoff(i);
                          }
                          __delay_ms(300);
                          */
                          while (1)
                          {
                              
                          
                          
                          
                              for (int i1=0;i1<3;i1++)
                              {
                                  chayled1to15();
                                  chayled15to1();
                                  chay3led();
                              }
                          
                          
                          
                          
                          
                              for (int i=0;i<3;i++)
                              {
                                  donled1to15();
                                  donled15to1();
                                  chay3led();
                              }
                          
                          
                          
                          
                              for (int i4=0;i4<10;i4++)
                              {
                                  for(int i5=1;i5<16;i5++)
                                  {
                                  ledon(i5);
                                  }
                                  __delay_ms(100);
                                  chay3led();
                                  for(int i6=1;i6<16;i6++)
                                  {
                                  ledoff(i6);
                                  }
                                  __delay_ms(100);
                                  chay3led();
                              }
                          
                          
                          
                          
                              for (int i7=0;i7<10;i7++)
                              {
                          
                          
                                  for(int i8=0;i8<16;i8++)   // led chan on
                                  {
                                      i8++;
                                      ledon(i8);
                                  }
                                  __delay_ms(200);
                                  chay3led();
                          
                                  for(int i9=1;i9<16;i9++)    //led le on
                                  {
                                      i9++;
                                      ledon(i9);
                                  }    
                              
                                  for(int i10=0;i10<16;i10++)        //led chan off
                                  {
                                      i10++;
                                      ledoff(i10);
                                  }
                          
                                  __delay_ms(200);
                                  chay3led();
                          
                                  for(int i11=1;i11<16;i11++)        //led le off
                                  {
                                      i11++;
                                      ledoff(i11);
                                  }
                                  
                              }
                          
                              for (int i1=0;i1<8;i1++)
                              {
                                  chayled1to15();
                                  donled1to15();
                                  chay3led();
                                  chayled15to1();
                                  donled15to1();
                                  chay3led();
                              }
                          
                          }
                          
                          }
                          thank bác nhé! e sẽ nghiên cứu cái này.

                          Comment


                          • #58
                            sao không dùng con PIC có dung lượng lớn hơn có phải ngon không ?
                            Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                            Comment


                            • #59
                              Cái vụ thuê người này lâu chốt kết quả thế nhỉ ? nghe đâu có người đặt giá 5$
                              Phần mềm tự do hoặc không dùng máy tính nữa !.

                              Comment


                              • #60
                                Nguyên văn bởi bqviet Xem bài viết
                                Cái vụ thuê người này lâu chốt kết quả thế nhỉ ? nghe đâu có người đặt giá 5$
                                bác duong_act nhận 5$ mà pó tay. buồn thật.

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X