Thông báo

Collapse
No announcement yet.

nạp pic nhưng không chạy !

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

  • nạp pic nhưng không chạy !

    sau 1 thời gian tự học lý thuyết con 16F887 thời gian gần đây mình mới có thì giờ để thực hành,mình dùng mạch nạp burn-e ,bo test tự làm khá đơn giản chỉ có 8 led nối với cổng RB ,led chung mass , thạch anh 20Mhz,tụ 33p,chân MCLR treo trở 10k lên Vcc,sau khi gõ code trên HTPIC xong ,biên dịch" Build successful! " xong mạch báo nạp thành công rồi mà nó vẫn không chạy ,nạp vào proteus cũng không chạy ai chỉ giáo vài chiêu với !


    code đây
    HTML Code:
    #include <htc.h>
    __CONFIG(FOSC_HS & WDTE_OFF & PWRTE_ON&MCLRE_ON&CP_OFF&CPD_OFF&BOREN_OFF&IESO_OFF&FCMEN_OFF&LVP_OFF&DEBUG_OFF);
    __CONFIG(BOR4V_BOR40V&WRT_OFF);
    #define _XTAL_FREQ 20000000
     
    //================================================================
    //==  ham Delay doi so la so miligiay can gay tre
    void delayMS(unsigned int time){
    	while(time--){
    		TMR0 = 6;
    		T0IF = 0; // xoa co ngat 
    		while(!T0IF);
    	};
    }
    
    // == Ham khoi tao cho chip PIC16F877A
    void init(void){
    	// Khoi tao I/O cho cac port
        ANSEL=0;
        ANSELH=0;
    	TRISA = 0xFF; // Port A as input
    	TRISB = 0x00;
    	TRISC = 0xFF;
    	TRISD = 0xFF;// PortD as output
    	
    	// Khoi tao cho cac thanh ghi	
    
    }
    
    // Chuong trinh chinh
    void main(void)
    {
    	unsigned char i;
    	 init();
    	while(1)
    {
    		PORTB=0x00;
    			delayMS(5000);
               PORTB=0XFF;
    delayMS(5000);
    		}
    
    }
    SỐNG THEO BẢN CHẤT,KỆ MỌI NGƯỜI NÓI GÌ THÌ NÓI

  • #2
    Không phải là mạch không chạy mà tại bạn chưa khai báo ngắt trong hàm main() nên nó giữ trạng thái PORTB=0x00 hoài đó thôi.

    Comment


    • #3
      Nguyên văn bởi huuthinh Xem bài viết
      Không phải là mạch không chạy mà tại bạn chưa khai báo ngắt trong hàm main() nên nó giữ trạng thái PORTB=0x00 hoài đó thôi.
      nhưng các chương trình mọi người viết mình đâu thấy khai báo ngắt đâu,mình nghĩ nó chỉ liên quan đến các thanh điều khiển port thôi chứ ,không dùng ngắt thì khai báo chi vậy
      SỐNG THEO BẢN CHẤT,KỆ MỌI NGƯỜI NÓI GÌ THÌ NÓI

      Comment


      • #4
        ai biết chỉ dùm mình để vượt qua rào cản tâm lý ban đầu đã khi nào chạy được thì mình tự làm hết
        SỐNG THEO BẢN CHẤT,KỆ MỌI NGƯỜI NÓI GÌ THÌ NÓI

        Comment


        • #5
          Bạn chưa khởi tạo Timer0, nói cách khác chưa đặt cấu hình cho nó.

          Timer0 dùng 1 trong 2 nguồn clock
          - Clock nội bộ, lấy từ dao động chính Fosc/4, khi bit T0CS=0
          - Clock từ bên ngoài, lấy từ chân T0CKI, khi bit T0CS=1

          Khi mới bật điện, T0CS=1 tức là Timer0 chỉ chạy khi có xung vào chân T0CKI. Cần phải đặt lại để Timer0 chạy bằng clock Fosc/4 thì hàm delayMS() mới hoạt động được.
          Phần mềm tự do hoặc không dùng máy tính nữa !.

          Comment


          • #6
            Bổ sung thêm, khi mới bắt đầu làm thì đừng dùng timer, interrupt ... gì gì vội. Dùng hàm __delay_ms() hoặc __delay_us() cho dễ trước đã.
            Phần mềm tự do hoặc không dùng máy tính nữa !.

            Comment


            • #7
              Nguyên văn bởi bqviet Xem bài viết
              Bổ sung thêm, khi mới bắt đầu làm thì đừng dùng timer, interrupt ... gì gì vội. Dùng hàm __delay_ms() hoặc __delay_us() cho dễ trước đã.
              VÔ cùng cảm ơn anh việt hôm qua em xem lại phần cứng và phần mềm thì đã nháy được cảng B rồi ,thực ra thì nó cũng không khó lắm nhưng cái tâm lý mới là quan trọng,để biết là nó tồn tại và chạy được,bây giờ thì đơn giản rồi chỉ việc học thôi,chứ cứ làm thứ không chắc là nó hoạt động được thì nản lắm,cám ơn anh nhiều !!!!
              SỐNG THEO BẢN CHẤT,KỆ MỌI NGƯỜI NÓI GÌ THÌ NÓI

              Comment


              • #8
                Bạn viết thế này cho đơn giản:
                Code:
                #include <htc.h>
                __CONFIG(FOSC_HS & WDTE_OFF & PWRTE_ON&MCLRE_ON&CP_OFF&CPD_OFF&BOREN_OFF&IESO_OFF&FCMEN_OFF&LVP_OFF&DEBUG_OFF);
                __CONFIG(BOR4V_BOR40V&WRT_OFF);
                #define _XTAL_FREQ 20000000
                //================================================================
                // == Ham khoi tao cho chip PIC16F877A
                void init(void){
                	// Khoi tao I/O cho cac port
                	ANSEL=0;
                	ANSELH=0;
                	TRISA = 0xFF; // Port A as input
                	TRISB = 0x00;
                	TRISC = 0xFF;
                	TRISD = 0xFF;// PortD as output
                }
                //================================================================
                // Chuong trinh chinh
                void main(void)
                {
                	unsigned char i;
                	init();
                	while(1)
                	{
                		PORTB=0x00;
                		__delay_ms( 500 ); // 500 ms delay
                		PORTB=0XFF;
                		__delay_ms( 500 ); // 500 ms delay
                	}
                
                }
                Nếu không dùng ngắt thì HTPIC hỗ trợ hàm delay rất chính xác
                Code:
                _delay( 1 ); // 1 instruction cycle delay
                __delay_us( 2 ); // 2 us delay
                __delay_ms( 3 ); // 3 ms delay

                Comment


                • #9
                  Nguyên văn bởi pvhanh Xem bài viết
                  Bạn viết thế này cho đơn giản:
                  Code:
                  #include <htc.h>
                  __CONFIG(FOSC_HS & WDTE_OFF & PWRTE_ON&MCLRE_ON&CP_OFF&CPD_OFF&BOREN_OFF&IESO_OFF&FCMEN_OFF&LVP_OFF&DEBUG_OFF);
                  __CONFIG(BOR4V_BOR40V&WRT_OFF);
                  #define _XTAL_FREQ 20000000
                  //================================================================
                  // == Ham khoi tao cho chip PIC16F877A
                  void init(void){
                  	// Khoi tao I/O cho cac port
                  	ANSEL=0;
                  	ANSELH=0;
                  	TRISA = 0xFF; // Port A as input
                  	TRISB = 0x00;
                  	TRISC = 0xFF;
                  	TRISD = 0xFF;// PortD as output
                  }
                  //================================================================
                  // Chuong trinh chinh
                  void main(void)
                  {
                  	unsigned char i;
                  	init();
                  	while(1)
                  	{
                  		PORTB=0x00;
                  		__delay_ms( 500 ); // 500 ms delay
                  		PORTB=0XFF;
                  		__delay_ms( 500 ); // 500 ms delay
                  	}
                  
                  }
                  Nếu không dùng ngắt thì HTPIC hỗ trợ hàm delay rất chính xác
                  Code:
                  _delay( 1 ); // 1 instruction cycle delay
                  __delay_us( 2 ); // 2 us delay
                  __delay_ms( 3 ); // 3 ms delay
                  mình viết lại rồi cũng tối ưu và hiểu được 2 thanh ANSEL và ANSELH của 887 mà 877 không có thì phải mình viết như sau :
                  HTML Code:
                  #include <htc.h>
                  __CONFIG(FOSC_HS & WDTE_OFF & PWRTE_ON&MCLRE_ON&CP_OFF&CPD_OFF&BOREN_OFF&IESO_OFF&FCMEN_OFF&LVP_OFF&DEBUG_OFF);
                  __CONFIG(BOR4V_BOR40V&WRT_OFF);
                  #define _XTAL_FREQ 20000000
                   
                  //================================================================
                  void init()
                  {
                  ANSELH=0;
                  TRISB=0;
                  }
                  
                  
                  // Chuong trinh chinh
                  void main()
                  
                  
                  {
                  
                  	init();
                  	PORTB=0X00;
                          __delay_ms(500);
                          PORTB=0XFF;
                          __delay_ms(500);
                  
                  }
                  nhưng có điều rất buồn cười là không cần dùng vòng lặp while(1) và đã rebuil lại rồi mà nó vẫn tự chạy lại vậy,kể cả tạo 1 điều kiện của vòng lặp thì nó thực hiện xong rồi thoát nhưng không đứng im và lại chạy kể cả cuối chương trình viết 1 vòng lặp vô nghĩa cho nó đứng im thì nó vẫn chạy
                  HTML Code:
                  while(1)
                  {}
                  SỐNG THEO BẢN CHẤT,KỆ MỌI NGƯỜI NÓI GÌ THÌ NÓI

                  Comment


                  • #10
                    hic sửa được rồi mọi người ak,không ai ngu như mình mở 2 tab ra gõ 1 tab rebuil 1 tab khà khà ,mọi thứ đều ổn rồi không ai dạy tự học khổ vậy đấy
                    SỐNG THEO BẢN CHẤT,KỆ MỌI NGƯỜI NÓI GÌ THÌ NÓI

                    Comment


                    • #11
                      Nguyên văn bởi h11540 Xem bài viết
                      hic sửa được rồi mọi người ak,không ai ngu như mình mở 2 tab ra gõ 1 tab rebuil 1 tab khà khà ,mọi thứ đều ổn rồi không ai dạy tự học khổ vậy đấy
                      mọi người chỉ bạn trên diễn đàn nhiệt tình như vậy mà dám kêu "không ai dạy"
                      vậy như thế nào mới gọi là dạy
                      góp ý !
                      Cửa hàng LINH KIỆN ĐIỆN TỬ BIÊN HÒA
                      Ngã tư Amata -đối diện Bệnh Viện Nhi Đồng Nai đi tiếp 100m
                      ĐC: 547/7 tổ 4 kp1 Long bình - Biên Hòa. Tell: 099509.79.68

                      Comment


                      • #12
                        Đừng nghĩ mình có thể tự làm được như người khác vì mình chẳng phải là người ta ! Đọc mấy bài của bạn này thấy tư tưởng ... làm được tuốt, góp ý thì cái gì cậu ấy cũng " thông thái " biết rồi ( thực tế thì chẳng biết cái gì - bò chưa nổi tính đường học chạy)... hơn nữa ( nói cậu đừng buồn )... học điện tử ngoài tinh ý ra thì cần phải nắm bắt ngay, thực hành ngay ... càng học nó càng vỡ ra nhiều điều và cứ thế là hiểu... chứ kiểu " em muốn kỹ ", "em muốn pờ rồ " " em muốn sau này " ... Ngồi ôm cái datasheet, mấy cái vớ vẩn đó rồi nghĩ máy móc rồi ngồi biện minh " em làm đúng tất mà nó ... éo chạy","người ta có làm thế đâu mà nó vẫn chạy"... hay " à ra thế, tưởng thế nào, đơn giản thôi " thì mãn đời chẳng khá lên được.
                        Chính vì những cái đó nên người ta chẳng muốn đóng góp ý kiến nữa ( tôi cũng chẳng muốn viết cái bài này đâu - nhưng thấy cậu cứ miệt mài hì hục lại cứ ảo ảo thế nào đó ( ảo tưởng sức mạnh )) nên ngứa ngáy lại viết ra )... phật ý thì thông cảm nhé. Tôi không viết nữa.
                        Học thì cũng cần có phương pháp chứ đâu phải lúc nào cũng cầm sách là chữ nghĩa, năng lực, trình độ nó nhảy vào đầu !

                        ( Chúc vui )
                        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


                        • #13
                          Nguyên văn bởi lkdientubh Xem bài viết
                          mọi người chỉ bạn trên diễn đàn nhiệt tình như vậy mà dám kêu "không ai dạy"
                          vậy như thế nào mới gọi là dạy
                          góp ý !
                          anh hiểu lầm ý em rồi em bảo là em rất muốn học nhưng chỗ em không ai dạy nên phải khổ thế chứ có bảo là siêu nhân tự làm được đâu ....
                          SỐNG THEO BẢN CHẤT,KỆ MỌI NGƯỜI NÓI GÌ THÌ NÓI

                          Comment


                          • #14
                            Nguyên văn bởi queduong Xem bài viết
                            Đừng nghĩ mình có thể tự làm được như người khác vì mình chẳng phải là người ta ! Đọc mấy bài của bạn này thấy tư tưởng ... làm được tuốt, góp ý thì cái gì cậu ấy cũng " thông thái " biết rồi ( thực tế thì chẳng biết cái gì - bò chưa nổi tính đường học chạy)... hơn nữa ( nói cậu đừng buồn )... học điện tử ngoài tinh ý ra thì cần phải nắm bắt ngay, thực hành ngay ... càng học nó càng vỡ ra nhiều điều và cứ thế là hiểu... chứ kiểu " em muốn kỹ ", "em muốn pờ rồ " " em muốn sau này " ... Ngồi ôm cái datasheet, mấy cái vớ vẩn đó rồi nghĩ máy móc rồi ngồi biện minh " em làm đúng tất mà nó ... éo chạy","người ta có làm thế đâu mà nó vẫn chạy"... hay " à ra thế, tưởng thế nào, đơn giản thôi " thì mãn đời chẳng khá lên được.
                            Chính vì những cái đó nên người ta chẳng muốn đóng góp ý kiến nữa ( tôi cũng chẳng muốn viết cái bài này đâu - nhưng thấy cậu cứ miệt mài hì hục lại cứ ảo ảo thế nào đó ( ảo tưởng sức mạnh )) nên ngứa ngáy lại viết ra )... phật ý thì thông cảm nhé. Tôi không viết nữa.
                            Học thì cũng cần có phương pháp chứ đâu phải lúc nào cũng cầm sách là chữ nghĩa, năng lực, trình độ nó nhảy vào đầu !

                            ( Chúc vui )
                            vâng! em thì chả cao đến nỗi phật ý vậy đâu,anh cứ nói thẳng thế nghe còn hay hơn,nhưng mà em dốt,em không biết mới lên đây học hỏi chứ, mọi người có điều kiện học ở những nơi phố phường nó khác,em không có điều kiện thì tự học cái gì không hiểu thì lên hỏi mọi người,mọi ngưởi giảng thì cố mà làm cho ra chứ cứ hỏi lắm người ta cũng bực lại bảo: sao mày ngu thế đơn giản thế mà tao chỉ hoài không biết . .... văn chương em có hạn nên viết câu trên nó chưa rõ lắm anh em lại tưởng mình tự nhận giỏi làm được tuốt,cái cmt trên em tự nhận là em ngu mở nhầm 2 tab do mới dùng HTPIC nên nó mới thế mà ,anh bảo em sao vui được ,thực sự buồn!!!!
                            Last edited by h11540; 13-07-2014, 01:14.
                            SỐNG THEO BẢN CHẤT,KỆ MỌI NGƯỜI NÓI GÌ THÌ NÓI

                            Comment


                            • #15
                              những ai đã giúp thì em đã cảm ơn rồi ! không chỉ lời nói mà nó còn là sự tôn trọng nữa,ai chửi em nghe và sửa ,ai khen em chả bảo giờ để trong đầu cả,em không dám nhận chữ ''ảo tưởng sức mạnh'' vì ai cũng vậy thôi dù có giỏi đến đâu cũng chỉ là chuyên ngành ,biển học mênh mông,mình giỏi cái này thì người ta giỏi cái khác cứ lấy cái ''sở trường'' của mình so với cái không ''sở đoản'' của người khác là không công bằng rồi,nhưng thước đo chung của nó là đồng tiền, sự thành công,thực sự chả bao giờ em nghĩ mình hơn bạn bè cái gì cả kể cả về vật chất vì vứt ra đường chắc mình không kiếm nổi tiền nuôi bản thân bằng mấy anh làm phu hồ !!,mục đích chính là em học hỏi còn chuyện đời xin gác qua 1 bên em mệt mỏi lắm rồi,vì niềm đam mê này em đã hi sinh bao nhiêu thứ,chịu mọi người khinh bỉ,bạn bè xa lánh,bằng tuổi em bạn em hàng tối mang xe chở bạn gái đi chơi,đi bar,rượu chè,tiền mặc dù bọn nó chưa làm ra đồng nào nhưng tiêu như nước vậy,còn em ăn mặc thời tống,luôn cắm đầu với đống đồ điện như 1 thằng tự kỉ ,em làm thế để làm gì chứ ? ,đâu phải vì 1 đam mê mù
                              quáng,em có niềm tin là sẽ giúp cho mình và những người xung quang bằng điện tử,bằng sức nhỏ của mình giúp anh em bố mẹ đỡ vất vả,em đã đang và sẽ học nữa,còn về ứng dụng thì học được gì là em làm nấy,máy nọ máy kia nó không to như máy cày,không bán được nhiều tiền như các máy cao tần của anh queduong,nhưng đúng như anh dương nói em sẽ học từ lết cũng được cho đến khi bò được,em không bao giờ làm thứ mà em tin là nó không có ích cả,em ít tuổi thôi nhưng chứng kiến nghèo đói khó khăn nhiều rồi,bây giờ cuộc sống khá hơn,sáng đi làm tối học thêm,trên tay lúc nào cũng lăm lăm cái điện thoại đọc tài liệu,tận dụng từng chút ít thời gian một,đâu có phải cuộc sống lúc nào cũng yên bình sẽ có biến động và em sẽ không ngồi đợi có biến mới chạy,em sẽ chủ động mất cơm còn cháo chứ,bao nhiều người nông dân chế tạo ra những loại máy nông nghiệp giúp ích cho đất nước cái đó còn quý hơn bằng đại học mà có đúng thực lực đâu,có người học để đi làm kiếm sống ổn định hết đời ,có người học vì đam mê ngành,có người học vì nghĩa vụ,em đã quyết tâm từ hàng vài năm trước rồi không phải vụ học vi điều khiển gần đây,đâu có phải những người như anh mod nói thế mà em bỏ đâu ,giảng thì em nghe chứ nói cho em bỏ thì em xin không chịu,em sẽ học và làm nữa đến hết đời,có thể thành công hay thất bại,em sẽ không chịu đầu hàng với bất cứ lý do nào,em thề với anh và các bạn là như vậy !!!,có ghét em thì cũng thế thôi em nói thẳng tận đáy lòng đấy !
                              SỐNG THEO BẢN CHẤT,KỆ MỌI NGƯỜI NÓI GÌ THÌ NÓI

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X