Thông báo

Collapse
No announcement yet.

Dùng encoder đo tốc độ thê nào nhỉ

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

  • #16
    chào tất cả mọi người, mình có 1 bài code nhưng không thể hiển thị tốc độ lên lcd. Mong mọi người xem giúp mình với ạ, mình cám ơn nhiều
    #include "main.h"
    #include "var.h"
    #include "74ls138/74ls138.c"
    #include "lcd16x2/lcd16x2.c"
    #include "adc/adc.c"

    #include <stdio.h>
    #include <stdlib.h>

    unsigned int xung,sovong;
    char str[10];

    #INT_EXT
    void ngat_RB0()
    {
    xung++;
    }

    void main()
    {
    uint8_t str[16];
    uint16_t AdcValue;

    setup_adc(ADC_CLOCK_INTERNAL);
    setup_adc_ports(AN0);

    set_tris_b(0b00000001);

    enable_interrupts(GLOBAL);
    enable_interrupts(INT_EXT);
    ext_int_edge(H_TO_L);

    DDRC=0xff;
    DDRD=0x00;
    DDRA=0x01;
    DDRE=0x00;

    LCD_Init();

    output_low(PIN_C1); // Set CCP2 output low
    setup_ccp1(CCP_PWM); // Configure CCP1 as a PWM
    setup_timer_2(T2_DIV_BY_16, 255, 1);

    while(TRUE)
    {

    AdcValue=ADC_ReadValue(0);

    LCD_Gotoxy(0,0);
    sprintf(str,"dien ap = %lu V",(AdcValue*5)/255);
    LCD_Puts(str);
    sovong=(xung*255)/100;
    LCD_Gotoxy(0,1);
    sprintf(str,"speed = %d ",sovong);
    LCD_Puts(str);


    xung=0;
    delay_ms(10);

    set_pwm1_duty((int)AdcValue); // 25% duty cycle on pin C2


    }
    }

    Comment

    Về tác giả

    Collapse

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

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

    Collapse

    Đang tải...
    X