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

                              • dinhthuong80
                                Trả lời cho Tự tìm công thức tính lưu lượng gió quạt điện dân dụng
                                bởi dinhthuong80
                                Dạ, cháu nghĩ,chân vịt nó phải làm cánh to vì không thể làm nhỏ được, vì số vòng quay/phút của cánh quạt dưới nước rất thấp hơn trong không khí. Vả lại độ nhớt của nước lớn hơn không khí rất nhiều lần, nên nếu cùng độ dày...
                                hôm nay, 10:23
                              • appongtho
                                Mẹo xóa máy giặt Panaonic báo lỗi H-84 nhanh
                                bởi appongtho
                                Mã lỗi H-84 Máy giặt Panasonic là gì?


                                https://appongtho.com/khac-phuc-loi-...iat-panasonic/

                                Mã lỗi H-84 trên máy giặt Panasonic là một cảnh báo đặc biệt nghiêm trọng báo hiệu hệ thống điều khiển đang kích hoạt chế độ bảo vệ...
                                hôm nay, 10:14
                              • vi van pham
                                Trả lời cho Tự tìm công thức tính lưu lượng gió quạt điện dân dụng
                                bởi vi van pham
                                Dinhthuong ơi! cơ hội làm giàu của cháu đến rồi.

                                Trên thế giới toàn bộ : "Chân Vịt" cho tàu bè đều là cánh to, nó hao nhiên liệu, ma sát làm hư hao. Nay cháu sx chân vịt cánh nhò cho thế giới sử dụng, chân vịt của cháu...
                                Hôm qua, 21:25
                              • bqviet
                                Trả lời cho nguồn switching
                                bởi bqviet
                                Thông tin cá nhân bqv xin phép tránh nêu ở diễn đàn. Nghề nghiệp thì bao năm nay vẫn thế thôi : điện - điện tử - tự động hóa - IT. Làm ơn đừng hâm mộ, nhỡ có dịp gặp thật thì lại thất vọng vì thực tế không như mình nghĩ. Bqv xét...
                                Hôm qua, 21:16
                              • mèomướp
                                Trả lời cho Tự tìm công thức tính lưu lượng gió quạt điện dân dụng
                                bởi mèomướp
                                Dạ chú dinh... cứ xét hệ tại 1 thời điểm thì sẽ dễ hiểu hơn ạ, với cánh to thì mặt tiếp xúc lớn hơn, lực tác động vào đồng thời nhiều không khí hơn, nhìu không khí cùng chuyển động thì sẽ tạo lưu lượng gió lớn hơn ạ...
                                Hôm qua, 18:49
                              • mèomướp
                                Trả lời cho nguồn switching
                                bởi mèomướp
                                Dạ cháu hỏi lại chị hàng xóm nhà cháu rồi ạ, chị ấy bảo anh thợ sửa điều hòa tâm sự với chị ấy nên hông nhầm đâu ạ. Chú bq... hông tin thì có thể xem video này ạ
                                https://youtu.be/dvU8ZcvgYH4?si=15Sd_j3uxuWah9PR
                                Hôm qua, 17:30
                              • dinhthuong80
                                Trả lời cho Tự tìm công thức tính lưu lượng gió quạt điện dân dụng
                                bởi dinhthuong80
                                Cảm ơn bác ạ, nhờ chủ đề này, nhờ bác nhiệt tình chia sẻ mà mọi người biết thêm nhiều kiến thức về quạt điên, thiết bị điện tưởng chừng rất đơn giản chỉ chuyển điện thành cơ.

                                Tuy nhiên, chỗ in đậm cháu không đồng...
                                Hôm qua, 17:00
                              • bqviet
                                Trả lời cho nguồn switching
                                bởi bqviet
                                Hình như bạn mèomướp lộn chút. Mạch nguồn xung vốn chạy 220V, muốn chuyển sang chạy 110V thì có thể dùng mạch nhân áp; hoặc thậm chí chẳng phải làm gì nếu đó là nguồn xung flyback đầu vào dải rộng. Chứ mạch nguồn vốn chạy 110V hoặc 100V nay muốn chuyển sang chạy 220 thì phải thay một mớ đấy....
                                Hôm qua, 16:16
                              • milan
                                Trả lời cho nguồn switching
                                bởi milan
                                Đại ca bqviet năm nay bao nhiêu tuổi rồi, làm nghề gì nhỉ.
                                Ngày xưa em hâm mộ anh nhất diễn đàn mà chưa có dịp gặp....
                                Hôm qua, 11:51
                              • mèomướp
                                Trả lời cho nguồn switching
                                bởi mèomướp
                                Dạ ai lại làm như chú bq... ạ. một số dòng điều hòa của nhật bên trong nó có mạch nhân áp thì bỏ qua mạch ấy là chạy 220v được ạ. Còn máy hàn thì cháu hông biết nó có thể làm vậy ko, chú tháo ra xem mạch mới biết được ạ...
                                Hôm qua, 07:09
                              Đang tải...
                              X