اطلاعیه

Collapse
No announcement yet.

چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

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

    چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

    سلام
    چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟
    علتش چیه.....وصل نکنیم چه اتفاقی میوفته؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

    ممنون میشم دوستان راهنمایی کنند
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.

    #2
    پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

    نوشته اصلی توسط md3848
    سلام
    چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟
    علتش چیه.....وصل نکنیم چه اتفاقی میوفته؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

    ممنون میشم دوستان راهنمایی کنند
    چند وقت پیش بحث همین موضوع بر حسب اتفاق تو یه تاپیک دیگه مطرح شد؛ من از اول تا حالا تمامی PCBهایی که زدم؛پایه های آزاد LCD و پایه R/W رو بدون مقاومت به زمین وصل کردم.موقع تست روی برد برد هم بدون اتصال به جایی رو هوا ولش کردم.در هر دوحالت هم جواب گرفتم. حالا کدومش صحیح هست ؟ به نظر خودم(تا الان جایی نخوندم) به زمین وصل بودنشون باعث میشه که وضعیت اون پین ها مشخص باشه و خیالمون راحت میشه که قطعا LCD اون پایه ها رو 0 میبینه. حالا اگه کسی نظر غیر این داره، مطرح بکنه شاید منطقی تر باشه.

    دیدگاه


      #3
      پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

      والا منم باهاش کاری ندارم و اتفاقی هم نیوفتاد

      حرف شما هم درست بعه زمین وصلش میکنیم تا وضعیتش مشخص بشه ولی این برا وقتیه که از این پایه استفاده کنیم و نه وقتی که تو کد نویسی هم بهشون اشاره ای نشده
      اگه اون طوری باشه که باید بقیه پایه های بیکار میکروکنترلر رو هم به زمین وصل کرد و وضعیتشون مشخص بشه و رو هواآآآآ نباشن.
      اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

      اگه دوس دارید سریع به جواب برسید :
      1) قبل از پرسیدن سوال، بسرچید.
      2) سوالاتون رو با جزئیات کامل مطرح کنید.

      دیدگاه


        #4
        پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

        نوشته اصلی توسط md3848
        والا منم باهاش کاری ندارم و اتفاقی هم نیوفتاد

        حرف شما هم درست بعه زمین وصلش میکنیم تا وضعیتش مشخص بشه ولی این برا وقتیه که از این پایه استفاده کنیم و نه وقتی که تو کد نویسی هم بهشون اشاره ای نشده
        اگه اون طوری باشه که باید بقیه پایه های بیکار میکروکنترلر رو هم به زمین وصل کرد و وضعیتشون مشخص بشه و رو هواآآآآ نباشن.
        آخه این با اون فرق داره برادر!
        LCD رو داریم بهش دیتا میدیم.واسه همین اونها رو صفر میکنیم که مطمئن بشیم صفر میبینن. اما اگه بخوایم از LCD دیتایی رو بخونیم؛ اون موقع نمیدونم وضعیت اون پایه ها چطور میشه؟ واسه همین اون پروژه هایی که انجامشون دادم، پایه R/W به زمین وصل کردم تا فقط رو LCD دیتا نوشته بشه.

        دیدگاه


          #5
          پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با &#

          سلام به همه
          اول از همه oo: بار اوله میبینم یه پسر عکس یه بچه اونم به این نازی جای آواتارش گذاشته oo:
          دوستان اگر به دیتاشیت LCD مراجعه کنید نحوه کار تمامی قسمت هارو میبینید:

          اون قسمتی که با رنگ قرمز نشون دادم توجه کنید
          این قسمت زمانی به کار میاد که شما میخواین چیزی رو روی lcd نشون بدین (کاراکتر ها رو نشون بدین)
          میبینین که تمامی پایه های دیتا از D0 تا D7 برای نشون دادن هر کاراکتر لازمه
          اما چرا ما با 4 بیت میتونیم کاراکتر ارسال کنیم؟آیا قسمتی از دیتای ارسال شده از بین میرود؟
          در جواب خیر ، هیچ داده ای ناقص نمی شود و مشکلی هم بوجود نمی آید
          زمانی که شما از یک کتابخانه LCD استفاده می کنین در قسمتی باید تنظیم کنین که از مد 4bit یا مد 8bit میخواین استفاده کنین (در بعضی از کتابخانه ها هم به طور پیش فرض مد 4bit فعال است)
          زمانی که این قابلیت در LCD فعال بشود LCD همه ی اطلاعات که 8bit است رو از طریق همون چهار بیت بالا میخونه و نحوه کار هم به این شکل است که:
          LCD منتظر میشینه تا از طرف میکرو دو بار دیتای چهار بیتی بهش ارسال بشه بعد خود LCD این دوتا داده چهار بیتی رو بهم میچسبونه تا داده هشت بیتی که نشانه یک کاراکتر هست رو بسازه
          پس با این اوصاف LCD در مد 4بیتی هیچ وقت به اون پایه های 4بیت پایین نگاه نمیندازه که ببینه در چه وضعیتی هستن
          نتیجه (ناقص) در زمان ارسال کاراکتر هیچ گاه وضعیت پایه های LCD چه یک باشن و چه صفر اهمیتی ندارد و مشکلی بوجود نمی آورند پس زمین کردن آنها کاری بیهوده است اما
          نکته مهم اینه که LCD ها در زمان روشن شدن اولیه در مد 8بیتی روشن میشن و اینکه چطور میکرو LCD رو به مد 4بیتی میبره خیلی مهمه
          برای تبدیل LCD از مد 8بیتی به مد 4بیتی باید یک دستور 8بیتی از میکرو به LCD ازسال شود که ساختار این دستور بدین شکل است که:
          4 بیت پایین (D0 تا D3) بر روی LCD باید (دقت شود باید) صفر باشن و 4بیت بالا (D4 تا D7) مقداری غیر از صفر دارند (که مقدارش در این بحث مهم نیست) پس اگر LCD در زمانی که میخواهد تغییر مد از 8بیتی به 4بیتی بدهد مقدار قرار گرفته بر روی 4بیت پایین چیزی به غیر از صفر باشد صحت عملکرد LCD رو در زمان تبدیل شدن به 4بیتی زیر سوال میبرد و در پروژه های مهم اعتبار پروژه رو پایین میاره
          اما چون آزاد بودن یک پایه بیشتر اوقات نزدیک به صفر منطقی است خیلی کم پیش میاد در LCD چهار پایه ای که به میکرو وصل نیستن و به زمین هم وصل نیستن باعث ایجاد مشکل در عملکرد LCD شود.
          و گاهی هم که باعث عمل نکردن LCD میشود کافی است تا یک یا چند بار میکرو ریست بشود و بعد LCD فعال میگردد که معمولا دوستان فکر میکنن مشکل از جای دیگست
          اما مشکل PULL DOWN نبودن (وصل نکردن یک پایه با یک مقاومت به زمین) پایه های آزاد LCD است.
          نتیجه کلی :
          طبق دیتاشیت جهت عملکرد صحیح و مطمئن LCD در همه زمان ها باید پایه های آزاد LCD با یک مقاومت (حدودا 10کیلو) به زمین وصل شود.

          دوستان یک بار نوشتم زدم ارسال بشه سیستم خطا داد :cry:
          اما از اونجایی که قبلا همین بلا سرم اومده بود قبل از ارسال یک کپی ازش گرفته بودم
          ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
          شهید دکتر مصطفی چمران
          اللهم صل علی محمد و ال محمد و عجل فرجهم
          ; C is not for children

          دیدگاه


            #6
            پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

            ایییییییییییی خداااااااااااااااااا به چیز آدمم گیرررررررررررررررررررررر میدن :biggrin: :biggrin: :biggrin: :biggrin:


            یه سوال : چطور میشه تو LCD حالت 8 بیت یا 4 بیت رو تعریف کردددددددددددددد.>> مثلا به میکرو بگیم که ما میخوایم از حالت8 بیت یا 4 بیت استفاده کنیم؟؟؟؟؟

            پروژه ای داری که تو حالت 8 بیت باشه؟؟؟؟؟؟؟؟؟؟/ :eek: :eek: :eek:


            و گاهی هم که باعث عمل نکردن LCD میشود کافی است تا یک یا چند بار میکرو ریست بشود و بعد LCD فعال میگردد که معمولا دوستان فکر میکنن مشکل از جای دیگست
            اما مشکل PULL DOWN نبودن (وصل نکردن یک پایه با یک مقاومت به زمین) پایه های آزاد LCD است.
            یه سوال دیگه : چطوریه که این ""گاهی"" که گفتی برا من رخ نمیده ولی برا بعضی از دوستان رخ میده؟؟؟؟؟؟ :question: :question: :question: :question: :question:
            اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

            اگه دوس دارید سریع به جواب برسید :
            1) قبل از پرسیدن سوال، بسرچید.
            2) سوالاتون رو با جزئیات کامل مطرح کنید.

            دیدگاه


              #7
              پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

              با سلام،

              پایه RW که اگر استفاده نشده باشه، باید مستقیم به زمین متصل بشه ...
              در مد 4 بیتی هم اگر درایور LCD درست و اصولی نوشته شده باشه، پایه های دیتا اصلا مهم نیستند که چیکارشون میکنید!
              مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

              Sh_Nourbakhsh@Yahoo.com

              http://s2.picofile.com/file/7170362468/_Wall_e_.jp

              دیدگاه


                #8
                پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

                سلام به همه
                یه سوال دیگه : چطوریه که این ""گاهی"" که گفتی برا من رخ نمیده ولی برا بعضی از دوستان رخ میده؟؟؟؟؟؟
                بستگی به محطی داره که داری از مدارت استفاده میکنی
                هر چی مقدار نویز در اون محیط بیشتر باشه این احتمال بیشتر وجود داره
                به عنوان مثال خودم:
                کنار بردی که برای تست برنامه هام ساختم یک ترانس 220 به 9 هست
                یک آهنربای نسبتا قوی وجود داره
                یک فرستنده و گیرنده کنارش دارم که گاهی روی مانیتور کامپیوترم که CRT هست نویز میندازه حالا ببین روی برد من چی کار میکنه
                نکته: مانیتور های CRT همون مانیتور های نسل قبل از مانیتورهای LCD هستن که از تفنگ الکترونی داخلشون استفاده شده
                موبایل و یک منبع تغذیه سوئیچینگ هم پیششه
                ولی زمانی که از PULL DOWN کردن استفاده میکنم مشکلی با LCD سر این قصیه ندارم
                پایه RW که اگر استفاده نشده باشه، باید مستقیم به زمین متصل بشه
                توی همون عکسی که گذاشتم نشون داده که چه زمانهایی باید ولتاژ روی این پایه یک و چه مواقعی باید صفر باشه
                و چون اکثرا برای فقط نوشتن از LCD استفاده میکنیم کافیه که حالت نوشتن رو برای پایه RW که همون صفر بودن هست برقرار کنیم
                من از اول تا حالا تمامی PCBهایی که زدم؛پایه های آزاد LCD و پایه R/W رو بدون مقاومت به زمین وصل کردم
                این کار از لحاط عملی زیاد خوشایند نیست چرا که میتونه باعث جریانکشی بشه و امروزه که سعی میشه مدارات با مصرف کم ساخته بشن مخصوصا برای دستگاه های قابل حمل این نکات ریز اهمیت پیدا میکنه
                برای همین گفتم که بهتره با یک مقاومت عمل PULL DOWN ایجاد بشه

                در مد 4 بیتی هم اگر درایور LCD درست و اصولی نوشته شده باشه، پایه های دیتا اصلا مهم نیستند که چیکارشون میکنید!
                LCD های کاراکتری رایج بازار ایران اکثرا با دیاور HITACHI کار میکنن
                نحوه تغییر وضعیت مد 4بیت یا 8بیت برای این درایور کلا 6 حالت داره:
                کد:
                //part 6
                #define HANDGLASS_LCD_8BIT_1LINE_5X10    0b00110100     //15) 8-bit data, 1-line display, 5 x 10 font
                #define HANDGLASS_LCD_8BIT_1LINE_5X7    0b00110000     //16) 8-bit data, 1-line display, 5 x 7 font (Suitable for lcd reset)
                #define HANDGLASS_LCD_8BIT_2LINE_5X7    0b00111000     //17) 8-bit data, 2-line display, 5 x 7 font
                #define HANDGLASS_LCD_4BIT_1LINE_5X10    0b00100100     //18) 4-bit data, 1-line display, 5 x 10 font
                #define HANDGLASS_LCD_4BIT_1LINE_5X7    0b00100000     //19) 4-bit data, 1-line display, 5 x 7 font
                #define HANDGLASS_LCD_4BIT_2LINE_5X7    0b00101000     //20) 4-bit data, 2-line display, 5 x 7 font
                این قسمتی از کتابخونه LCDیی هست که توی فروشگاه سایت hand-glass.com گذاشته شده
                بعد از ارسال هر کدام از این دستورات به LCD مد تغییر وضعیت میده
                همونطور که میبینید اگر پایه ها آزاد باشن و نویز محیط اونقدر باشه که باعث تغییر وضعیت بشه ممکنه اطفاق زیر رخ بده:
                میخواهیم بعد از روشن شدن LCD به مد HANDGLASS_LCD_4BIT_1LINE_5X7 بریم اما نویز باعث یک شدن بیت سوم میشه این تغییر کوچک باث میشه که ما بجای مد مورد نظر به مد HANDGLASS_LCD_4BIT_2LINE_5X7 بریم یا اگر بیت دوم تغییر کنه به مد HANDGLASS_LCD_4BIT_1LINE_5X10 میریم و...
                وفقط هم زمانی که در مد 8بیتی هستیم و میخوایم به مد دیگری بریم وضعیت چهار بیت پایین اهمیت پیدا میکند و این نکته هم فراموش نشه که LCD با مد 8 بیتی روشن و آماده استفاده میشه

                جناب Nourbakhsh Rad برای زمانی که ما هیچ گونه دسترسی به پایه های low bit مربوط به lcd نداریم (به دلیل اینکه قصد استفاده از مد 4بیتی داریم) چطور میشه کتابخونه رو جوری نوشت که وضعیت پایه های low bit رو تحت تاثیر قرار بده و اونهارو صفر نگه داره؟
                اگر اصولش رو توضیح بدین خیلی سپاس گذار میشم چون هرچی فکر کردم به نتیجه نرسیدم.


                ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
                شهید دکتر مصطفی چمران
                اللهم صل علی محمد و ال محمد و عجل فرجهم
                ; C is not for children

                دیدگاه


                  #9
                  پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

                  با سلام،

                  جناب Nourbakhsh Rad برای زمانی که ما هیچ گونه دسترسی به پایه های low bit مربوط به lcd نداریم (به دلیل اینکه قصد استفاده از مد 4بیتی داریم) چطور میشه کتابخونه رو جوری نوشت که وضعیت پایه های low bit رو تحت تاثیر قرار بده و اونهارو صفر نگه داره؟
                  اگر اصولش رو توضیح بدین خیلی سپاس گذار میشم چون هرچی فکر کردم به نتیجه نرسیدم.
                  در مد 4 بیتی، 4 بیتی که استفاده نمی شوند، بطور خودکار توسط LCD حذف میشوند، پس مقادیر آنها به هیچ وجه مهم نیست. لذا نکته مهم در برنامه نویسی، انتخاب 4 بیت مورد نظر ( جهت ارسال بر روی پورت میکرو ) به گونه ای است که در این روند اشتباهی در درایور نرم افزاری به هنگام ارسال دیتا رخ ندهد ( یعنی انتخاب 4 بیت سبک و سنگین با اند کردن و شیفت دادن! )
                  مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                  Sh_Nourbakhsh@Yahoo.com

                  http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                  دیدگاه


                    #10
                    پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

                    سلام به همه
                    در مد 4 بیتی، 4 بیتی که استفاده نمی شوند، بطور خودکار توسط LCD حذف میشوند، پس مقادیر آنها به هیچ وجه مهم نیست. لذا نکته مهم در برنامه نویسی، انتخاب 4 بیت مورد نظر ( جهت ارسال بر روی پورت میکرو ) به گونه ای است که در این روند اشتباهی در درایور نرم افزاری به هنگام ارسال دیتا رخ ندهد ( یعنی انتخاب 4 بیت سبک و سنگین با اند کردن و شیفت دادن! )
                    بله این درسته اما؟
                    اما زمانی که تازه LCD روشن میشه به صورت پیش فرض 8 بیتی میاد بالا (در پست های قبلی توضیح دادم)
                    حالا برای LCD وضعیت 4 بیت پایین هم مهمه تا زمانی که ما LCD رو به مد 4بیتی ببریم
                    که برای بردن LCD به مد 4بیتی باید وضعیت 4بیت پایین یکی از مقادیر مثل زیر باشه:
                    اون قسمتایی که 4BIT توی اسم دیفاینش هست.
                    کد:
                    //part 6
                    #define HANDGLASS_LCD_8BIT_1LINE_5X10    0b00110100     //15) 8-bit data, 1-line display, 5 x 10 font
                    #define HANDGLASS_LCD_8BIT_1LINE_5X7    0b00110000     //16) 8-bit data, 1-line display, 5 x 7 font (Suitable for lcd reset)
                    #define HANDGLASS_LCD_8BIT_2LINE_5X7    0b00111000     //17) 8-bit data, 2-line display, 5 x 7 font
                    #define HANDGLASS_LCD_4BIT_1LINE_5X10    0b00100100     //18) 4-bit data, 1-line display, 5 x 10 font
                    #define HANDGLASS_LCD_4BIT_1LINE_5X7    0b00100000     //19) 4-bit data, 1-line display, 5 x 7 font
                    #define HANDGLASS_LCD_4BIT_2LINE_5X7    0b00101000     //20) 4-bit data, 2-line display, 5 x 7 font
                    و دلیل اینکه چرا اگر 4بیت رو پایین رو زمین نکنیم در بیشتر مواقع جواب میده رو در پست های قبلی گفتم.
                    اگر در جایی اشتباه میکنم ممنون میشم بهم بگید
                    ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
                    شهید دکتر مصطفی چمران
                    اللهم صل علی محمد و ال محمد و عجل فرجهم
                    ; C is not for children

                    دیدگاه


                      #11
                      پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

                      اما زمانی که تازه LCD روشن میشه به صورت پیش فرض 8 بیتی میاد بالا (در پست های قبلی توضیح دادم)
                      حالا برای LCD وضعیت 4 بیت پایین هم مهمه تا زمانی که ما LCD رو به مد 4بیتی ببریم
                      که برای بردن LCD به مد 4بیتی باید وضعیت 4بیت پایین یکی از مقادیر مثل زیر باشه:
                      اشتباه میکنید!
                      اولین دستوری که جهت پیکره بندی به LCD ارسال میشه، باید HANDGLASS_LCD_8BIT_1LINE_5X7 باشه ( یعنی روی 4 بیتی که برای دیتای LCD در نظر گرفتید، فقط عدد 0b0011 رو قرار بدید )، و بعدش سه پالس بر روی EN بفرستید، در این صورت، LCD از نیبل پائین کلا صرفنظر میکنه و هیچ مشکلی پیش نمیاد، بعد از این روند، پیکره بندی مورد نظر که 4 بیتی است انجام میشه ....

                      من با این الگوریتم هزاران بار LCD کاراکتری رو پیکره بندی و راه اندازی کردم و تا حالا هیچ مشکلی بوجود نیومده، البته ممکنه که واکنش LCD های متفرقه با این موضوع مقایر باشه، ولی در هر صورت این استاندار کاره و بعیده که حتی سازنده های متفرقه هم از این موضوع تخطی کنن!

                      لطفا به تصویر زیر که ابتدای فلوچارت پیکره بندی هست دقت کنید :
                      مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                      Sh_Nourbakhsh@Yahoo.com

                      http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                      دیدگاه


                        #12
                        پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

                        سلام به همه
                        در پروتوس و با کتابخونه ای که دارم تست زیر رو انجام دادم و مشکلی پیش نیومد البته تا در عمل تست نکنم نمیتونم مطمئن بشم
                        همه 4 بیت پایین رو به vcc وصل کردم (بدون مقاومت) و lcd رو روشن کردم و کار میکرد.
                        اولین دستوری که جهت پیکره بندی به LCD ارسال میشه، باید HANDGLASS_LCD_8BIT_1LINE_5X7 باشه
                        بله همینطوره ، همه lcd های شرکت hitachi به این شکل کار میکنن و اما یه سوال الان برام پیش اومده :
                        زمانی که ما lcd رو روشن میکنیم 8بیت میاد بالا (با دستوری که بهش میدیم) خوب حالا که 8بیتی هستش و میخوایم به 4بیتی بریم پس الان وضعیت 4 بیت پایین تاثیر گذاره
                        آیا درسته؟
                        به عنوان مثال پس از 8 بیتی میخایم به 4بیتی 2 خطی بریم
                        اول به 4 بیتی تک خطی با فونت 5*7 میریم و بعد به 4بیتی 2خطی
                        خوب موقع رفتن به 4بیتی باید مقدار زیر رو وارد کنیم:
                        کد:
                        #define HANDGLASS_LCD_4BIT_1LINE_5X7    0b00100000
                        اما اگر نویز بر روی پایه d2 باعث بشه دستور زیر وارد بشه ما به 4بیتی 5*10 میریم:
                        کد:
                        #define HANDGLASS_LCD_4BIT_1LINE_5X10    0b00100100
                        از راهنماییتون ممنونم
                        ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
                        شهید دکتر مصطفی چمران
                        اللهم صل علی محمد و ال محمد و عجل فرجهم
                        ; C is not for children

                        دیدگاه


                          #13
                          پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

                          با سلام،

                          زمانی که ما lcd رو روشن میکنیم 8بیت میاد بالا (با دستوری که بهش میدیم) خوب حالا که 8بیتی هستش و میخوایم به 4بیتی بریم پس الان وضعیت 4 بیت پایین تاثیر گذاره
                          آیا درسته؟
                          خیر، برداشت شما درست نیست ....

                          وقتی که LCD روشن میشه، میره توی مد Power-On ( صرف نظر از اینکه از نظر سخت افزاری در چه آرایشی بسته شده، 8 یا 4 بیتی، مهم نیست! ) در این حالت فقط مقادیر نیبل بالای دیتا ( پین های D4 و D5 و D6 و D7 ) و RW و RS و EN مهم هستند و LCD از مقادیر سایر پین ها صرف نظر میکنه.

                          برای پیکره بندی LCD باید در نرم افزار، بعد از تعریف پین ها بصورت خروجی، مقادیر همه اونها رو برابر صفر کنیم و در این زمان عدد 3 رو بر روی نیبل سنگین تر دیتا قرار داده و یک پالس به EN ارسال میکنیم و این مرحله رو سه بار تکرار میکنیم تا روند Power-On-Rest تکمیل بشه.
                          حالا اگر LCD روی نیبل بالای دیتا عدد 2 رو دریافت کنه، میره توی مد 4 بیتی و دیگه هرگز نیبل پائین دیتا براش اهمیتی نخواهد داشت ولی اگر روی نیبل بالا عدد 3 رو ببینه، مقادیر نیبل پائین رو هم میخونه و در مد 8 بیتی قرار میگیره و از این پس تمامی خطوط دیتا براش اهمیت خواهد داشت و الی آخر ....

                          به تصویر زیر که در اصل فلوچارت توضیحات فوق هست، دقت کنید :
                          http://s5.picofile.com/file/8134483100/LCD001.jpg
                          مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                          Sh_Nourbakhsh@Yahoo.com

                          http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                          دیدگاه


                            #14
                            پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

                            سلام به همه
                            ممنون بابت راهنماییتون و وقتی که گذاشتین

                            پس در نتیجه گیری کلی :
                            حرف من در ابتدا که میگفتم وضعیت پایه ها مهم هستن (باید زمین بشن) اشتباه بوده و جناب Nourbakhsh Rad تصحیحش کردن و با دلایلی که بیان کردن نشون دادن که وضعیت پایه های low byte مهم نیستن.

                            امیدوارم که همگی شاد و پرپول باشید مخصوصا جناب Nourbakhsh Rad
                            ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
                            شهید دکتر مصطفی چمران
                            اللهم صل علی محمد و ال محمد و عجل فرجهم
                            ; C is not for children

                            دیدگاه


                              #15
                              پاسخ : چرا باید پایه های آزاد LCD کاراکتری رو با یه مقاومت به زمین وصل کرد؟؟؟؟؟؟؟؟؟؟

                              نوشته اصلی توسط مهدی رهی
                              سلام به همه
                              ممنون بابت راهنماییتون و وقتی که گذاشتین

                              پس در نتیجه گیری کلی :
                              حرف من در ابتدا که میگفتم وضعیت پایه ها مهم هستن (باید زمین بشن) اشتباه بوده و جناب Nourbakhsh Rad تصحیحش کردن و با دلایلی که بیان کردن نشون دادن که وضعیت پایه های low byte مهم نیستن.

                              امیدوارم که همگی شاد و پرپول باشید مخصوصا جناب Nourbakhsh Rad
                              سلام
                              پایه های D0تاD3 باید PULL DOWN بشند یا نه .؟ بالاخره چی شد ؟
                              یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                              دیدگاه

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