ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






کاربران برچسب زده شده

نمایش نتایج: از 1 به 7 از 7
  1. #1
    2007/12/09
    تهران
    1,626
    31

    کتابخانه ی LCD کاراکتری

    داشتم تو فایل هام میگشتم که دیدم قبلا یه کتابخونه خوب برای این LCD ها نوشتم و گفتم اینجا هم بزارم و تا بقیه دوستان استفاده کنند.این برنامه با avr studio و به زبان سی نوشته شده است.
    این کتابخونه هم میتونه از طریق سریال و هم از طریق موازی LCD ها رو راه اندازی کنه:
    روش موازی:
    در این روش فقط از 6 تا پایه ی میکرو استفاده شده.تو خیلی از موارد پیش اومده به خاطر استفاده از LCD دیگه نمیتونستیم از یه سری پایه ها(مثلا خروجی تایمر) استفاده کنیم. چون حتما پایه ها باید پشت سر هم می بودند. تو این کتابخونه هیچ لزومی برای پشت سر هم بودن بودن پایه ها نیست و حتی میتونید 4 پایه دیتا رو روی یه پورت و 2 تا پایه کنترلی رو روی یه پورت دیگه قرار بدید. برای استفاده از حالت موازی باید متغیری از جنس PARALLEL_LCD توی برنامه اضافه کنید.(بسته به نوع برنامه سراسری یا محلی)
    بعد باید زیر عضو های این متغیر رو مقدار بدید به صورت زیر:

    PARALLEL_LCD test; //تعریف متغیر

    test.ctrl_port=&PORTD; //تعیین پورت کنترلی(rsو E)
    test.data_port=&PORTB; //تعین پورت دیتا
    test.E=6; //شماره بیت پورت که فعال ساز به اون وصل شده
    test.RS=7; //شماره بیت پورت که این پایه به اون وصل شده
    test.LSB0=7; //شماره بیت پورت که این پایه به اون وصل شده
    test.LSB1=4; //شماره بیت پورت که این پایه به اون وصل شده
    test.LSB2=5; //شماره بیت پورت که این پایه به اون وصل شده
    test.LSB3=2; //شماره بیت پورت که این پایه به اون وصل شده

    همون طور که میبینیدهیچ لزومی برای پشت سر هم بودن پایه ها و یا ثابت بودن پورت ها نیست. اگر نیاز به دو تا LCD داشتید یک متغیر دیگه تعریف کنید و به اون هم مقادیر دلخواه رو بدید.
    و اما توابع:
    همه توابع هم نام با توابع کتابخونه کد ویژن هستند ولی پسوند _PAR به آخر اون ها اضافه شده و همیشه به عنوان اولین آرگومان اون متغییری که در بالا تعریف شد رو میاریم. تابع init یه فرق کوچیکی داره که :
    void lcd_init_PAR( test , mode)

    که منظور از تست همون متغیر بالاست و مد اشاره داره به حالت مکان نما که هر کدوم از مقادیر زیر میتونه باشه:
    NO_CUR
    LINE_CUR
    BLOCK_CUR
    که هر کدوم کاربردش معلومه!
    بقیه توابع هم فرق خاصی ندارند از نظر کاربرد و خودشونم شامل اینان:


    void lcd_clear_PAR(PARALLEL_LCD);
    void lcd_init_PAR(PARALLEL_LCD,unsigned char mod);
    void lcd_putchar_PAR(PARALLEL_LCD lcd,unsigned char charr);
    void lcd_puts_PAR(PARALLEL_LCD lcd,char *str);
    void lcd_putsf_PAR(PARALLEL_LCD lcd,const char *str);
    void lcd_gotoxy_PAR(PARALLEL_LCD ,unsigned char x,unsigned char y);


    مثالی که همراهش گزاشتم کمک میکنه که راحت تر متوجه توابع بشید.
    تو فایل شبیه سازی هم 2 تا LCD به صورت موازی و 2تا به صورت سریال به یه مگا 8 وصل شده!
    فعلا خسته شدم. سریال رو نیم ساعت دیگه میگم.
    سوالی بود در خدمتم!

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  2. #2
    2007/12/09
    تهران
    1,626
    31

    پاسخ : کتابخانه ی LCD کاراکتری

    و اما حالت سریال:
    تو این حالت 3 پایه از میکرو مصرف میشه ولی نیاز به یه SIPO داریم. تو این مثال من از 74164 استفاده کردم که 200 تومن حدودا قیمت داره. برای استفاده از این حالت هم باید یه متغیر تعریف کنید ولی از نوع SERIAL_LCD
    SERIAL_LCD test2; //تعریف متغیر

    test2.port=&PORTD; //پورتی که این پایه ها وصل میشن
    test2.clk=0; //شماره بیت پورت که این پایه به اون وصل شده
    test2.dat=1; //شماره بیت پورت که این پایه به اون وصل شده
    test2.E=2; //شماره بیت پورت که این پایه به اون وصل شده


    توابع هم دقیقا مثل حالت موازی هست ولی به جای _PAR باید از _SER استفاده کرد. توابع شامل:


    void lcd_clear_SER(SERIAL_LCD);
    void lcd_init_SER(SERIAL_LCD,unsigned char mode) ;
    void lcd_putchar_SER(SERIAL_LCD lcd,unsigned char charr);
    void lcd_puts_SER(SERIAL_LCD lcd,char *str);
    void lcd_putsf_SER(SERIAL_LCD lcd,const char *str);
    void lcd_gotoxy_SER(SERIAL_LCD l,unsigned char x,unsigned char y);

    شماتیک و مثال و همه این چیزا تو اون فایلی که تو پست قبلم گزاشتم هست.
    فقط یه نکته: اگر از کریستالی به جز 8 مگاهرتز استفاده میکنید در اول برنامه مقدار سقف اون رو وارد کنید.مثلا اگه از کریستال 11.2 استفاده میکنید مقدار 12 رو وارد کنید.

    #define crystal 12

    از این مقدار برای محاسبه تاخیر های فعال سازی استفاده میشه.
    فکر نمیکنم مشکلی ایجاد بشه اگه بخواید از این کتابخونه تو کد ویژن هم استفاده کنید. نصب شده نداشتم نشد تست کنم...
    اگر نکته ای یلدم رفت شما بپرسید!
  3. #3
    2009/12/20
    12
    0

    پاسخ : کتابخانه ی LCD کاراکتری

    شاهین جون 1دونهآ*ای
    خیلی کاربردیه، ممنون
  4. #4
    2007/12/09
    تهران
    1,626
    31

    پاسخ : کتابخانه ی LCD کاراکتری

    اگر با 4shared مشکل دارید از پرشین گیگ هم میتونید دانلود کنید.:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  5. #5
    2010/03/05
    3,251
    96

    پاسخ : کتابخانه ی LCD کاراکتری

    ممنون خیلی کارم راحت شد!
  6. #6
    2015/02/14
    1
    0

    پاسخ : کتابخانه ی LCD کاراکتری

    چرا دانلود نمیشه؟؟؟؟؟؟؟
  7. #7
    2020/02/18
    161
    31

    پاسخ : کتابخانه ی LCD کاراکتری

    سلام
    اگر کسی این کتابخانه را دارد وکتابخانه خوب وتایید شده ای است دوباره قرار بدید چون لینکهای دانلود پاک شدند
نمایش نتایج: از 1 به 7 از 7

موضوعات مشابه

  1. پاسخ: 40
    آخرين نوشته: 2021/11/15, 15:25
  2. پاسخ: 44
    آخرين نوشته: 2015/01/18, 13:24
  3. کتابخانه LCD کاراکتری و گرافیکی برای کامپایلر IAR
    توسط hamedb3269 در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2013/11/06, 10:34
  4. پاسخ: 3
    آخرين نوشته: 2008/08/07, 23:07

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •