Thông báo

Collapse
No announcement yet.

điều khiển từ xa...[help]...

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

  • điều khiển từ xa...[help]...

    em dang lập trình pic làm bộ rf điều khiển tàu ngầm! em truyền dữ liệu nối tiếp dùng module Tx13 và Rx 11 của bác [MENTION=45]queduong[/MENTION], e tìm thấy code bộ phát, bác nào giúp em phần code giải mã machester bên bộ thu được k ạ?

    #define ID 0x25

    # define TX PB6
    unsigned char my_data[4];

    unsigned int checksum;

    char i,j,ADC_value, Remote_value;

    void main()
    {
    IO_Init(); // khởi tạo chân nào vào ,chân nào ra của MCU ( tùy theo mục đích sử dụng)

    ADC_Init ; // khởi tạo ADC

    while(1)
    {
    ADC_value = ADC_read8( channel1); // đọc ADC 8 bit tại kênh ADC1

    if (button1_pressed) { Remote_value = 0x01; }
    if ( button2........................................... 0x02;}

    checksum=0;
    my_data[0]=ID;
    checksum += my_data[0];
    my_data[1] = ADC_value;
    checksum += my_data[1];
    my_data[2] = Remote_value;
    checksum += my_data[2];
    my_data[3] = checksum;

    for (i=0;i<32;i++) // send preamble
    {
    TX=1;
    Delay_us(416); // Delay 416 uS
    TX=0;
    Delay_us(416); //

    }
    Delay_us(1136); // Delay for syn bit

    //-----------------
    TX=1; // start bit
    Delay_us(416);
    TX=0;
    Delay_us(416);

    //-----------------
    for (j=0;j<4;j++)
    {

    for(i=0;i<8;i++)
    {
    if ((my_data[j] & 0x80) == 0x80)
    {
    TX=1;
    Delay_us(416);
    TX=0;
    Delay_us(416);

    }
    else
    {
    TX=0;
    Delay_us(416);
    TX=1;
    Delay_us(416);

    }
    my_data[j]=my_data[j]<<1;

    }
    }
    //------ send stop bit -------
    TX=1;
    Delay_us(416);
    TX=0;
    Delay_us(416);

    Delay_ms(10); // delay gaurd


    }

    }

Về tác giả

Collapse

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

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

Collapse

Đang tải...
X