Thông báo

Collapse
No announcement yet.

giúp em biên dịch ra file hex với các đại ca ơi, máy tính em hư rùi

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

  • giúp em biên dịch ra file hex với các đại ca ơi, máy tính em hư rùi

    tình hình là em đang làm tiểu luận mạch đèn giao thông dùng pic16f877 có code c rùi mà con máy tính của em bị điên rùi nó ko cài được chương trình gì hết nên em bó tay ko cho cái code c ra file hex, đại ca nào đi ngang qua làm ơn làm phước giúp em với, em chuẩn bị nộp bài rồi. Em xin cảm ơn các đại ca. Còn đây là code c em ko biết đính kèm fie các anh thông cảm:


    /* Chuong Trinh den giao thong.Hien thi ra LCD.dung PIC16F877*/
    #include "16f877.h"
    #include "def_877a.h"
    #fuses XT,NOWDT,NOPROTECT,NOLVP
    #use delay(clock=4000000)
    #use fast_io(b)
    #use fast_io(d)

    #define RS RD0
    #define RW RD1
    #define E RD2
    #define LCD PORTB //LCD duoc dieu khien qua PORTB
    int i=0;
    const unsigned char key[]="15141312111009080706050403020100"; //Khai bao chuoi dem 15s cho den giao thong
    void comwrt(void) //ghi lenh ra LCD
    {
    RS=0;
    RW=0;
    E=1;
    E=0;
    delay_ms(1);
    }

    void datawrt(void) //ghi data ra LCD
    {
    RS=1;
    RW=0;
    E=1;
    E=0;
    delay_ms(1);
    }

    void initLCD(void) //Khoi tao gia tri dau cho LCD
    {
    LCD=0x38;
    comwrt();
    LCD=0x0C;
    comwrt();
    LCD=0x06;
    comwrt();
    delay_ms(1);
    }
    void state1_light() //cac trang thang cua den giao thong
    {
    output_high(PIN_D3);
    output_low(PIN_D4);
    output_low(PIN_D5);

    }

    void state2_light()
    {

    output_low(PIN_D3);
    output_high(PIN_D4);
    output_low(PIN_D5);

    }
    void state3_light()
    {
    output_low(PIN_D3);
    output_low(PIN_D4);
    output_high(PIN_D5);
    }


    void LCD_count() //dem thoi gian 15s cho cac den xanh-Do
    {
    While(i<=30)
    {

    LCD=key[i];
    datawrt();
    i=i+1;
    LCD=key[i];
    datawrt();
    i=i+1;
    delay_ms(1000); //xuat lan luot 2 ki tu ra LCD
    LCD=0x01; //xoa man hinh LCD
    comwrt();
    delay_ms(1000); //phai delay thi lenh xoa man hinh moi xoa het duoc man hinh(rat Quan Trong(
    }
    }
    void wait_yellow_light() //Dem thoi gian 3s cho den vang
    {
    LCD='0';
    datawrt();
    LCD='3';
    datawrt();
    delay_ms(1000);
    LCD=0x01;
    comwrt();
    delay_ms(1000);

    LCD='0';
    datawrt();
    LCD='2';
    datawrt();
    delay_ms(1000);
    LCD=0x01;
    comwrt();
    delay_ms(1000);

    LCD='0';
    datawrt();
    LCD='1';
    datawrt();
    delay_ms(1000);
    LCD=0x01;
    comwrt();
    delay_ms(1000);

    LCD='0';
    datawrt();
    LCD='0';
    datawrt();
    delay_ms(1000);
    LCD=0x01;
    comwrt();
    delay_ms(1000);
    }




    void main(void)
    {
    While(1)
    {
    set_tris_B(0);
    PORTB=0;
    set_tris_D(0);
    PORTD=0;
    initLCD(); //khoi tao LCD

    state1_light(); //xanh-do
    LCD_count();
    delay_ms(1000);
    i=0;
    state2_light(); //vang-vang
    wait_yellow_light();
    delay_ms(1000);
    i=0;
    state3_light(); //do-xanh
    LCD_count();
    delay_ms(1000);
    i=0;
    }
    }

  • #2
    nếu các anh phát hiện ra lỗi sai thì sửa hô em luôn ạ, xin cảm ơn ạ

    Comment

    Về tác giả

    Collapse

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

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

    Collapse

    Đang tải...
    X