Thông báo

Collapse
No announcement yet.

chay chu tieng viet tren lcd

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

  • chay chu tieng viet tren lcd

    mấy PRO giúp mình cái code chạy chữ tiếng việt với.mình có code hiển thị tiếng việt rồi mak` mun làm cho nó chạy từ phải sang trái mak` kko bik viết thế nào.Mong các PRO giúp đỡ

    #include <16f877A.h>
    #use delay(clock=20000000)
    #fuses hs,nowdt,noput
    #define LCD_RS PIN_B0
    #define LCD_EN PIN_B1
    #define LCD_B4 PIN_B4
    #define LCD_B5 PIN_B5
    #define LCD_B6 PIN_B6
    #define LCD_B7 PIN_B7
    byte const cgram [48] = {0x0E,0X09,0X09,0X1D,0X09,0X09,0X0E,0X00,
    0X04,0X0A,0X00,0X0E,0X0A,0X0A,0X04,0X00,
    0X04,0X08,0X16,0X01,0X12,0X12,0X1E,0X00,
    0X04,0X08,0X14,0X08,0X1C,0X14,0X1E,0X00
    };




    void LCD_SetData (int cX )
    {
    output_bit ( LCD_B4, cX & 0x01 );
    output_bit ( LCD_B5, cX & 0x02 );
    output_bit ( LCD_B6, cX & 0x04 );
    output_bit ( LCD_B7, cX & 0x08 );
    }


    void LCD_PulseEnable()
    {
    output_high ( LCD_EN );
    delay_MS ( 10 );
    output_low ( LCD_EN );
    delay_MS ( 10 );
    }


    void LCD_PutCmd (int cX )
    {

    output_low (LCD_RS);
    LCD_SetData ( swap ( cX ) );
    LCD_PulseEnable ();
    LCD_SetData ( swap ( cX ) );
    LCD_PulseEnable();
    }


    void LCD_PutChar ( unsigned int cX )
    {
    output_high ( LCD_RS );
    LCD_SetData ( swap ( cX ) ); /* send high nibble */
    LCD_PulseEnable();
    LCD_SetData ( swap ( cX ) ); /* send low nibble */
    LCD_PulseEnable();
    delay_ms(10);
    }
    void lcd_cmd (int data)
    {
    output_low(LCD_RS);
    output_B(data);
    LCD_PulseEnable();
    }

    void LCD_Init ()
    {
    delay_ms(20);
    lcd_cmd( 0x30 );
    delay_ms(10);
    lcd_cmd( 0x30 );
    delay_US(350);
    lcd_cmd( 0x30 );
    lcd_cmd(0b00101000);
    LCD_PutCmd(0b00101000);
    LCD_PutCmd (0b00001100 ); /* display ON, cursor off, no blink */
    LCD_PutCmd ( 0b00000110 ); /* entry mode set, increment & scroll left */
    LCD_PutCmd ( 0x01 ); /* clear display */
    }
    VOID lcd_string(byte posistion,char *ptr,int delay)
    {
    LCD_PutCmd (posistion );
    WHILE (*ptr!=0)
    {
    LCD_PutChar (*ptr++ );
    DELAY_MS(delay);
    }
    }

    void main ()
    {
    char text1 []="DH Ton Duc Thang";
    char text3 []="MSSV:081373D";
    int8 i,k;
    char *ptr;
    set_tris_b(0);
    LCD_Init ();
    LCD_PutCmd (0X40);
    for(i=0;i<48;i++)
    LCD_PutChar(cgram[i]);
    lcd_string(0x80,text1,5);
    lcd_string(0x0C0,text3,5);
    lcd_string(0x0D0,text4,5);
    LCD_PutCmd (0X80);
    LCD_PutChar(0X00);
    LCD_PutCmd (0X84);
    LCD_PutChar(0X01);
    LCD_PutCmd (0X87);
    LCD_PutChar(0X00);
    LCD_PutChar(0X02);
    LCD_PutCmd (0X8D);
    LCD_PutChar(0X03);

  • #2
    ban co code chay chu ko cho minh xin voi code viet bang c cho 8051
    cam on truoc nha

    Comment

    Về tác giả

    Collapse

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

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

    Collapse

    • mèomướp
      Trả lời cho Công thức điện tử
      bởi mèomướp
      Dạ thời thế giờ thay đổi theo hướng tích cực hơn rồi chú trung sĩ ạ. Kiến thức được chia sẻ ngày càng nhìu nên làm ăn gian dối ko còn dễ dàng như trước đâu ạ. Những thợ nhỏ rồi sẽ thành công nhân sản xuất đồ mới hết thay vì sửa chữa lặt vặt...
      hôm nay, 21:21
    • mèomướp
      Trả lời cho Xin hỏi về màn hình laptop
      bởi mèomướp
      Dạ cùng chuẩn tín hiệu thì chắc chắn là nhận ạ. Vì bản chất oled hay lcd thì đều phải có mạch chuyển đổi trên thanh gỗ rồi chuyển sang những chip xử lý hàng nghìn chân gắn trên những tab mỏng dính rồi mới ra các điểm ảnh theo hàng...
      hôm nay, 20:31
    • yname11
      Trả lời cho Xin hỏi về màn hình laptop
      bởi yname11
      Ok , thanks bác đã chỉ...
      hôm nay, 15:06
    • nguyendinhvan
      Công thức điện tử
      bởi nguyendinhvan
      Sau bao năm nghiên cứu cái dtvn. Tôi phát hiện công thức này. Các anh em xem đúng bao nhiêu phần trăm nhé !

      Chập thì thay. Cháy thì tháo
      Làm thì láo. Báo thì hay
      May thì khoe. Rủi thì bỏ
      Thành tích nhỏ. Báo thành to
      Làm cho có. Báo chi li
      Sai cả li. Báo
      ...
      hôm nay, 00:35
    • yname11
      Trả lời cho Xin hỏi về màn hình laptop
      bởi yname11
      có chắc ko b, màn lcd phải có cao áp mới sáng, màn led thì ko có, ko có cáp chuyển đổi thì lắp thế nào đc ??...
      Hôm qua, 22:31
    • mèomướp
      Trả lời cho Xin hỏi về màn hình laptop
      bởi mèomướp
      Dạ ý chú là màn oled ấy ạ. Cùng chuẩn lvds cùng độ phân giải thì cắm được ạ. Còn nó mà khác thì hơi khó vì oled các điểm ảnh nó tự phát sáng chứ ko dùng đèn nền như lcd. Cháu chỉ biết đến vậy thôi ạ. Chú muốn nghịch phải tự tìm hiểu kỹ trước khi mua thôi, khó mà ông thợ nào tư vấn vụ này...
      Hôm qua, 22:14
    • bactho
      Trả lời cho Tự làm máy đo Cuộn cảm
      bởi bactho
      Hay đấy bạn ạ. Đây có thể hiểu là máy đo cuộn dây. Tiện đây xin cho hỏi bạn có hiểu rõ về máy nạp rôm pcb 45 của hãng thiên minh không giúp mình cách cài fw của nó với vì mình vừa được anh bạn cho nhưng lại không biết cài fw nên chưa dùng được. Nếu có thể thì bạn giúp mình với...
      Hôm qua, 21:48
    • yname11
      Trả lời cho Xin hỏi về màn hình laptop
      bởi yname11
      màn của mình là LCD , giờ m muốn mua màn LED để thay thế (ko muốn dùng màn LCD nữa) , lên muốn hỏi xem có cáp chuyển đổi nào có thể cắm đc màn LED vào ko , tất nhiên phải có cùng số chân pin với màn cũ rồi . VD: màn cũ là lcd mỏng , 40 pin...
      Hôm qua, 21:43
    • bactho
      Trả lời cho các bạn giúp mình về file HEX với!!!
      bởi bactho
      Bạn vào trang phuclanshop.com ,tìm đến góc kỹ thuật. Tác giả vương khánh hưng nói rất rõ về điều bạn tìm...
      Hôm qua, 21:21
    • mèomướp
      Trả lời cho Xin hỏi về màn hình laptop
      bởi mèomướp
      Dạ màn hình lcd đều có thể lai cấy cho nhau được hết ạ. Các loại cáp, bo mạch chuyển đổi lvds rất nhìu, với dòng sony còn phải nhổ cả chip nhớ của main cũ đưa lên gỗ thì mới lắp sang máy khác đc, chưa kể các bệnh về màu... ngay cả...
      Hôm qua, 20:43
    Đang tải...
    X