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

      • mèomướp
        Trả lời cho Sửa bộ nguồn DC 60V 45A
        bởi mèomướp
        Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
        hôm nay, 13:11
      • tuyennhan
        Trả lời cho Sửa bộ nguồn DC 60V 45A
        bởi tuyennhan
        Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
        hôm nay, 09:25
      • tuyennhan
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi tuyennhan
        Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
        Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
        hôm nay, 09:10
      • Ng.Phuong.5
        Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
        bởi Ng.Phuong.5
        Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
        Mấy con...
        Hôm qua, 19:44
      • viettinh
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi viettinh
        Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
        Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
        Hôm qua, 18:12
      • nguyendinhvan
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi nguyendinhvan
        Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
        Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
        Cách đơn giản...
        Hôm qua, 00:04
      • mèomướp
        Trả lời cho Sửa bộ nguồn DC 60V 45A
        bởi mèomướp
        Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
        08-01-2025, 19:02
      • tuyennhan
        Trả lời cho Sửa bộ nguồn DC 60V 45A
        bởi tuyennhan
        Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
        08-01-2025, 15:43
      • tuyennhan
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi tuyennhan
        Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
        08-01-2025, 15:28
      • mèomướp
        Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
        bởi mèomướp
        Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
        08-01-2025, 11:44
      Đang tải...
      X