HT PIC-Code sai chỗ nào !!

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • AKA_QUAN
    Thành viên chính thức
    • Jul 2011
    • 77

    #1

    HT PIC-Code sai chỗ nào !!

    Em mới tập lập trình HT Pic !! Gặp đoạn code sau có vấn đề
    PHP Code:
    #include <pic16f87.h>
    
    __CONFIG(HS & PWRTEN & BOREN & LVPDIS & WDTDIS );
    
    void  main(void)
    {
        
        TRISB=0x00;
        while(1)
        {
            PORTB=0xff;
            _delay_ms(50);
            PORTB=0x00;
            _delay_ms(50);
            
        
    
        }
        
    } 
    
    Mp Lab bảo thiếu dấu ) nhưng em kiểm tra rồi làm gì thiếu !! Nhờ các đại ca coi giúp !!
  • bqviet
    Linux zealot
    • Jun 2007
    • 6170

    #2
    Hàm đúng của nó là __delay_ms() và __delay_us()
    có 2 dấu gạch dưới trước từ delay
    Phần mềm tự do hoặc không dùng máy tính nữa !.

    Comment

    • AKA_QUAN
      Thành viên chính thức
      • Jul 2011
      • 77

      #3
      Vẫn không được anh ơi !!

      Comment

      • hienclubvn
        Thành viên tích cực
        • Nov 2010
        • 169

        #4
        tại sao bạn lại ko mở Help của nó mà xem nhỉ ? tôi nghĩ cái này đơn giản thôi mà. Nếu HT pic hổ trợ biết liền. mà cái này là bản free hay *****. Nếu có thì đã ***** chưa.
        Khuyên chân thành bạn, chơi pic16f877a sao ko bắt đầu từ ccs ? nó có đongso tài liệu và code mẫu made in viêtnam.
        Chuyển đi nhé, ko phải hỏi mấy cái này nữa . Hì
        My Face :

        Comment

        • Auto_engine
          Thành viên chính thức
          • Aug 2006
          • 87

          #5
          Nguyên văn bởi AKA_QUAN Xem bài viết
          Em mới tập lập trình HT Pic !! Gặp đoạn code sau có vấn đề
          PHP Code:
          #include <pic16f87.h>
          
          __CONFIG(HS & PWRTEN & BOREN & LVPDIS & WDTDIS );
          
          void  main(void)
          {
              
              TRISB=0x00;
              while(1)
              {
                  PORTB=0xff;
                  _delay_ms(50);
                  PORTB=0x00;
                  _delay_ms(50);
                  
              
          
              }
              
          } 
          
          Mp Lab bảo thiếu dấu ) nhưng em kiểm tra rồi làm gì thiếu !! Nhờ các đại ca coi giúp !!
          Bạn chưa Define _XTAL_FREQ thì làm sao sử dụng hàm __delay_ms() với __delay_us() được.

          Comment

          • AKA_QUAN
            Thành viên chính thức
            • Jul 2011
            • 77

            #6
            PHP Code:
            #include <pic16f87.h>
            #define _XTAL_FREQ 4000000     
            __CONFIG(HS & PWRTEN & BOREN & LVPDIS & WDTDIS);
            void  main(void)
            {
                TRISB=0x00;
                while(1)
                {
                    PORTB=0xff;
                    __delay_ms(50);
                    PORTB=0x00;
                    __delay_ms(50);
                    
                
            
                }
                
            } 
            
            Lỗi vẫn thế !!

            Comment

            • AKA_QUAN
              Thành viên chính thức
              • Jul 2011
              • 77

              #7
              Nguyên văn bởi hienclubvn Xem bài viết
              tại sao bạn lại ko mở Help của nó mà xem nhỉ ? tôi nghĩ cái này đơn giản thôi mà. Nếu HT pic hổ trợ biết liền. mà cái này là bản free hay *****. Nếu có thì đã ***** chưa.
              Khuyên chân thành bạn, chơi pic16f877a sao ko bắt đầu từ ccs ? nó có đongso tài liệu và code mẫu made in viêtnam.
              Chuyển đi nhé, ko phải hỏi mấy cái này nữa . Hì
              Thấy HT C nó lập trình dễ hơn và không quá nhiều hàm không cần thiết !! Vả lại đang học nghề họ dạy HT C !!

              Comment

              • caremlanh
                Thành viên chính thức
                • Jul 2010
                • 41

                #8
                #include <pic16f87.h>
                ht pic đâu có include trực tiếp tên pic, phải chọn tên pic trong project wizard
                và sửa thành dòng trên thành
                #include <pic.h> hoặc là #include <htc.h>

                Comment

                • muhuyl
                  Thành viên mới
                  • Aug 2011
                  • 1

                  #9
                  nếu bác đang học chắc có tài liệu rồi phải không thê bác co thể đăng tài liệu đó cho tôi và anh em học hỏi với đươc không?
                  hjhjhj
                  cảm ơn bác trước

                  Comment

                  • AKA_QUAN
                    Thành viên chính thức
                    • Jul 2011
                    • 77

                    #10
                    Tiện thể cho hỏi sao tui include <htc.h > thì nó báo lỗi không tìm thấy là sao !!

                    Comment

                    • AKA_QUAN
                      Thành viên chính thức
                      • Jul 2011
                      • 77

                      #11
                      PHP Code:
                      #include <pic.h>
                      __CONFIG(LVPDIS & BOREN & PWRTEN & WDTDIS & HS);
                      
                      
                      // Unless already defined assume 4MHz system frequency
                      // This definition is required to calibrate __delay_us() and __delay_ms()
                      #define _XTAL_FREQ 4MHZ
                      
                      
                      void  main(void)
                      {
                          TRISB=0x00;
                          while(1)
                          {
                              PORTB=0xff;
                              __delay_ms(50);
                              PORTB=0x00;
                              __delay_ms(50);    
                          }
                      } 
                      
                      Chừ dính thêm lỗi không tìm thấy hàm __delay_ms()!!

                      Comment

                      • caremlanh
                        Thành viên chính thức
                        • Jul 2010
                        • 41

                        #12
                        Nguyên văn bởi AKA_QUAN Xem bài viết
                        Tiện thể cho hỏi sao tui include <htc.h > thì nó báo lỗi không tìm thấy là sao !!
                        sao lại ko tìm thấy được, nó ở trong folder include của ht pic

                        Nguyên văn bởi AKA_QUAN Xem bài viết
                        Chừ dính thêm lỗi không tìm thấy hàm __delay_ms()!!
                        code trên đã test ok, chắc lỗi do trình dịch của bạn

                        Comment

                        • AKA_QUAN
                          Thành viên chính thức
                          • Jul 2011
                          • 77

                          #13
                          Vậy bạn có thể send file htc.h được không!!

                          Comment

                          • AKA_QUAN
                            Thành viên chính thức
                            • Jul 2011
                            • 77

                            #14
                            Không biết trình dịch của mình bị sao nữa !! Chừ phải dùng hàm delay chế lại từ bộ hàm delay mà Microchip cung cấp !! Đây là bộ hàm delay của Microchip cấp cho : http://www.microchipc.com/sourcecode...6xxxx_v7-1.zip
                            Còn đây là file remix của mình(đính kèm; http://www.mediafire.com/?3cgsdhw6eh2q1ln) , bạn chỉ cần copy nó vào thư mục include của HT C và sao này muốn dùng thì cứ include <delay.h> khỏi phải add vào project mất công !!Cú pháp các hàm như sau
                            PHP Code:
                            void DelayBigUs(unsigned int cnt);
                            void DelayMs(unsigned char cnt);
                            void DelayMs_interrupt(unsigned char cnt);
                            void DelayBigMs(unsigned int cnt);
                            void DelayS(unsigned char cnt); 
                            

                            Comment

                            • kiemkhach10
                              Thành viên tích cực
                              • Mar 2010
                              • 240

                              #15
                              bạn sửa lại như này là chay nè
                              #include <htc.h>
                              __CONFIG(HS & PWRTEN & BOREN & LVPDIS & WDTDIS );
                              #ifndef _XTAL_FREQ
                              #define _XTAL_FREQ 20000000 //nếu dùng thạc anh 20M
                              #endif

                              void main(void)
                              {
                              ANSEL=0x00;
                              ANSELH=0x00;
                              TRISB=0x00;
                              while(1)
                              {
                              PORTB=0xff;
                              __delay_ms(10);//ban thay delay 20ms thành 10ms thui nếu muốn lâu hơn thì dùng vòng for
                              PORTB=0x00;
                              __delay_ms(10);



                              }

                              }
                              Nguyên văn bởi AKA_QUAN Xem bài viết
                              Em mới tập lập trình HT Pic !! Gặp đoạn code sau có vấn đề
                              PHP Code:
                              #include <pic16f87.h>
                              
                              __CONFIG(HS & PWRTEN & BOREN & LVPDIS & WDTDIS );
                              
                              void  main(void)
                              {
                                  
                                  TRISB=0x00;
                                  while(1)
                                  {
                                      PORTB=0xff;
                                      _delay_ms(50);
                                      PORTB=0x00;
                                      _delay_ms(50);
                                      
                                  
                              
                                  }
                                  
                              } 
                              
                              Mp Lab bảo thiếu dấu ) nhưng em kiểm tra rồi làm gì thiếu !! Nhờ các đại ca coi giúp !!

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...