Thông báo

Collapse
No announcement yet.

hỏi về cách khi báo trong ccs

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

  • hỏi về cách khi báo trong ccs

    chào cả nhà,
    em đang viết code để tao 3 chân PWM bằng 16f877a nhưng nó chỉ có 2 chân CCP thôi nên em tạo 1 chân bằng hàm delay.
    code của em có 2 hàm con là RC0 (PWM bằng delay) và hàm pwm (tao pwm bằng pic)
    em muốn hỏi cách khai báo trong hàm main như thế nào để cả 2 hàm cùng chạy như vậy mới tạo được 3 chân pwm được
    em khai báo hàm nào trước thì chuơng trình chỉ chạy hàm đó thôi,
    chỉ em với nha mọi người
    hàm main em khai báo thế này


    void RC0()
    {
    .....
    }
    void pwm()
    {
    .....
    }

    void main()
    {
    set_tris_c(0x00);
    while (true)
    {
    RC0();
    pwm();
    }
    }
    các anh giúp em với nha.
    thank cả nhà

  • #2
    bạn nên dùng hàm PWM bằng delay cho cả 3 chân hay 8 chân điều được. cần gì xen hàm PWM vào làm gì
    LMD 238 Tăng Bạc Hổ - TP. Quy Nhơn.

    Comment


    • #3
      em đang làm đồ án để tạo pwm bằng pic nên phải dùng timer 2,
      nhưng cái led của em cần tới 3 chân pwm lận nên em mới phải dùng thêm hàm delay kia
      cái chính là phải tạo được pwm bằng timer2 tích hợp sẵn trong píc6f877a

      Comment


      • #4
        Các bác cho em hỏi tí:
        Em viết chương trình băm xung ra chân C5 mà không hiểu khi mô phỏng thấy T=140ms.
        Nghĩ mãi mà không ra....


        #include <18F4331.h>
        #include "Define_Reg.h"
        #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
        #use delay(clock=20000000)
        //================================================== ===========================
        int1 a1;
        int8 count=0;
        #int_TIMER0
        void TIMER0_isr(void)
        {
        count++;
        if(count>10) count=0;
        if(count< 5) a1 =0;
        else a1 =1;
        output_bit(Pin_C5, a1 );
        }
        //================================================== ==========================
        void main()
        {
        set_timer0(0xcd);//10us

        TRISB=0x00;
        TRISD=0x00;
        TRISC=0x00;
        TRISA=0XFF;

        portc=0xFF;
        portb=0xFF;
        portd=0xFF;

        //-----------------------Khoi tao ADC----------------------------------------
        setup_adc (ADC_OFF);
        //set_adc_channel( 0 );
        //delay_us(10);
        //setup_adc_ports( sAN0 );
        //setup_adc(ADC_CLOCK_INTERNAL );
        //-------------------------------------------------------------------------
        delay_ms(100);
        setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
        enable_interrupts(INT_TIMER0);

        enable_interrupts(GLOBAL);

        while(1)
        {
        }
        }
        //-------------------------------------------------------
        Attached Files
        Quang Nhat
        ---------------------------------------
        Yahoo :quangnhat85ls
        Mail :
        Nhận thiết kế và ép nhựa cho đồ điện tử

        Comment


        • #5
          Hôm nay, điên quá cài lại win...hì hục từ sáng đến giờ mới xong..
          Không có bác nào giúp em à???
          thanks
          Quang Nhat
          ---------------------------------------
          Yahoo :quangnhat85ls
          Mail :
          Nhận thiết kế và ép nhựa cho đồ điện tử

          Comment


          • #6
            Các bác sang hết Koh Pech xem rồi hay sao thế ???
            Quang Nhat
            ---------------------------------------
            Yahoo :quangnhat85ls
            Mail :
            Nhận thiết kế và ép nhựa cho đồ điện tử

            Comment


            • #7
              Nguyên văn bởi quangnhat Xem bài viết
              Các bác cho em hỏi tí:
              Em viết chương trình băm xung ra chân C5 mà không hiểu khi mô phỏng thấy T=140ms.Mà rõ ràng set timer có 10us
              Nghĩ mãi mà không ra....


              #include <18F4331.h>
              #include "Define_Reg.h"
              #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
              #use delay(clock=20000000)
              //================================================== ===========================
              int1 a1;
              int8 count=0;
              #int_TIMER0
              void TIMER0_isr(void)
              {
              count++;
              if(count>10) count=0;
              if(count< 5) a1 =0;
              else a1 =1;
              output_bit(Pin_C5, a1 );
              }
              //================================================== ==========================
              void main()
              {
              set_timer0(0xcd);//10us

              TRISB=0x00;
              TRISD=0x00;
              TRISC=0x00;
              TRISA=0XFF;

              portc=0xFF;
              portb=0xFF;
              portd=0xFF;

              //-----------------------Khoi tao ADC----------------------------------------
              setup_adc (ADC_OFF);
              //set_adc_channel( 0 );
              //delay_us(10);
              //setup_adc_ports( sAN0 );
              //setup_adc(ADC_CLOCK_INTERNAL );
              //-------------------------------------------------------------------------
              delay_ms(100);
              setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
              enable_interrupts(INT_TIMER0);

              enable_interrupts(GLOBAL);

              while(1)
              {
              }
              }
              //-------------------------------------------------------
              Không thấy ai giúp em vậy???
              Quang Nhat
              ---------------------------------------
              Yahoo :quangnhat85ls
              Mail :
              Nhận thiết kế và ép nhựa cho đồ điện tử

              Comment


              • #8
                Xem ra chủ đề về Pic không có ai hào hứng lắm...Tiểu đệ đành phải tự sướng thôi
                Quang Nhat
                ---------------------------------------
                Yahoo :quangnhat85ls
                Mail :
                Nhận thiết kế và ép nhựa cho đồ điện tử

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                Đang tải...
                X