Thông báo

Collapse
No announcement yet.

các pro giúp em với! dùng pic 18f4520 cho lập trình hai động cơ

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

  • các pro giúp em với! dùng pic 18f4520 cho lập trình hai động cơ

    em lập trình cho hai động cơ, nhưng báo lỗi nhiều qua, mà không biết lỗi ở đâu, ai giúp em với, thanks

    Chương Trình :
    Code:
    #include <18f4520.h>
    #include <def_4520.h>
    #fuses HS,NOWDT,NOPROTECT,NOLVP
    #use delay(clock=20000000)
    
    void main()
    {
    
       setup_adc_ports(NO_ANALOGS|VSS_VDD);
       setup_adc(ADC_OFF|ADC_TAD_MUL_0);
       setup_psp(PSP_DISABLED);
       setup_spi(SPI_SS_DISABLED);
       setup_wdt(WDT_OFF);
       setup_timer_0(RTCC_INTERNAL);
       setup_timer_1(T1_DISABLED);
       setup_timer_2(T2_DISABLED,0,1);
       setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
       setup_comparator(NC_NC_NC_NC);
       setup_vref(FALSE);
    //Setup_Oscillator parameter not selected from Intr Oscillator Config tab
    
       // TODO: USER CODE!!
    
    #define pwm1 output_high(pin_d0); delay_ms(70); output_low(pin_d0); delay_ms(30);
    #define pwm2 output_high(pin_d2); delay_ms(70); output_low(pin_d2); delay_ms(30);
    #define DC1_1 output_high(pin_d1)
    #define DC1_0 output_low(pin_d1)
    #define DC2_1 output_high(pin_d3)
    #define DC2_0 output_low(pin_d3)
    #define PHIM_BAM  PORTA
    
    /* KHAI BÁO CÁC CHUONG TRÌNH CON */
    {void motor_left_forward();
    void motor_left_reverse();
    void motor_right_forward();
    void motor_right_reverse();
    void forward();
    void reverse();
    void turn_left();
    void turn_right();
    
    
    /* CAC CHUONG TRINH CON */
    // DC TRAI THUAN
    void motor_left_forward()
    {
      int8 i=100;
      DC1_1; // set xung dieu khien =1;
      while(i--){pwm1;}
       }
    // DC TRAI NGUOC
    void motor_left_reverse()
    {
      int8 k=100;
      DC1_0 ;   // reset xung dieu khien ve gtri 0
      while(k--){pwm1;}
      }
    // DC PHAI THUAN
    void motor_right_forward()
    {
      int8 l=100;
      DC2_1 ;   // reset xung dieu khien ve gtri 0
      while(l--){pwm2;}
     
    }
    // DC PHAI CHAY NGUOC
    void motor_right_reverse()
    {
      int8 m=100;
      DC2_0 ;   // reset xung dieu khien ve gtri 0
      while(m--){pwm2;}
      }
    // TIEN
    void forward()
    {
    motor_left_forward();
    motor_right_forward();
    }
    // LUI
    void reverse()
    {
    motor_left_reverse();
    motor_right_reverse();
    }
    // QUAY TRAI
    void turn_left()
    {
    motor_left_forward();
    
    }
    // QUAY PHAI
    void turn_right()
    {
    motor_right_forward();
    }
    /* CHUONG TRINH CHINH */
    void main ()
    {
    TRISD=0x00; // PORTD là ngõ ra ( DC)
    TRISA=0x00; // PORTA là ngõ vào (PHIM BAM)
    PORTD=0x00; // KHOI TAO GIA TRI BAN DAU 0x00 cho PORTD
    while(1)
    {
    switch (PHIM_BAM)
    {
    case 0b10000000: forward(); break;
    case 0b01000000: reverse(); break;
    case 0b11000000: turn_left(); break;
    case 0b00100000: turn_right(); break;
    }
    }
    }
    }}

  • #2
    ai có biết giúp em với em đang cần gấp

    Comment


    • #3
      mình cũng mới tìm hiểu pic. ko hiểu rõ lắm, nhưng bạn khai báo #fuses như trên với pic 18f4520 ko chạy dk
      thử cái này xem sa0
      #FUSES NOWDT //No Watch Dog Timer
      #FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
      #FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
      #FUSES NOPROTECT //Code not protected from reading
      #FUSES NOBROWNOUT //No brownout reset
      #FUSES BORV20 //Brownout reset at 2.0V
      #FUSES NOPUT //Power Up Timer
      #FUSES NOCPD //No EE protection
      #FUSES NOSTVREN //Stack full/underflow will not cause reset
      #FUSES NODEBUG //No Debug mode for ICD
      #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
      #FUSES NOWRT //Program memory not write protected
      #FUSES NOWRTD //Data EEPROM not write protected
      #FUSES NOIESO //Internal External Switch Over mode disabled
      #FUSES NOFCMEN //Fail-safe clock monitor disabled
      #FUSES NOPBADEN //PORTB pins are configured as digital I/O on RESET
      #FUSES NOWRTC //configuration not registers write protected
      #FUSES NOWRTB //Boot block not write protected
      #FUSES NOEBTR //Memory not protected from table reads
      #FUSES NOEBTRB //Boot block not protected from table reads
      #FUSES NOCPB //No Boot Block code protection
      #FUSES NOMCLR //Master Clear pin used for I/O
      #FUSES NOLPT1OSC //Timer1 configured for low-power operation
      #FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      • bqviet
        Trả lời cho Đấu tắt điện cho máy tính bảng
        bởi bqviet
        Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
        06-12-2025, 17:17
      • nguyendinhvan
        Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
        bởi nguyendinhvan
        Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
        05-12-2025, 19:59
      • afrendly
        Trả lời cho Đấu tắt điện cho máy tính bảng
        bởi afrendly
        Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
        04-12-2025, 01:27
      • nick22
        Trả lời cho Máy điện châm ?
        bởi nick22
        Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
        01-12-2025, 13:23
      Đang tải...
      X