اطلاعیه

Collapse
No announcement yet.

فارسی نویسی در lcd کاراکتری؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    فارسی نویسی در lcd کاراکتری؟

    سلام. کسی می دونه مشکل این برنامه یی که قرار یه کلمه ی فارسی رو تایپ کنه چیه. موقع کامپایل کردنش ارور میده :angry: :angry:
    #include <mega32.h>
    #include <delay.h>
    #include <stdio.h>
    #asm
    .equ __lcd_port=0x18 ;PORTB
    #endasm
    #include <lcd.h>
    flash unsigned char char0[8] = { 0x0, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,0x0 };
    flash unsigned char char1[8] = { 0x0, 0x0, 0x0, 0x1F, 0x5, 0x7, 0x0,0x0 };
    flash unsigned char char2[8] = { 0x0, 0x0, 0x1, 0x1, 0x1F, 0x0, 0xA,0x0 };
    flash unsigned char char3[8] = { 0x0, 0x0, 0x0, 0x15, 0x11, 0x11, 0xE,0x0 };

    void main(void)
    {
    PORTB=0x00;
    DDRB=0xFF;

    void define_char(unsigned char flash *pc,unsigned char char_code)
    {
    unsigned char i,a;
    a=(char_code<<3) | 0*40;
    for (i=0;i<8;i++) lcd_write_byte(a++,*pc++);
    }
    lcd_init(16);
    define_char(char0,0);
    define_char(char1,1);
    define_char(char2,2);
    define_char(char3,3);

    while (1)
    }

    #2
    پاسخ : فارسی نویسی در lcd کاراکتری؟

    با سلام
    چند تا سطر به سطرهای شما اضافه کردم.
    همچنین شما به جای 0x40 نوشته بودین: 0*40

    #include <mega32.h>
    #include <delay.h>
    #include <stdio.h>
    #asm
    .equ __lcd_port=0x18 ;PORTB
    #endasm
    #include <lcd.h>
    flash unsigned char char0[8] = { 0x0, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,0x0 };
    flash unsigned char char1[8] = { 0x0, 0x0, 0x0, 0x1F, 0x5, 0x7, 0x0,0x0 };
    flash unsigned char char2[8] = { 0x0, 0x0, 0x1, 0x1, 0x1F, 0x0, 0xA,0x0 };
    flash unsigned char char3[8] = { 0x0, 0x0, 0x0, 0x15, 0x11, 0x11, 0xE,0x0 };

    void main(void)
    {
    PORTB=0x00;
    DDRB=0xFF;

    void define_char(unsigned char flash *pc,unsigned char char_code)
    {
    unsigned char i,a;
    a=(char_code<<3) | 0*40;
    for (i=0;i<8;i++) lcd_write_byte(a++,*pc++);
    }
    void main(void)
    {
    PORTB=0x00;
    DDRB=0xFF;
    lcd_init(16);
    define_char(char0,0);
    define_char(char1,1);
    define_char(char2,2);
    define_char(char3,3);
    lcd-gotoxy(0,0);
    lcd_putchar(0);
    lcd_putchar(1);
    lcd_putchar(2);
    lcd_putchar(3);
    while (1);
    }

    دیدگاه


      #3
      پاسخ : فارسی نویسی در lcd کاراکتری؟

      مرسی از راهنماییت آقا سینا . برنامه رو یه کم دیگه تغییر دادم و تونستم چند کلمه فارسی تو lcd بنویسم.
      ولی به یه مشکل دیگه رسیدم اونم اینه که نمی تونم کلمه های فارسی زیادی رو همزمان طوری که همه ی قسمت lcd پر بشه بنویسم. یعنی برنامشو می نویسم ولی وقتی اندازه ی حجم فلشی که پر میشه بیشتر از هزار تا میشه تو lcd چیز بدر بخوری نشون نمیده. همش چیزای مبهمی نشون میده.
      حالا موندم با این مشکل تازه چیکار کنم چون با اینکه حافظه ی فلش atmega32 خیلی بیشتر از هزار تاست بازم کار خراب میشه. :cry2:
      حالا اگه کسی راه حل رفع این مشکل رو می دونه ما رو هم در جریان بذاره..............

      دیدگاه


        #4
        پاسخ : فارسی نویسی در lcd کاراکتری؟

        با سلام
        تو این لینکی که گذاشتم یه برنامه نوشتم با میکروی مگا8 که میتونه روی ال سی دی کاراکتری
        عبارت " سال نو مبارک" رو بنویسه.
        حتمن به دردت میخوره.
        اگه مشکلی بود تا اونجا که سوادم اجازه بده در خدمتم.
        ldc-char-project.zip - 53.0 Kb

        http://www.up98.org/upload/server1/02/e/mi21gv30bgscw61p7ti4.zip

        دیدگاه


          #5
          پاسخ : فارسی نویسی در lcd کاراکتری؟

          واقعا ممنون آقا سینا که پیگیر این کار هستی :job: . منم تونستم با همون راهنمایی اولیت هم فارسی و هم شکل های مختلفی داخل lcd درست کنم. ولی مثل اینکه داخل این نوع lcd ها از
          8 تا کاراکتر 5*8 مختلف بیشتر نمیشه درست کرد. چون اگه بیشتر بشه به ترتیب جا های اولیه رو دوباره می گیره. شما هم به این مشکل بر خوردید؟؟؟ فکر کنم مشکل تمام lcd های کاراکتری این باشه. البته اگه حرفم درست باشه یعنی 8 خونه با شکل های مختلف بیشتر نمیشه درست کرد. اینم چند تا عکسی که باهاش درست کردم .

          دیدگاه


            #6
            پاسخ : فارسی نویسی در lcd کاراکتری؟

            یعنی می تونه مشکل از حافظه lcdباشه که حجم کمی تو خودش نگه میداره؟
            دودمانم بر باد رفت

            دیدگاه


              #7
              پاسخ : فارسی نویسی در lcd کاراکتری؟

              نوشته اصلی توسط gt700
              یعنی می تونه مشکل از حافظه lcdباشه که حجم کمی تو خودش نگه میداره؟
              احتمال داره

              دیدگاه


                #8
                پاسخ : فارسی نویسی در lcd کاراکتری؟

                نوشته اصلی توسط amin-sadeghi
                واقعا ممنون آقا سینا که پیگیر این کار هستی :job: . منم تونستم با همون راهنمایی اولیت هم فارسی و هم شکل های مختلفی داخل lcd درست کنم. ولی مثل اینکه داخل این نوع lcd ها از
                8 تا کاراکتر 5*8 مختلف بیشتر نمیشه درست کرد. چون اگه بیشتر بشه به ترتیب جا های اولیه رو دوباره می گیره. شما هم به این مشکل بر خوردید؟؟؟
                خواهش میکنم دوست عزیز.
                بله درسته، همونطور که میگید تو این ال سی دی ها بیشتر از 8 تا کاراکتر نمیشه نوشت.
                با تشکر

                دیدگاه

                لطفا صبر کنید...
                X