اطلاعیه

Collapse
No announcement yet.

AVR>>>C>>>LCD------کسی در مورد این کد چیزی میدونه ؟؟؟

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

    AVR>>>C>>>LCD------کسی در مورد این کد چیزی میدونه ؟؟؟

    این کد مربوط به LCD تو زبون C تو AVR

    خط اول و سوم که شروع و پایان کد نویسی اسمبلی هستن.
    خط وسط برا تعیین پورتی که میخوایم LCD رو بهش وصل کنیم هستش

    حالا مشکل من اینه که چطور تعیین میکنیم که LCD به فلان پایه میکرو وصل هستش؟؟؟؟؟ :angry:

    کد:
    #asm
    .equ __lcd_port=0x1B ;PORTA 
    #endasm
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

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

    #2
    پاسخ : AVR>>>C>>>LCD------کسی در مورد این کد چیزی میدونه ؟؟؟

    سلام

    0x1B= پورت A
    0x18=پورت B
    0X15=پورت C
    0X12=پورت D

    Bit 0=RS
    Bit 1=RD
    Bit 2=EN
    Bit 4=DB4
    Bit 5=DB5
    Bit 6=DB6
    Bit 7=DB7
    برای ال سی دی 4*40:
    Bit 0=RS
    Bit 1=RD
    Bit 2=EN1
    Bit 3=EN2
    Bit 4=DB4
    Bit 5=DB5
    Bit 6=DB6
    Bit 7=DB7
    قبل از دويدن بايد راه رفتن ياد گرفت.

    دیدگاه


      #3
      پاسخ : AVR>>>C>>>LCD------کسی در مورد این کد چیزی میدونه ؟؟؟

      ممنون از راهنماییت :applause:

      فقط یه چند تا چیز :redface:

      مثلا ال سی دی lm016l که 16 ستون داره و 2 سطر

      VSS-VDD====>اینا که به زمین و 5 ولت وصل میشن


      سوال1: VEE====>این پایه درخشندگی هستش؟؟؟؟====>ببین درس فهمیدم : اگه روشن باشه LCD ما صفحه اش روشن تر میشه و اگه خاموش باشه ممکنه تو تاریکی نتونیم چیزای !!! داخل LCD رو بخونیم.====>درست گفتم؟؟

      سوال2: RW====>(بازم تو کتاب که خونده بودم نوشته بود :mrgreen: : اگه این پایه 0 باشه: نوشتن /اگه 1 باشه: خواندن )==> یعنی اگه 1 باشه ما میتونیم ببخونیم که تو LCD چی چی نوشته شده|درست گفتم؟

      سوال3: RS===>(تو کتاب که خونده بودم نوشته بود: اگه این پایه 0 باشه: ورودی فرمان/اگه 1 باشه: ورودی کاراکتر )====>؟؟؟؟؟؟؟؟؟؟؟؟؟؟


      سوال4 : E====>????


      سوال5 : چرا ما از پایه های DB0 تا DB3 استفاده نمیکنیم (تو اکثر پروژه ها این طوری بوده) ؟؟؟؟؟


      سوال آخر :

      پس ما برا تعیین پورتی که به ال سی دی وصل هستش مثلا تو کد زیر به جای PORTA پورت مورد نظرمون رو مینوسیم(مثلا PORTB)

      کد:
      #asm
      .equ __lcd_port=0x1B ;PORTA 
      #endasm

      ولی یه چیز دیگه :
      اینایی که گفتی :
      0x1B= پورت A
      0x18=پورت B
      0X15=پورت C
      0X12=پورت D

      ما با این مقدار دهی ها داریم مقادیر RS-RW-DB4...DB7 رو تغییر میدیم و فکر نکنم ربطی به تعیین پورتی که LCD بهش وصل هست داشته باشه.

      یه مقدار توضیح میدی در این باره. :cry: :mrgreen: :cry: :mrgreen:
      اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

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

      دیدگاه


        #4
        پاسخ : AVR>>>C>>>LCD------کسی در مورد این کد چیزی میدونه ؟؟؟

        پایه یک زمین و پایه 2 به مثبت 5 ولت.
        1-بله درست گفتید برای تنظیم نور زمینه هست.میتونید با یه پتانسومتر شدت نور پس زمینه رو کنترل کنید.
        2-
        R/W=1 خوندن از ال سی دی
        R/W=0 نوشتن در ال سی دی
        3-هر دستور یه کد هگز داره که جهت ارسال دستورات (پاک کردن صفحه نمایش-انتقال مکان به چپ و...)باید:
        RS=0
        کد فرمان روی پایه دیتا قرار بگیره
        یه پالس به پایه E داده بشه
        برای ارسال داده باید:
        RS=1
        کد داده روی پایه های دیتا قرار بگیره
        یه پالس به پایه E داده بشه
        4- E پایه فعال ساز که اطلاعات روی پایه های دیتا رو لچ میکنه.با دادن یه پالس یک به صفر با حداقل پهنای 450 نانو ثانیه پایه E فعال میشه.
        5-
        کلا ال سی دی رو میشه به روش انتقال سریال و موازی ارتباط داشت.که روش موازی انتقال 4 بیتی و هشت بیتی داریم.در موازی 4 بیتی از پایه های D4-D7 و موازی 8 بیتی از D0-D7 استفاده میکنیم.
        6- ما برا تعیین پورتی که به ال سی دی وصل هستش بصورت زیر عمل میکنیم:
        اتصال به پورت A:
        کد:
        #asm
          .equ __lcd_port=0x1B
        #endasm
        اتصال به پورت B:
        کد:
        #asm
          equ __lcd_port=0x18.
        #endasm
        اتصال به پورت C:
        کد:
        #asm
          .equ __lcd_port=0x15
        #endasm
        و...
        در ضمن در موازی 4 بیت که از بیت سوم پورت استفاده نشد میشه با یه ترانزیستور و مقاومت برای و استفاده از همین بیت سوم برای روشن کردن نور زمینه توسط میکرو استفاده کرد.
        قبل از دويدن بايد راه رفتن ياد گرفت.

        دیدگاه


          #5
          پاسخ : AVR>>>C>>>LCD------کسی در مورد این کد چیزی میدونه ؟؟؟

          نوشته اصلی توسط md3848
          این کد مربوط به LCD تو زبون C تو AVR

          خط اول و سوم که شروع و پایان کد نویسی اسمبلی هستن.
          خط وسط برا تعیین پورتی که میخوایم LCD رو بهش وصل کنیم هستش

          حالا مشکل من اینه که چطور تعیین میکنیم که LCD به فلان پایه میکرو وصل هستش؟؟؟؟؟ :angry:

          کد:
          #asm
          .equ __lcd_port=0x1B ;PORTA 
          #endasm
          انو هم بگم در ورژن های جدید تر کدویژن دیگه نیازی به نوشتن این کدها ندارید و در نتظیمات توسط خود نرم افزار lcd و پایه هاشو مشخص میکنی

          دیدگاه

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