اطلاعیه

Collapse
No announcement yet.

کار با LCD کاراکتری یا متنی به زبان C

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

    #31
    پاسخ : کار با LCD کاراکتری یا متنی به زبان C

    نوشته اصلی توسط hamidelectroniic
    سلام دوستان
    ببخشید کسی از دوستان هست روش استفاده صحیح از پایه lcd بگه؟ lcd کاراکتری 2*16 منظورمه اگر شماتیک باشه بهتره
    بنده اینو میدون پایه 4 و 6، 11 تا 14 باید به میکرو بدیم اما برای بقیه پایه ها خیلی شماتیک متفاوت پیدا میکنم
    مثلا در یک شماتیک پایه 1 و 3 و 5 مستقیم به gnd میدن و پایه 2 هم به مثبت مدار
    در یک شماتیک دیگه پایه 1 مستقیم به gnd، پایه 3 با مقاومت 4.7 کیلو اهم به gnd، پایه 5 هم به میکرو و پایه دو هم مثبت، ممنون میشم توضیح بدید
    راستی چرا تو پروتئوس 14 پایه نشون داده، توی lcd 16 پایه هست، شماره پایه ها تو پروتئوس با خود lcd یکی هستند؟ یعنی تو پروتئوس پایه 7 تا 14 پایه d0 تا d7 هستش، تو خود lcd همینطور هستش؟ پس 15 و 16 چه پایه ای هستند :-?
    و اینکه پایه های d0 تا d3 آزاد بمونند یا به gnd بدیم
    با تشکر
    برنامه LCD رو هم براتون گذاشتم ...
    پایه 1 و 5 و 7 و 8 و 9 و 10 و 16 رو به زمین
    پایه 2 به 5v+
    پایه 15 رو هم با یه مقاومت 100 اهم به 5+ ولت وصل کن
    پایه 3 رو هم باید با یه پتانسیومتر شدت نور نوشته ها رو تنظیم کنید ... به این شکل که پایه 1 پتانسیومتر رو به زمین و پایه وسط رو به پایه 3 LCD وصل کن و پایه 3 پتانسیومتر رو به مثبت 5v وصل کن ... بعد با یه پیچ گوشتی اون رو تنظیم کنید ...
    پایه هایی که من توی این تاپیک تنظیم کردم به این شکل ببندید
    LCD میکروکنترلر مگا8
    4 23
    6 24
    11 25

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

    دیدگاه


      #32
      پاسخ : کار با LCD کاراکتری یا متنی به زبان C

      برنامه ای که کاراکتر* به صورت چشمک زن دور تا دور صفحه lcd نمایش داده شود.

      توضیحات بیشتر:

      برنامه ای که ابتدا بر روی سطر اول رشته ثابت “lcd test” را نمایش داده و سپس بر روی سطر دوم رشته ثابت “At mega16″ را نمایش دهد و انتهای سطر اول رفته و کاراکتر* را نمایشدهد و فرمان چشمک زدن مکان نما را ارسال کنیم و این کاراکتر بعد از نمایش هیچی نشون نده و فقط کاراکتر ستاره را از سطر اول و ابتدا تا پایان سطر اول و سطر دوم یعنی * چشمک زن دور صفحه Lcd نمایش داده شود.با زبان cو پروتیوس.برنامه مثال صفحه 109 کتاب میکروکنترلرهای AVR شما فقط با این تغییر اضافه که کاراکتر* چشمک زن دور تا دور کادر lcd نمایش داده شود.
      وهمچنین برنامه ای که با فشردن کلید اول اعداد زوج 0و2و4و6 و با فشردن کلید دوم اعداد فرد 1و3و5و7 را روی 7segment نمایش دهد را
      .با میکرو
      کنترلAtmega16 و زبان c.
      ممنون میشم بنده را راهنمایی بفرمایید یا اگر کسی برنامه شو نوشته یا میتونه بنویسه ایمیل کنید.

      ممنون

      ایمیل:zahra9631@yahoo.com

      دیدگاه


        #33
        پاسخ : کار با LCD کاراکتری یا متنی به زبان C

        سلام.
        کد:
        #include <mega16.h>
        #include <lcd.h>
        #asm
         .equ __lcd_port=0x1B
        #endasm
        
        void main()
        {
         lcd_init(16);
         lcd_clear();
         lcd_gotoxy(0,0);
         lcd_putsf("Saman");
         while(1);
        }
        چند تا سوال دارم، ممنون میشم جواب بدن دوستان . . . لطفا با جزئیات توضیح بدن چون تازه دارم یاد میگیرم :rolleyes:
        1- لطفا در مورد این خط توضیح بدین و اون آدرس (گویا برای تعیین پورت A) هست. .ولی چرا باید آدرس داد و اینکه این آدرس چجوری پورت A رو نشون میده؟ توی برنامه آقای اسدی این خط نبود اصلا oo:
        کد:
        .equ __lcd_port=0x1B
        2- این برنامه یه text رو روی LCD باید نشون بده (که میده) ولی چند ثانیه طول میکشه تا بیاد روی LCD (چرا؟)
        3- اینو من برای mega8 تغییرش دادم. یعنی این:
        کد:
         #include <mega8.h>
        ولی جواب نمیده توی پروتئوس. چرا؟

        اینم لینک:

        http://upload7.ir/preview.php?user=&file=cf7a6f8faa676516b07333a 36efa116fb8771053
        http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

        دیدگاه


          #34
          پاسخ : پاسخ : کار با LCD کاراکتری یا متنی به زبان C

          نوشته اصلی توسط Saman Taghipour
          سلام.
          کد:
          #include <mega16.h>
          #include <lcd.h>
          #asm
           .equ __lcd_port=0x1B
          #endasm
          
          void main()
          {
           lcd_init(16);
           lcd_clear();
           lcd_gotoxy(0,0);
           lcd_putsf("Saman");
           while(1);
          }
          چند تا سوال دارم، ممنون میشم جواب بدن دوستان . . . لطفا با جزئیات توضیح بدن چون تازه دارم یاد میگیرم :rolleyes:
          1- لطفا در مورد این خط توضیح بدین و اون آدرس (گویا برای تعیین پورت A) هست. .ولی چرا باید آدرس داد و اینکه این آدرس چجوری پورت A رو نشون میده؟ توی برنامه آقای اسدی این خط نبود اصلا oo:
          کد:
          .equ __lcd_port=0x1B
          2- این برنامه یه text رو روی LCD باید نشون بده (که میده) ولی چند ثانیه طول میکشه تا بیاد روی LCD (چرا؟)
          3- اینو من برای mega8 تغییرش دادم. یعنی این:
          کد:
           #include <mega8.h>
          ولی جواب نمیده توی پروتئوس. چرا؟

          اینم لینک:

          http://upload7.ir/preview.php?user=&file=cf7a6f8faa676516b07333a 36efa116fb8771053
          سلام
          پاسخ 1 :
          کتابخانه lcd.h باید این کار را بکنید تا پورتی که به LCD متصل است مشخص شود ...
          ولی در alcd.h که کتابخانه ای جدیدتر از کتابخانه lcd.h است می توان در آن به صورت پورتی یا پینی تعریف کرد ...
          پس استفاده از کتابخانه alcd.h به نسبت بهتر است ...
          اگر میخواهید از کتابخانه alcd استفاده کنید میتوانید ورژن 2.05.3 را از لینک زیر دریافت کنید ...
          http://s5.picofile.com/file/8119398126/CodeVisionAVR_V2_05_3_Std_Techno_Electro_COM_.zip. html
          یا اینکه ورژن 3.12 که خیلی بهتر و کاملتر را از 2.05.3 است از لینک زیر دانلود کنید ...
          http://s5.picofile.com/file/8160560050/CodeVisionAVR_Advanced_3_12.rar.html

          پاسخ 2 :
          من احتمال میدم فرکانسی که توی نرم افزار تعریف کردید با فرکانس میکرکنترلر یکی نیست ...
          یعنی اینکه توی برنامه اومدید فرکانس رو 8 مگا یا 16 مگا تعریف کردید و فرکانس میکرو را تغییری ندادید که در این صورت فرکانس پیشفرض میکرو روی یک مگا هرتز تنظیم است ... به دلیل همین میکرو 8 تا 16 برابر کندتر کار خواهد کرد
          در این صورت شما باید فیوزبیتهای میکرو را طبق دیتاشیت و آن فرکانسی که میخواهید آن را تغییر دهید ...
          فیوزبیتهای CKSEL0-1-2-3

          پاسخ 3 :
          به دلیل اینکه باید تغییرات را در منوی
          project>configur>C compiler
          تغییرات را انجام دهید و OK را بزنید ...


          این هم لینک دانلود برنامه برای دوستانی که نتوانستند برنامه Pic Pars را دانلود کنند
          http://s4.picofile.com/file/8173552576/PicPras_Tools_dataworld_vcp_ir_.exe.html

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

          دیدگاه


            #35
            پاسخ : پاسخ : کار با LCD کاراکتری یا متنی به زبان C

            ولی در alcd.h که کتابخانه ای جدیدتر از کتابخانه lcd.h است می توان در آن به صورت پورتی یا پینی تعریف کرد ...
            ببخشید یه سوال دیگه. شما کجای برنامه ای که نوشتین اینو تعریف کردین که کدوم پورت به LCD وصل بشه؟
            http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

            دیدگاه


              #36
              پاسخ : پاسخ : کار با LCD کاراکتری یا متنی به زبان C

              نوشته اصلی توسط Saman Taghipour
              ببخشید یه سوال دیگه. شما کجای برنامه ای که نوشتین اینو تعریف کردین که کدوم پورت به LCD وصل بشه؟
              اگر شما اون مراحلی که گفتم رو پیش ببرید میتوانید خودتون هر جوری که خواستید برنامه را ویرایش کنید ...

              الان این مراحل را انجام دهید ...
              http://s5.picofile.com/file/8119020168/codevision1.gif
              http://s5.picofile.com/file/8119020218/codevision2.gif
              http://s5.picofile.com/file/8119020250/codevision3.gif
              http://s5.picofile.com/file/8119020292/codevision4.gif
              http://s5.picofile.com/file/8119020334/codevision5.gif
              http://s5.picofile.com/file/8119020342/codevision6.gif
              http://s5.picofile.com/file/8119020368/codevision7.gif
              http://s5.picofile.com/file/8119020384/codevision8.gif
              http://s5.picofile.com/file/8119020418/codevision9.gif
              http://s5.picofile.com/file/8119020434/codevision10.gif
              http://s5.picofile.com/file/8119020442/codevision11.gif
              http://s5.picofile.com/file/8119020450/codevision12.gif
              http://s5.picofile.com/file/8119020476/codevision13.gif
              http://s5.picofile.com/file/8119020484/codevision14.gif
              http://s5.picofile.com/file/8119020534/codevision15.gif

              به مرحله 6 که رسیدید تنظیمات را انجام بدید و به مرحله بعدی بروید ...
              اگر بعد از بستن پنجره کدویزارد (ذخیره کردن فایلها) خواستید پینها را تغییر دهید باید از منوی project>configur در زبانه C compiler و زبانه های زیر مجموعه میتوانید تنظیمات را تغییر دهید ...
              نکته این که شاید در ظاهر در برنامه هیچ کدوم از پایه ها معرفی نشده باشه ولی در باطن طبق تنظیمات معرفی شده اند ...

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

              دیدگاه


                #37
                پاسخ : پاسخ : پاسخ : کار با LCD کاراکتری یا متنی به زبان C

                ممنون از پاسخ هاتون
                در باطن چه پایه هایی برای LCD هستن؟ اگه بخوام پایه B رو به LCD اختصاص بدم یا C رو، از کجا مشخص میشه؟

                این پیغام رو داد:
                http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

                دیدگاه


                  #38
                  پاسخ : پاسخ : پاسخ : کار با LCD کاراکتری یا متنی به زبان C

                  نوشته اصلی توسط Saman Taghipour
                  ممنون از پاسخ هاتون
                  در باطن چه پایه هایی برای LCD هستن؟ اگه بخوام پایه B رو به LCD اختصاص بدم یا C رو، از کجا مشخص میشه؟

                  این پیغام رو داد:
                  http://upload7.ir/uploads//a3de29879f1d19a5e37cd78a18df3a4a7da31132.png
                  نوشته اصلی توسط سامان اسدی
                  اگر بعد از بستن پنجره کدویزارد (ذخیره کردن فایلها) خواستید پینها را تغییر دهید باید از منوی project>configure در زبانه C compiler و زبانه های زیر مجموعه میتوانید تنظیمات را تغییر دهید ...
                  نکته این که شاید در ظاهر در برنامه هیچ کدوم از پایه ها معرفی نشده باشه ولی در باطن طبق تنظیمات معرفی شده اند ...
                  این کاری که گفتم را کردید ؟؟

                  اگر اون کاری که گفتم را کرده باشید غیر ممکنه کار نکنه ...
                  خطای شما میگه که تنظیمات LCD انجام نشده ...
                  شما باید برید توی منوی Project > Configure
                  توی زبانه C Compiler و زبانه های زیر مجموعه تنظیمات را انجام دهید ...
                  این قسمت ...


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

                  دیدگاه


                    #39
                    پاسخ : پاسخ : پاسخ : کار با LCD کاراکتری یا متنی به زبان C

                    آهاااااااااااااااااااااااان :wow:
                    مشکل من با عکس آخرتون حل شد.
                    پس باید از اینجا تغییرش بدم.
                    خیلی ممنون. لطف کردین
                    http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

                    دیدگاه


                      #40
                      پاسخ : کار با LCD کاراکتری یا متنی به زبان C

                      سلام من برا یه کاری پایه میکرو کم آوردم با 74595 با 3 پایه میکرو LCD متنی و گرافیکی و با 5 پایه درایو کردم لازم ندارید ؟
                      تو گرافیکی سرعتش هم اینقدر بد نبود که جلو کار آدمو بگیره متنی که اصلا تقریبا فرقی نداشت . برا PIC نوشتم
                      جهان پیر است و بی بنیاد ازاین فرهاد کش فریاد
                      که کرد افسون و نیرنگش ملول از جان شیرینم

                      دیدگاه


                        #41
                        پاسخ : پاسخ : کار با LCD کاراکتری یا متنی به زبان C

                        نوشته اصلی توسط elfian
                        سلام من برا یه کاری پایه میکرو کم آوردم با 74595 با 3 پایه میکرو LCD متنی و گرافیکی و با 5 پایه درایو کردم لازم ندارید ؟
                        تو گرافیکی سرعتش هم اینقدر بد نبود که جلو کار آدمو بگیره متنی که اصلا تقریبا فرقی نداشت . برا PIC نوشتم
                        اگر بگذارید که ممنونتون میشم ...
                        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                        معرفی نرم افزار Codewizard PWM
                        با من بیشتر آشنا شوید

                        دیدگاه


                          #42
                          پاسخ : پاسخ : کار با LCD کاراکتری یا متنی به زبان C

                          نوشته اصلی توسط سامان اسدی
                          اگر بگذارید که ممنونتون میشم ...
                          یادم میدید اینجا چطوری پ کنم ؟
                          جهان پیر است و بی بنیاد ازاین فرهاد کش فریاد
                          که کرد افسون و نیرنگش ملول از جان شیرینم

                          دیدگاه


                            #43
                            پاسخ : پاسخ : کار با LCD کاراکتری یا متنی به زبان C

                            نوشته اصلی توسط elfian
                            یادم میدید اینجا چطوری پ کنم ؟
                            اینجا نمیتونید پلود کنید
                            توی سایت http://www.picofile.com یا سایت پرشین گیگ یا سایتهای دیگر ثبت نام کنید و فایل خودتون را پلود کنید ...
                            به نظر من تور سایت http://www.picofile.com ثبت نام کنید بهتر است چون محیط مدیریت فایل داره ... البته سایتهای دیگه رو ندیدم ولی با این کار کردم خوبه ...
                            موقعی که میخواین پلود کنید لینک بهتون میده و اون را همینجا بگذارید کافیه ...
                            موفق باشید
                            [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                            معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                            معرفی نرم افزار Codewizard PWM
                            با من بیشتر آشنا شوید

                            دیدگاه


                              #44
                              پاسخ : پاسخ : کار با LCD کاراکتری یا متنی به زبان C

                              با کمک آقای اسدی تونستم توی پروتئوس جواب بگیرم. مدار رو وصل کردم ولی الان....
                              اینو نشون میده. مقاومت ها رو هم عوض میکنم فقط نورها کم و زیاد میشه.
                              باید متن "Saman" رو نشون بده. البته توی پروتئوس نشون میده



                              مدار رو اینجوری بستم:


                              پایه شماره3 (VEE) رو با مقاومت های مختلف به زمین وصل میکنم ولی فقط نور اون 16 تا خونه کم و زیاد میشه. متن رو نشون نمیده.
                              http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

                              دیدگاه


                                #45
                                پاسخ : پاسخ : پاسخ : کار با LCD کاراکتری یا متنی به زبان C

                                نوشته اصلی توسط Saman Taghipour
                                با کمک آقای اسدی تونستم توی پروتئوس جواب بگیرم. مدار رو وصل کردم ولی الان....
                                اینو نشون میده. مقاومت ها رو هم عوض میکنم فقط نورها کم و زیاد میشه.
                                باید متن "Saman" رو نشون بده. البته توی پروتئوس نشون میده

                                http://upload7.ir/uploads//fb892fa3c4f74551b4dc3bcd15487ac7db7590dd.jpg

                                مدار رو اینجوری بستم:
                                http://upload7.ir/uploads//214ee0e722891de27b2235d452683f90b9899ece.jpg

                                پایه شماره3 (VEE) رو با مقاومت های مختلف به زمین وصل میکنم ولی فقط نور اون 16 تا خونه کم و زیاد میشه. متن رو نشون نمیده.
                                مدارتون اشتباهه
                                پایه یک به GND و پایه 2 به VCC و پایه 3 رو به پایه وسط پتانسیومتر وصل کنید و پایه 4و5و6 به میکرو وصل بشه و 7و8و9و10 به زمین و 11و12و13و14 به میکرو و 15به VCC و 16 هم زمین کنید ...
                                پایه یک پتانسیومتر را به زمین و پایه 3 پتانسیومتر به VCC وصل کنید ...
                                با چرخاندن پتانسیومتر نور آن تنظیم میگردد ...
                                موفق باشید
                                معمولا روی ال سی دی ها یک مقاومت برای نور ال سی دی وجود داره ...
                                [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                                معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                                معرفی نرم افزار Codewizard PWM
                                با من بیشتر آشنا شوید

                                دیدگاه

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