اطلاعیه

Collapse
No announcement yet.

کتابخانه LCD برای کامپایلر XC8

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

    کتابخانه LCD برای کامپایلر XC8

    سلام خدمت دوستان من دنبال یه کتابخانه برای ال سی هستم تو نت هم سرچ کردم چیزی نتونستم پیدا کنم ممکن هست کمکم کنید.

    #2
    پاسخ : کتابخانه LCD برای کامپایلر XC8

    نوشته اصلی توسط mostafa6369 نمایش پست ها
    سلام خدمت دوستان من دنبال یه کتابخانه برای ال سی هستم تو نت هم سرچ کردم چیزی نتونستم پیدا کنم ممکن هست کمکم کنید.
    سلام
    چه نوع lcd ؟؟؟ tft oled کاراکتری و...

    دیدگاه


      #3
      پاسخ : کتابخانه LCD برای کامپایلر XC8

      نوشته اصلی توسط M. Moradi نمایش پست ها
      سلام
      چه نوع lcd ؟؟؟ tft oled کاراکتری و...
      lcd کاراکتری

      دیدگاه


        #4
        پاسخ : کتابخانه LCD برای کامپایلر XC8

        نوشته اصلی توسط mostafa6369 نمایش پست ها
        lcd کاراکتری
        http://www.embeddedcodesource.com تو این سایت کد های خوبی هست حتما در این باره مثال داره http://www.embeddedcodesource.com /codesnippet/16x2-lcd-pic16fxxx-lower-nibble# این هم یک نمونه فک کنم بیشتر از این مثال داشته باشه
        جدیدترین ویرایش توسط M. Moradi; ۱۵:۳۶ ۱۳۹۸/۰۳/۲۸.

        دیدگاه


          #5
          پاسخ : کتابخانه LCD برای کامپایلر XC8

          سلام دوست عزیز اما این سایتی که شما دادین باز نمیکنه ؟؟؟

          دیدگاه


            #6
            پاسخ : کتابخانه LCD برای کامپایلر XC8

            نوشته اصلی توسط mostafa6369 نمایش پست ها
            سلام دوست عزیز اما این سایتی که شما دادین باز نمیکنه ؟؟؟
            سلام
            بله لینک کار نمی کنه

            Interface PIC16F887 microcontroller with 16x2 LCD (HD44780 controller), the compiler used in this example is Microchip MPLAB XC8. MPLAB XC8 LCD library.

            بفرمایید این هم یک لینک دیگه

            دیدگاه


              #7
              پاسخ : کتابخانه LCD برای کامپایلر XC8

              جناب اقای با سلام
              یه سوال
              من یه مداری بستم که 4 عدد سون سگمنت داره بعد از حالت رفرش سگمنت ها امدم و استفاده کردم یعنی به ازای نشان دادن هر سگمنت یه تاخیر ایجاد کردم و بعد سگمنت بعدی الی اخر اما یه مشکلی برام ژیشاومده و اینکه چون 4 سون سگمنت داشتم اومدم تاخیر رامحاسبه کردم شد تقریبا 10 میلی ثانیه اما تو عمل وقتی تست کردم نور سگمنت ها خیلی کم هستش (البته برای درایو کردن سگمنت ها نیز از ترانزیستور BC107 استفاده کردم ).بعد از یکسری تست ها متوجه شدم چون زمان خیلی کم هستش ترانزیستورها نمیتونند کالا روشن بشن و واسه همین هستش که نور لامپها کم هست و واسه همین امدم و تاخیر را بیشتر کردم اما در این حالت نیز سگمنت ها چون سریع رفرش نمیشن شروع به چشمک زدن کرد به نظرتون چیکار کنم؟
              ممکنه چون ترانزیستور مورد استفاده سریع نیست؟

              دلیل: ادغام دو پست برای جلوگیری از اسپم

              این هم عکس مدار
              http://s8.picofile.com/file/8366422850/7seg.jpg

              دیدگاه


                #8
                پاسخ : کتابخانه LCD برای کامپایلر XC8

                نوشته اصلی توسط mostafa6369 نمایش پست ها
                جناب اقای با سلام
                یه سوال
                من یه مداری بستم که 4 عدد سون سگمنت داره بعد از حالت رفرش سگمنت ها امدم و استفاده کردم یعنی به ازای نشان دادن هر سگمنت یه تاخیر ایجاد کردم و بعد سگمنت بعدی الی اخر اما یه مشکلی برام ژیشاومده و اینکه چون 4 سون سگمنت داشتم اومدم تاخیر رامحاسبه کردم شد تقریبا 10 میلی ثانیه اما تو عمل وقتی تست کردم نور سگمنت ها خیلی کم هستش (البته برای درایو کردن سگمنت ها نیز از ترانزیستور BC107 استفاده کردم ).بعد از یکسری تست ها متوجه شدم چون زمان خیلی کم هستش ترانزیستورها نمیتونند کالا روشن بشن و واسه همین هستش که نور لامپها کم هست و واسه همین امدم و تاخیر را بیشتر کردم اما در این حالت نیز سگمنت ها چون سریع رفرش نمیشن شروع به چشمک زدن کرد به نظرتون چیکار کنم؟
                ممکنه چون ترانزیستور مورد استفاده سریع نیست؟

                دلیل: ادغام دو پست برای جلوگیری از اسپم

                این هم عکس مدار
                http://s8.picofile.com/file/8366422850/7seg.jpg
                سلام ،
                شاید یه تاپیک جدید می زدید بهتر بود.
                --خوب... مقاوت های 10 کیلو برای چی هست توی شماتیک؟
                --من با سون سگمنت کار کردم نیاز به تاخیر زیادی نداره
                --شاید ترانزیستور ها رو بد درایو کردید
                --فکر نکنم که به خاطر سرعت ترانزیستور ها باشه ترانزیستور ها خیلی سرعت بالا یی دارن

                --مدارتون رو مثل عکس زیر ببندید

                --بعد به این صورت دیتا بدید:
                لاین سلکنت ها رو 0 کنید > دیتا رو روی خطوط دیتا قرار بدید > بعد لاین سلکت مورد نظر رو 0 کنید

                دیدگاه


                  #9
                  پاسخ : کتابخانه LCD برای کامپایلر XC8

                  اون مقاومت 10 کیلو اهم اشتباهی زدم و تو عمل نیستش
                  درخصوص نقشه شما هم منم همین جوری بستم اما نور سگمنت ها کم هستش بعد هم ولتاژ بایاس بیس امیتر ترانزیستورها گرفتم حدود 0.18 ولت هست واسه همین میگم شاید ترانزیستور خوب بایاس نمیشه (درضمن مقدار مقاومتها هم تقریبا با نمونه شما یکی است همون مقاومت 4.7 کیلو اهم برای بیس ترانزیستور و مقوامت 180 امه برای خطوط دیتا)
                  تو برنامه هم اول کلیه سگمنت ها را غیر فعال میکنم.بعد دیتا را میریزم رو پورت و در اخر هر سگمنتی را فعال و مجددا غیر فعال میکنم

                  دیدگاه


                    #10
                    پاسخ : کتابخانه LCD برای کامپایلر XC8

                    جناب مهندس مرادی با عرض سلام
                    یه سوال درمورد متغیرر float و اینکه چه جوری میشه اونها را به خروجی منتقل کرد دارم
                    تو یه پروژه ای فرض کنید که مقدار ADC را میخونم و در یک عدد اعشاری ضرب میشه .حالا میخوام این مقدار را روی سه عدد سون سگمنت نشان بدم.خوب اولین کار مجزا کردن قسمت های یکان و دهگان و صدگان هستش که از طریق تقسیم و باقیمانده تقسیم این کار صورت میگیرد.ولی مشکل من این هستش که هرموقع میخوام این تقسیمات انجام بدم کامپایلر بهم اخطار میده که میخواهی متغیر اعشاری را به صحیح تبدیل کنی و ارور میده چیکار باید کنم.برای مثال زیر را در نظر بگیرید
                    float num=123.4
                    int a
                    a=num%10
                    num/=10
                    تو مثال بالا خط مربوط به باقیمانده تقسیم یعنی % خطا میگیره چیکار باید کرد

                    دیدگاه


                      #11
                      پاسخ : کتابخانه LCD برای کامپایلر XC8

                      نوشته اصلی توسط mostafa6369 نمایش پست ها
                      جناب مهندس مرادی با عرض سلام
                      یه سوال درمورد متغیرر float و اینکه چه جوری میشه اونها را به خروجی منتقل کرد دارم
                      تو یه پروژه ای فرض کنید که مقدار ADC را میخونم و در یک عدد اعشاری ضرب میشه .حالا میخوام این مقدار را روی سه عدد سون سگمنت نشان بدم.خوب اولین کار مجزا کردن قسمت های یکان و دهگان و صدگان هستش که از طریق تقسیم و باقیمانده تقسیم این کار صورت میگیرد.ولی مشکل من این هستش که هرموقع میخوام این تقسیمات انجام بدم کامپایلر بهم اخطار میده که میخواهی متغیر اعشاری را به صحیح تبدیل کنی و ارور میده چیکار باید کنم.برای مثال زیر را در نظر بگیرید
                      float num=123.4
                      int a
                      a=num%10
                      num/=10
                      تو مثال بالا خط مربوط به باقیمانده تقسیم یعنی % خطا میگیره چیکار باید کرد
                      سلام

                      float num=123.4;
                      int a;
                      a = (int)num%10;
                      num /= 10;
                      این رو امتحان کنید

                      به نظر من از داده های اعشاری استفاده نکنید. حافظه ی RAM و ROM بیشتری استفاده می شه و برنامه کند تر عمل میکنه
                      شما عددی که می خواهید رو به صورت صحیح پردازش کنین به همراه یه متغیر که جای اعشار رو نشون بده بعد موقع نمایش روی سون سگمنت عدد صحیح رو نمایش بدین و باتوجه به متغیر مکان اعشار نقطه مورد نظر رو روشن کنید

                      دیدگاه


                        #12
                        پاسخ : کتابخانه LCD برای کامپایلر XC8

                        خوب در مورد ADC میکرو من میخوام اون عددی که از ADC تبیدل شده است و گرفتم توسط یه فرمولی تبدیل به عدد دیگری کنم مثلا فرض کنید باید برعدد اعشاری 3.145 تقسیم یا ضرب بشه و انوقت نتیجه را نشان بدم خوب در این حالت باید با اعداد اعشاری کار کنم دیگه درسته

                        دیدگاه


                          #13
                          پاسخ : کتابخانه LCD برای کامپایلر XC8

                          نوشته اصلی توسط mostafa6369 نمایش پست ها
                          خوب در مورد ADC میکرو من میخوام اون عددی که از ADC تبیدل شده است و گرفتم توسط یه فرمولی تبدیل به عدد دیگری کنم مثلا فرض کنید باید برعدد اعشاری 3.145 تقسیم یا ضرب بشه و انوقت نتیجه را نشان بدم خوب در این حالت باید با اعداد اعشاری کار کنم دیگه درسته
                          سلام
                          خوب شما کل محاسباتت رو به صورت صحیح انجام بده ، آخر کار عدد رو تقسیم بر توانی از 10 کن
                          مثلا :
                          ADCVALUE *= 3145
                          ADCVALUE /1000
                          البته اگه تعداد ضرب های اعشاری زیاد باشه شاید این راه بهتر باشه و اگه کم باشه شاید بد تر
                          در کل چند تا راه رو تست کنین

                          دیدگاه

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