Thông báo

Collapse
No announcement yet.

Cần giúp đỡ về vòng lặp trong c lập trình cho pic 12f675

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

  • Cần giúp đỡ về vòng lặp trong c lập trình cho pic 12f675

    TÌnh hình là e lập trình cho con pic 12f675 cũng tham khảo rất nhiều ý kiến của các a(chị )trong diễn đàn. mọi người cho e hỏi e có đoạn code sau bây giờ e muốn dùng 1 lệnh hay vòng lặp nào đó giúp cho code của e ngặn gọn và dễ nhìn hơn. đây là code của e nó. mong mọi người giúp đỡ.
    e cũng thử dùng vòng lặp for lồng cho chính nó nhưng tex vẫn chưa ộn. híc
    thân gửi. thank mọi ngưởi trước. :-d



    #include <12F675.h>
    #device ADC=10
    #fuses INTRC_IO,NOWDT,NOPUT,NOPROTECT,NOCPD,NOMCLR
    #use delay(clock=4000000)
    #define GP0 PIN_A0
    #define GP1 PIN_A1
    #define GP2 PIN_A2
    #define GP3 PIN_A3_OFF
    #define GP4 PIN_A4
    #define GP5 PIN_A5
    void main()
    {
    int16 k,t,p,i;
    while(1){
    set_tris_a(0b00001000);//GP3=input
    output_a(0x00);
    output_a(0x00);delay_ms(300);
    output_a(0xFF);delay_ms(300);
    set_tris_a(0);
    for(k=0x40; k>0; k=k>>1){
    if(k==0x08)
    {
    }
    else
    {
    output_a(k);delay_ms(200);}
    }
    for(k=0x01; k<0x40; k=k<<1){
    if(k==0x08)
    {
    }
    else
    {
    output_a(k);delay_ms(200);
    }
    }
    }
    }

  • #2
    làm sao ngắn hơn được bạn, vậy chắc là gọn lắm ùi
    Khoa học công nghệ mới là chìa khóa của sự phát triển!

    Comment


    • #3
      vẫn gọn đk nữa đấy bạn à. chẳng qua mình chưa hiểu sâu về các hàm và câu lệnh trong c để rút gọn và tối thiểu hóa nó thôi.

      Comment


      • #4
        Nguyên văn bởi kaka_hjtmjss Xem bài viết
        vẫn gọn đk nữa đấy bạn à. chẳng qua mình chưa hiểu sâu về các hàm và câu lệnh trong c để rút gọn và tối thiểu hóa nó thôi.
        sao trong các hàm if lại không có câu lệnh nào vạy hết bạn.
        email:
        chỉ được liên lạc từ 19h00 - 21h30



        Comment


        • #5
          đúng thế. m đây là if(đủ) mà b. có nghĩa là trong if nếu sai đúng thì m dùng câu lệnh 1 còn sai thì mình dùng câu lệnh 2. đây trường hợp của m là sai. nên m bỏ trống khối lệnh 1. chỉ dùng khối lệnh 2. :-d

          Comment


          • #6
            Nguyên văn bởi kaka_hjtmjss Xem bài viết
            đúng thế. m đây là if(đủ) mà b. có nghĩa là trong if nếu sai đúng thì m dùng câu lệnh 1 còn sai thì mình dùng câu lệnh 2. đây trường hợp của m là sai. nên m bỏ trống khối lệnh 1. chỉ dùng khối lệnh 2. :-d
            bạn có thể làm như sau

            ....
            if(k!=0x08)
            {
            các câu lệnh cần thực hiện
            }

            bạn bỏ phần else đi là nó ngắn ngủn lại thôi à.
            email:
            chỉ được liên lạc từ 19h00 - 21h30



            Comment


            • #7
              không bạn ơi, nếu như thế là sai cú pháp rồi. m nhớ trong if chỉ có thể là ==,>,< thôi.

              Comment


              • #8
                Nguyên văn bởi kaka_hjtmjss Xem bài viết
                không bạn ơi, nếu như thế là sai cú pháp rồi. m nhớ trong if chỉ có thể là ==,>,< thôi.

                eo. bó tay. nhớ sao mà bằng người hay làm việc với nó.
                email:
                chỉ được liên lạc từ 19h00 - 21h30



                Comment


                • #9
                  ừ. dù gì cũng thank bạn đã đóng góp ý kiến.hi

                  Comment


                  • #10
                    ai giup minh voi sao ko con pic 12f675 ko chay hic

                    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