اطلاعیه

Collapse
No announcement yet.

آموزش راه اندازی lcd n96 در مد 8 بیتی با 74573

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

    آموزش راه اندازی lcd n96 در مد 8 بیتی با 74573

    با سلام خدمت بچه های گل eca
    تو این تاپیک میخوام نحوه ی راه اندازی lcd n96 رو بگم بطوری که فقط از 8 پایه میکرو استفاده بشه برای این کار از ای سی 74hc573n استفاده کردم
    خوب تو این مدت که تاپیکهای دوستان رو می خوندم همگی از روش تغییر مقاومتهای پشت lcd صحبت می شد این روش هم در نوع خودش جالب بود
    ولی من که دلم نیومد این ماژول n96 رو که از همین eca خریدمو به این حال و روز بندازم البته مزیت این روش اینه که سخت افزار کمتری استفاده می کنه
    هر چند که بازم اینو مزیت نمیدونم. خوب بگذریم بریم سراغ روش خودمون تو این روش از دو تا ای سی 74hc573n استفاده کردم که یه جورایی تو ای پروژه
    باس 8 بیتی رو به باس 16 بیتی تبدیل می کنند .یعنی در واقعیت lcd در مد 16 بیتی قرار دارد ولی میکرو از طریق 8 خط دیتا با این میکرو ارتباط برقرار میکنه
    خوب اموزش رو از امشب شروع میکنم تو این فاصله هم اگه سوالی بود مطرح کنید

    #2
    پاسخ : آموزش راه اندازی lcd n96 در مد 8 بیتی با 74573

    با سلام خدمت شما
    بی مقدمه کارو شروع می کنم برای شروع اول لازمه که در مورد ای سی لچ 573 یه توضیحی داده بشه که اصلا چطوری کار می کنه در این ای سی
    Q0تا Q7 خروجی d0 تاd7 ورودی ها هستند . و دو پایه کنترلی oe(output enable
    و latch enable وجود داره که با کمک اون میتونیم خطوط دیتا رو کنترل کنیم بهترین راه واسه یادگیری نحوه عملکرد این ای سی شبیه سازی تو پروتیوسه
    بهتون توصیه می کنم حتما این کارو بکنید تو پیوست هم فایل شبیه سازی شده و نحوه ی ارتباط مشخصه .خوب به صورت کلی این مدار به این شکل عمل
    می کنه که یه بار 8 خط دیتای میکرو به msb وصل میشه و ما تو این byte می تونیم write کنیم یه بار هم 8 خط دیتای میکرو به lsb وصل میشه .
    به همین راحتی :nerd: خوب در مورد سخت افزار نمیدونم همه چیرو گفتم یا نه بازم اگه مشکلی بود سوالات رو مطرح کنید ولی با شبیه سازی مشکلتون
    فکر میکنم باید حل بشه.تو قسمت بعد به بررسی یکی از کتابخونه ها واسه راه اندازی در مد 16 بیتی توسط دوست خوبم اقای اسماعیل طاهری با ccs سازگارش کردن البته خیلی راحت میشه واسه کامپایلرهای دیگه هم به کار برد پرداخته می شه که چه تغییراتی باید در ای کتابخونه اعمال بشه تا در مد 8بیتی بتونیم ازش استفاده کنیمhttp://sseidmo.persiangig.com/74573.zip

    یه پیشنهاد واسه شرکتeca که شما میتونید با این تغییرات سخت افزاری ماژولهایی رو وارد بازار کنید که بدون تغییر مقاومتها از این جور کارا این انتخابو به کاربر بدید که به صورت نرم افزاری مد 8 بیتی یا 16 بیتی رو انتخاب کنه این طوری دیگه به m0انیازی نیست شما که ماژولشو طراحی کردید فقط 2 تا ای سی بهش اضافه کنید فکر میکنم استقبال خوبی ازش بشه

    دیدگاه


      #3
      پاسخ : آموزش راه اندازی lcd n96 در مد 8 بیتی با 74573

      نوشته اصلی توسط saeidmo
      با سلام خدمت شما
      بی مقدمه کارو شروع می کنم برای شروع اول لازمه که در مورد ای سی لچ 573 یه توضیحی داده بشه که اصلا چطوری کار می کنه در این ای سی
      Q0تا Q7 خروجی d0 تاd7 ورودی ها هستند . و دو پایه کنترلی oe(output enable
      و latch enable وجود داره که با کمک اون میتونیم خطوط دیتا رو کنترل کنیم بهترین راه واسه یادگیری نحوه عملکرد این ای سی شبیه سازی تو پروتیوسه
      بهتون توصیه می کنم حتما این کارو بکنید تو پیوست هم فایل شبیه سازی شده و نحوه ی ارتباط مشخصه .خوب به صورت کلی این مدار به این شکل عمل
      می کنه که یه بار 8 خط دیتای میکرو به msb وصل میشه و ما تو این byte می تونیم write کنیم یه بار هم 8 خط دیتای میکرو به lsb وصل میشه .
      به همین راحتی :nerd: خوب در مورد سخت افزار نمیدونم همه چیرو گفتم یا نه بازم اگه مشکلی بود سوالات رو مطرح کنید ولی با شبیه سازی مشکلتون
      فکر میکنم باید حل بشه.تو قسمت بعد به بررسی یکی از کتابخونه ها واسه راه اندازی در مد 16 بیتی توسط دوست خوبم اقای اسماعیل طاهری با ccs سازگارش کردن البته خیلی راحت میشه واسه کامپایلرهای دیگه هم به کار برد پرداخته می شه که چه تغییراتی باید در ای کتابخونه اعمال بشه تا در مد 8بیتی بتونیم ازش استفاده کنیمhttp://wdl.persiangig.com/pages/down....com/74573.zip

      یه پیشنهاد واسه شرکتeca که شما میتونید با این تغییرات سخت افزاری ماژولهایی رو وارد بازار کنید که بدون تغییر مقاومتها از این جور کارا این انتخابو به کاربر بدید که به صورت نرم افزاری مد 8 بیتی یا 16 بیتی رو انتخاب کنه این طوری دیگه به m0انیازی نیست شما که ماژولشو طراحی کردید فقط 2 تا ای سی بهش اضافه کنید فکر میکنم استقبال خوبی ازش بشه
      سلام با تشکر
      لطفا لینک را اصلاح نمائید. :redface: با اجازه شما دوستان برای دانلود اینجا را کلیک کنید
      [ftp=ftp://sseidmo.persiangig.com/74573.zip]http://sseidmo.persiangig.com/74573.zip[/ftp]
      کمتر سخن گویم
      بیشتر عمل کنیم

      دیدگاه


        #4
        پاسخ : آموزش راه اندازی lcd n96 در مد 8 بیتی با 74573

        سلام و خسته نباشید
        من سه تا سوال داشتم ؛ما توی این تاپیک قراره فقط روی نحوه ی راه اندازی این ایسی تمرکز کنیم یا بر روی نحوه ی کار با این lcd هم کار میکنیم ؟و سوال دوم اینکه به چه زبانی قراره اموزش داده بشه ؟و سوال اخر اینکه اگر میخواهید کار با خود این lcd را هم اموزش بدید این اموزش ها برای چه میکرویی خواهد بود فقط برای pic یا برای avr هم خواهد بود ؟

        موفق باشید :job:
        ین دو خانه یک برد بورد (به علت وجود پلاستیک عایق بین آنها) یک خازن کوچک وجود دارد که خیلی سریع شارژ میشود.

        به این دلیل در مدارات فرکانس بالا که سرعت تغییرات زیاد است نمیتوان از برد بورد استفاده نمود. چون زمان شارژ خازن کوچک محسوس میشود.
        http://www.botlobby.com/PishAzEftetah/

        دیدگاه


          #5
          پاسخ : آموزش راه اندازی lcd n96 در مد 8 بیتی با 74573

          ببینید
          من سه تا سوال داشتم ؛ما توی این تاپیک قراره فقط روی نحوه ی راه اندازی این ایسی تمرکز کنیم یا بر روی نحوه ی کار با این lcd هم کار میکنیم ؟و سوال دوم اینکه به چه زبانی قراره اموزش داده بشه ؟و سوال اخر اینکه اگر میخواهید کار با خود این lcd را هم اموزش بدید این اموزش ها برای چه میکرویی خواهد بود فقط برای pic یا برای avr هم خواهد بود ؟
          ببینید نحوه ی کار با این lcd بارها تو تاپیکهای مختلف توضیج داده شده ولی تو این تاپیک قراره نحوه ی راه اندازی در مد 8 بیتی و16 بیتی به صورت سخت افزاری
          و بدون تغییر مقاومتهای پشت lcd مورد بررسی قرار بگیره که تا حالا مورد بحث قرار نگرفته مطمنا شما باید بفهمید که این ای سی چطور کار میکنه بعد برم سراغ
          lcd در مورد این که قراره با avr هم اموزش داده بشه اموزش مستقل از نوع میکرو یا کامپایلر خاصی صورت میگیره و شما محدودیتی از این لحاط ندارید فقط
          یه مقدار باید علم تبدیل کد رو یاد بگیرید ولی فراموش نکنید این تاپیک در قسمت pic زده شده امشبم سعیمو میکنم ادامشو بگم ولی مثل اینکه اصلا کسی
          اشتیاقی به ادامه کار نداره

          دیدگاه


            #6
            پاسخ : آموزش راه اندازی lcd n96 در مد 8 بیتی با 74573

            با سلام ببخشید بابت تاخیر چند روزه نتونستم ادامشو بگم بالاخره روزای اول دانشگاه و اسباب کشیو این حرفا...
            سخت افزار پروژه که همون فایل پروتیوس رو باز کنید خوب حالا فرقی نمیکنه از چه کتابخونه ای استفاده می کنید من چنتا کتابخونه رو که واسه pic.avr.arm
            چک کردم همشون از رو هم تبدیل شده بود و فقط دیفایناش فرف می کرد خوب شما واسه تغییر به مد 8 بیتی فقط باید دوتا تابع رو تغییر بدید که مربوط به
            write کردنه یکیش tftlcd_write_index_register و یکی دیگه void tftlcd_write_wdr(int data) .یا تو بعضی هدرهای دیگه wr_cmd (unsigned char وwr_dat (unsigned short c یا بازم تو بعضی دیگه از کتابخونه هایی که در مد 16 بیتی نوشته شده و باید تغییر کنند LCD_WR_DATA16 و LCD_WR_REG16 شرمنده سرعت اینترنتم خیلی پایینه نمیتونم اپلود کنم براتون خوب توی کتابخونه ی tft-lcd.c که واسه ccs نوشته شده این دو تابع نوشته شده
            کد:
            //-----------------------------------------------------------------------
              // send a word data to the lcd
            //-----------------------------------------------------------------------
            void lcd_write_index_register(char ins)
              {
              CS_LOW;
              RS_LOW;
              LCD_DATAPORT_MSB_PORT(0x00); 
              LCD_DATAPORT_LSB_PORT(ins);
              WR_LOW; 
              WR_HIGH;
              CS_HIGH;    
              }
              
            //-----------------------------------------------------------------------
              // write a word data into the WDR lcd register
            //-----------------------------------------------------------------------
            void lcd_write_wdr(long data)
              { 
              CS_LOW;
              RS_HIGH;
              LCD_DATAPORT_MSB_PORT(data>>8); 
              LCD_DATAPORT_LSB_PORT(data); 
              WR_LOW;
              WR_HIGH;
              CS_HIGH;      
              }
            که به جاش این دو تا رو جایگزین کنید
            کد:
            //-----------------------------------------------------------------------
              // send a word data to the lcd
            //-----------------------------------------------------------------------
            void lcd_write_index_register(char ins)
              {
              CS_LOW;
              RS_LOW;
              
               oe1_high;
              oe2_high;
              msb_high;
              lsb_low;
              //oe1=1
              //oe2=1
              //msb=1
              //lsb=0
              LCD_DATAPORT_MSB_PORT(0x00);
              
              oe1_low;
              oe2_high;
              msb_low;
              lsb_high;
              //oe1=0
              //oe2=1
              //msb=0
              //lsb=1
              
              LCD_DATAPORT_LSB_PORT(ins);
              oe2_low;
              lsb_low;
              //oe2=0
              //lsb=0
              WR_LOW; 
              WR_HIGH;
              CS_HIGH;    
              }
              
            //-----------------------------------------------------------------------
              // write a word data into the WDR lcd register
            //-----------------------------------------------------------------------
            void lcd_write_wdr(long data)
              { 
              CS_LOW;
              RS_HIGH;
              
              oe1_high;
              oe2_high;
              msb_high;
              lsb_low;
              
              //oe1=1
              //oe2=1
              //msb=1
              //lsb=0
              LCD_DATAPORT_MSB_PORT(data>>8);
              oe1_low;
              oe2_high;
              msb_low;
              lsb_high;
              //oe1=0
              //oe2=1
              //msb=0
              //lsb=1
              
              LCD_DATAPORT_LSB_PORT(data);
              oe2_low;
              lsb_low;
              //oe2=0
              //lsb=0
              WR_LOW;
              WR_HIGH;
              CS_HIGH;      
              }
            در مورد msb lsb oe1 oe2 هم تو فایل شبیه سازی شده مشخصه فقط باید اول هدر این دیفاینارو اضافه کنید
            کد:
            #define msb  pin_a1
            #define lsb  pin_a2
            #define oe1  pin_a3
            #define oe2  pin_a4
            
            #define msb_low output_low(msb)
            #define msb_high output_high(msb)
            
            
            #define lsb_low output_low(lsb)
            #define lsb_high output_high(lsb)
            
            
            #define oe1_low output_low(oe1)
            #define oe1_high output_high(oe1)
            
            
            #define oe2_low output_low(oe2)
            #define oe2_high output_high(oe2)

            بازم مشکلی بود بپرسید با هم حلش کنیم

            دیدگاه

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