Thông báo

Collapse
No announcement yet.

Sử dụng ngắt trong pic8f455

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

  • Sử dụng ngắt trong pic8f455

    Xin chào!
    Mình đang làm đồ án về pic18f4550...mình mới học píc nên không biết lập trình thế nào...nhiệm vụ ban đầu là phải dùng pic8f4550 lập trình tạo ra hàm sin, cos có chu kỳ 10ms, biên độ 5v và tạo xung chuẩn có chu kỳ là 10ms...code này mình không hiểu lắm, ai giải thích hộ cái:

    #include <18F4550.h>
    #include <stdio.h>
    #include <math.h>
    #fuses HS, NOWDT, NOLVP, NOBROWNOUT, NOPROTECT, PUT
    #use delay(clock=20000000)

    void set_up();

    unsigned int16 dem;
    unsigned int const N = 400; //167
    unsigned int16 bien;
    unsigned int8 sin_bc[N],cos_bc[N];

    #int_TIMER1
    void ngat()
    {
    set_timer1(65236);
    output_d(sin_bc[dem]);
    output_b(cos_bc[dem]);
    dem=dem+1;
    if (dem==N)
    dem = 0;
    }

    void main()
    {
    set_timer1(65236);
    set_up();
    setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
    enable_interrupts(INT_timer1);
    enable_interrupts(GLOBAL);

    while(1)
    {
    if(dem ==0)
    {
    output_bit(pin_a0,1);
    }
    if(dem ==2)
    {
    output_bit(pin_a0,0);
    }
    if(dem ==N)
    dem = 0;
    }
    }

    // tinh ham sin
    void set_up()
    {
    int i; //,j,k;
    //unsigned int temp1,temp2;
    for (i=0;i<N;i++)
    {
    sin_bc[i] = ((127*sin(2*3.14*i/N))+128);
    cos_bc[i] = ((127*cos(2*3.14*i/N))+128);
    }
    dem = 0;
    }

  • #2
    Các bạn cho mình hỏi là nếu dùng 2 linh kiện đều truyền theo kiểu I2C vào PIC thì mình mắc như thế nào ah, ( ví dụ mạch sử dụng cảm biến con xoay hồi chuyển L3G4200D và cảm biến nhiệt độ, độ ẩm,cảm biến chuyển động với PIC 18F4550)
    cám ơn nhiều...!

    Comment

    Về tác giả

    Collapse

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

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

    Collapse

    Đang tải...
    X