Thông báo

Collapse
No announcement yet.

Nhờ kiểm tra lỗi.

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

  • Nhờ kiểm tra lỗi.

    Mấy a kiểm tra giúp e cái code hiển thị LCD của e nó sai những đâu ak. Em mô phỏng thì chạy mà nạp vào KIT thì lúc chạy lúc ko

    Code:
    ‪#‎include‬ <16f877a.h>
    ‪#‎fuses‬ XT,NOWDT,NOPROTECT,NOLVP,HS,NODEBUG,NOPROTECT,NOWRT,NOPUT,NOBROWNOUT,NOCPD
    ‪#‎use‬ delay(clock=20000000)
    #use fast_io(D)
    #use fast_io(A)
    #use fast_io(E)
    ‪#‎byte‬ PORTA = 0x05
    #byte PORTD = 0x08
    #byte PORTE = 0x09
    ‪#‎bit‬ RE1 = PORTE.1
    #bit RE2 = PORTE.2
    #bit RA2 = PORTA.2
    #bit RA3 = PORTA.3
    #bit RA4 = PORTA.4
    #bit RD4 = PORTD.4
    #bit RD5 = PORTD.5
    #bit RD6 = PORTD.6
    #bit RD7 = PORTD.7
    #bit RD0 = PORTD.0
    #bit RD1 = PORTD.1
    #bit RD2 = PORTD.2
    #bit RD3 = PORTD.3
    ‪#‎define‬ E PORTA
    #define RS RE1
    #define RW RE2
    #define Data PORTD
    #define LS138_A RA2
    #define LS138_B RA3
    #define LS138_C RA4
    ///Khai bao cac ham con
    void LCD_enable();
    void LCD_Send_4bit();
    void LCD_SendCommand();
    void LCD_Putchar();
    void LCD_Putschar();
    void LCD_gotoxy();
    void LCD_clear();
    void LS138_Put();
    //===========Tao xung enable==========//
    void LS138_Put( int8 point)
    {
    if(point&0x01)
    LS138_A=1;
    else
    LS138_A=0;
    if(point&0x02)
    LS138_B=1;
    else
    LS138_B=0;
    if(point&0x04)
    LS138_C=1;
    else
    LS138_C=0;
    }
    void LCD_Enable(void)
    {
    LS138_Put(7);
    delay_us(3);
    LS138_Put(0)=0;
    delay_us(50); 
    }
    //=====Ham gui 4bit=====//
    void LCD_Send_4bit(unsigned char data)
    {
    RD4=data & 0x01;
    RD5=(data>>1) & 0x01; //dich sang trai 1 bit va so sanh
    RD6=(data>>2) & 0x01;
    RD7=(data>>3) & 0x01;
    }
    //========Ham gui lenh========//
    void LCD_Sendcommand(unsigned char command)
    {
    RS=0; //chon thanh ghi lenh
    RW=0; //cho phep ghi
    LCD_Send_4bit(command>>4); //gui 4 bit cao
    LCD_enable();
    LCD_Send_4bit(command); //gui 4 bit thap
    LCD_enable(); 
    }
    void LCD_Senddata(unsigned char data)
    {
    RS=1; //chon thanh ghi data
    RW=0; //cho phep ghi
    LCD_Send_4bit(data>>4); //gui 4 bit cao
    LCD_enable();
    LCD_Send_4bit(data); //gui 4 bit thap
    LCD_enable(); 
    }
    //========Ham khoi tao LCD============//
    void LCD_inits(void)
    {
    LCD_Send_4bit(0x00);
    delay_ms(20); //cho cho LCD hoat dong
    LCD_Sendcommand(0x03);//
    LCD_Sendcommand(0x02); //tro ve dau dong
    LCD_SendCommand( 0x28 ); // giao thuc 4 bit, hien thi 2 hang, ki tu 5x8
    LCD_SendCommand( 0x0c); // cho phep hien thi man hinh
    LCD_SendCommand( 0x06 ); // tang ID, khong dich khung hinh
    LCD_SendCommand( 0x01 ); // xoa toan bo khung hinh
    }
    //=========void thiet lap vi tri======//
    void LCD_gotoxy(unsigned char x , unsigned char y)
    {
    unsigned char address;
    if(y==1)
    address = (0x80+x);
    else
    address = (0xC0+x);
    delay_us(1000);
    LCD_SendCommand(address);
    delay_us(50);
    }
    //===Ham xoa man hinh===//
    void clear(void)
    {
    LCD_SendCommand(0x01); //xoa man hinh
    delay_ms(10);
    }
    //=======Ham gui 1 ky tu len LCD==//
    void LCD_Putchar(unsigned char text)
    {
    LCD_senddata(text);
    }
    //=======Ham gui 1 chuoi ky tu=====//
    void LCD_PutsChar(char *s)
    {
    while(*s)
    {
    LCD_Putchar(*s);
    s++;
    }
    }
    void main()
    { 
    int8 str[16]; //16 la so ki tu
    SET_TRIS_A(0);
    SET_TRIS_D(0);
    SET_TRIS_E(0);
    
    delay_ms(200);
    LCD_inits(); //khoi tao LCD
    delay_ms(100);
    LCD_Gotoxy(0,1);
    sprintf(str,".....BKSTAR.....");
    LCD_Putschar(str);
    delay_ms(100);
    LCD_gotoxy(0,2);
    sprintf(str,"...TECHNOLOGY...");
    LCD_putschar(str);
    
    while(1){};
    }
    Last edited by ngocnhat95; 18-07-2014, 14:11.

  • #2
    ko ai giúp e vs ak

    Comment


    • #3
      Up cả file nguyên lý lên bạn. Với đoạn code LCD_enable(); t ko hiểu ý bạn ở đây là j??

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X