اطلاعیه

Collapse
No announcement yet.

نمایش و حرکت حروف در lcd کارکتری

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

    نمایش و حرکت حروف در lcd کارکتری

    با سلام
    دوستان میخواستم کلمه ی avr رو بصورت حرف به حرف روی lcd حرکت بدم و در اول lcd کنار هم وایسن
    یعنی اول حرف a بیاد در اول وایسه بعد حرف b حرکت کند و کنار a وایسه بعد حرف r بیاد و کنار av وایسه که در نهایت avrنمایش داده شود.
    حرف ها از locate 1,16 وارد شوند
    با تشکر
    انسان فکر میکند ** ماشین کار میکند

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

    نوشته اصلی توسط atmel-avr
    با سلام
    دوستان میخواستم کلمه ی avr رو بصورت حرف به حرف روی lcd حرکت بدم و در اول lcd کنار هم وایسن
    یعنی اول حرف a بیاد در اول وایسه بعد حرف b حرکت کند و کنار a وایسه بعد حرف r بیاد و کنار av وایسه که در نهایت avrنمایش داده شود.
    حرف ها از locate 1,16 وارد شوند
    با تشکر
    اگه میخوای نشون استادت بدی و متنت فقط همینه و نمیخوای تغییرش بدی و کدی که مینویسی مهم نیست! ،ساده ترین راه اینه که هر فریم رو بنویسی، یه تاخیر بدی، lcd رو پاک کنی و فریم بعدی.و فریم آخر که مثلا کامل avr میاد رو 1 ثانیه یا هرچی میخوای نگه داری!
    مثلا اول a رو روی خونه 16ام نشون بده
    خط بعد مثلا 500 میلی ثانیه تاخیر بده
    خط بعد lcd رو پاک کن
    خط بعد a رو تو خونه 15 نشون بده
    و به همین ترتیب....

    دیدگاه


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

      میشه یه مدل بزارید ببینم چطور میفرمایید؟
      انسان فکر میکند ** ماشین کار میکند

      دیدگاه


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

        نوشته اصلی توسط atmel-avr
        میشه یه مدل بزارید ببینم چطور میفرمایید؟
        سلام
        یه متغیر تعریف کن مثلا x
        dim x as byte
        x=17
        do
        locate 1,x
        lcd "a "
        if x>=2 then decr x
        waitms 100
        loop
        بقیه رو هم مثل همین بنویس
        البته این با بسکام هست

        برد جوجه کشی:
        مطالعه پست 1 (حتما مطالعه کنید)


        مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

        دانلود

        توجه:
        این برد نیمه صنعتی و خانگی هست...
        برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

        آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

        دیدگاه


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

          نوشته اصلی توسط atmel-avr
          میشه یه مدل بزارید ببینم چطور میفرمایید؟
          این کد کاراکتر A رو از ستون 15 میاره به ستون 0 و تو ستون 0، یک ثانیه نگهش میداره و هی تکرار میکنه! خودت میتونی بقیه حروف رو بش اضافه کنی
          کد:
          #include <mega32.h>
          #include <delay.h>
          #include <stdio.h>
          #asm
            .equ __lcd_port=0x1B
          #endasm
          #include <lcd.h>
          void main(){			
            lcd_init(16);
            while(1){    
          	lcd_clear();
              lcd_gotoxy(0,15);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,14);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,13);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,12);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,11);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,10);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,9);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,8);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,7);
              lcd_putsf("A");
              lcd_clear();
              lcd_gotoxy(0,6);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,5);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,4);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,3);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,2);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,1);
              lcd_putsf("A");
          	delay_ms(100);
              lcd_clear();
              lcd_gotoxy(0,0);
              lcd_putsf("A");
          	delay_ms(1000);
              }
            }
          حالا به جای این همه خط میتونی یه دستور for بنویسی که از 15 تا 0 یه متغیر رو یکی یکی کم کنه و تو هر مرحله اول lcd پاک شه بعد کاراکتر مورد نظر رو تو ستون هم شماره متغیرت چاپ کنه و یه تاخیر بدی
          برای هر حرفی که میخوای فقط کافیه یه دستور for بنویسی!
          مثلا فقط واسه حرف A کدش میشه این :
          کد:
          #include <mega32.h>
          #include <delay.h>
          #include <stdio.h>
          #asm
            .equ __lcd_port=0x1B
          #endasm
          #include <lcd.h>
          void main(){			
           char i=15;
           lcd_init(16);
           while(1){    
            for(i=15;i=0;--i){	
              lcd_clear();
              lcd_gotoxy(0,i);
              lcd_putsf("A");
          	delay_ms(100);
          	}    
          	delay_ms(1000);
          if(i==0) i=15;    
          }
            }
          این دوتا برنامه دقیقا یه کار انجام میدن

          دیدگاه


            #6
            حرکت متن در LCD?

            سلام دوستان .برنامه ای با بسکام و پروتئوس می خواستم که یک متن از گوشه ی چپ ال سی دی, پایین به بالا حرکت کنه در راستای محور y و بعد در راستای محور x حرکت کنه. درسمت راست ال سی دی هم همینطور با Lcd16*2 .استاد هم فقط در حد دستورlocate به ما یاد داده!!!!!!!!! کلا حرکت متن با این دستو چطوری اتفاق میافته؟
            کمک کنید لطفا.................

            دیدگاه


              #7
              پاسخ : حرکت متن در LCD?

              نوشته اصلی توسط m.minoo
              سلام دوستان .برنامه ای با بسکام و پروتئوس می خواستم که یک متن از گوشه ی چپ ال سی دی, پایین به بالا حرکت کنه در راستای محور y و بعد در راستای محور x حرکت کنه. درسمت راست ال سی دی هم همینطور با Lcd16*2 .استاد هم فقط در حد دستورlocate به ما یاد داده!!!!!!!!! کلا حرکت متن با این دستو چطوری اتفاق میافته؟
              کمک کنید لطفا.................
              سلام
              این چیزی که میخواین که خیلی ساده ست ...
              اگر دستور حلقه For رو بهتون یاد داده باشند ، میدونی باید چیکار کنی ...
              برای شیفت دادن : توی حلقه For باید بنویسی که
              کد:
              For I = 0 To 10
                Locate I , 0
                Lcd "salam"
                Waitms 500
                Cls
              Next
              مثلا در اینجا میخواهیم 10 بار salam را به راست شیفت دهیم
              ابتدا در نقطه 0و0 کلمه salam را نوشته و به مدت 500 میلی ثانیه صبر کرده و کل صفحه را پاک میکند و در مرحله دوم نقطه نوشتن را یکی جلوتر از قبلی انتخاب میکنیم ... که باعث میشود یکی یکی شیفت پیدا کند ...

              برای شیفت به چپ و بالا و پایین هم به همین روال کار کنید ...
              موفق باشید
              [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
              معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
              معرفی نرم افزار Codewizard PWM
              با من بیشتر آشنا شوید

              دیدگاه


                #8
                پاسخ : حرکت متن در LCD?

                سلام من برنامه میخام که اسمم روی صفحه lcdازچپ ب راست حرکت کنه بصورت حرف حرف نباشه کل اسمم بیاد باید چیکار کنم؟

                دیدگاه

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