NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3440 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 16 از 16

موضوع: درایو GLCD 240x128 با at91sam7x256

  1. #1
    تازه وارد
    تاریخ عضویت
    Jul 2011
    نوشته ها
    4
    تشکر
    2
    تشکر شده 18 بار در 2 پست

    پیش فرض درایو GLCD 240x128 با at91sam7x256

    سلام
    دوستان کسی قبلاً یک GLCD 240x128 رو با at91sam7x256 درایو کرده ؟
    اسم ال سی دی : TS240128D ، که فکر میکنم درایورش هم T6963c باشه
    اگر کسی هدرفایل یا مثال یا تجربه ای داره ممنون میشم در اختیار من هم بگذاره
    کامپایلری هم که باهاش کار میکنم Keil هست
    البته من بیشتر همون دنبال هدرفایلش هستم
    ممنونم

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    تازه وارد
    تاریخ عضویت
    Jul 2011
    نوشته ها
    4
    تشکر
    2
    تشکر شده 18 بار در 2 پست

    پیش فرض

    خب ظاهراً کسی همچین کدی نداشت
    من توی اینترنت هم گشتم کسی کد آماده ای که با این مشخصات کار کنه تا به حال آپلود نکرده بود ، بالاخره مجبور شدم خودم از روی دیتاشیت و کدهای دیگه ای که بود یه هدرفایل برای این مشخصات بنویسم
    اون ها رو آپلود کردم تا اگر کسی نیاز داشت ازشون استفاده کنه
    سیستمی که من این کدهارو براش نوشتم و تست کردم اینا بوده :
    یک LCD TS240128D با سایز 240x128 که البته از اسمش هم معلوم بود !!
    البته مدل ال سی دی اصلاً مهم نیست ، مهم درایور اونه که T6963C هست ، هر ال سی دیه دیگه ای با این درایور و حتی با رزولیشین دیگه هم با این کدها قابل راه اندازی هست ( باید رزولوشن رو توی فایل t6963c.h تغییر بدین ، مثلاً 240 در 64 یا ... )
    کامپایلری هم که من استفاده کردم Keil بود که البته زبانش C هست و قاعدتاً نباید با بقیه کامپایلرها مشکلی داشته باشه
    میکرویی هم که این کدها رو براش نوشتم AT91SAM7X256 هست اما فکر میکنم کدها برای تمام AT91SAM7 ها صادقه و فقط باید اسم library ها رو که خط اول کدها اومده عوض کنید
    کدها بر اساس پایه ی میکرو نوشته شده ، یعنی اگر حتی مثالاً با AVR هم خواستید کار کنید میتونید کدهای مربوط به ست و ریست کردن و امثال این رو متناسب با میکروی خودتون عوض کنید و از کدها استفاده کنید
    این هدرفایل توابع زیر رو داره :
    تابعی برای نوشتن متن
    تابعی برای لود کردن تصویر (باید کد هگز تصاویرتون رو به فایل مخصوصی که همراه کدها هست اضافه کنید ، یک تصویر هم به عنوان مثال خودم گذاشتم)
    تابعی برای کشیدن خط
    تابعی برای کشیدن مستطیل
    تابعی برای کشیدن دایره
    توابعی برای پاک کردن موارد بالا
    تابعی برای راه اندازی (initialize) ال سی دی
    توی فایل main.c که همراه کدها هست از هر کدوم از توابع یک نمونه آوردم
    از ال سی دی هم بعد از اجرا کدهایی که آپلود کردم یک عکس گرفتم که عکس رو هم به پستم اضافه کردم
    در نهایت باید بگم که تمام این کدها رو از خودم ننوشتم و توی بعضی توابع از کدهای یک انسان خیر خواه دیگه ای هم استفاده کردم که کپی رایتش رو توی کامنت کدها رعایت کردم
    اگر ابهامی هم در مورد کدها داشتین ایمیلم توی کامنت کدها هست
    موفق باشید
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: final.jpg
مشاهده: 139
حجم: 72.4 کیلو بایت  
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط Moshtaf : 28-07-2011 در ساعت 02:09

  4. کاربران : 16 تشکر کرده اند از شما Moshtaf برای ارسال این پست سودمند:


  5. #3
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست

    پیش فرض

    دستت درد نکنه
    به زودی هدرهای اتمل هم یه سروسامونی میدیم
    کویر ویدئو راه اندازی شد

    اگر چه دیر ولی برگشتم به جمع دوستان قدیمی....

  6. تشکرها از این نوشته :


  7. #4
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    منم قبلا برای راه اندازی یه lcd 128*240 به یه همچین هدری نیاز داشتم و یه نمونه برای سری s پیدا کردم و اون رو برای سایر میکرو کنترلر های arm ویرایش کردم . هدر موجود تقریبا مشابه به هدر شماست و فقط در اون نیازی به استفاده از هدر lib_at91samxxx نیست ، همچنین توابعی برای خوندن مختصات تاچ های 128*240 به اون اضافه شده .
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar t6963c.rar (3.3 کیلو بایت, 293 نمايش)

  8. کاربران : 9 تشکر کرده اند از شما 1nafar برای ارسال این پست سودمند:


  9. #5
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2011
    نوشته ها
    24
    تشکر
    5
    تشکر شده 2 بار در 1 پست

    پیش فرض

    سلام
    درود فراوان بر شما
    ساعت ها گشتم تا به نوشته ی شما رسیدم
    کلی خوشحال شدم چون مشکل من هم دقیقا همین آیتم هایی بود که شما گفته بودید

  10. #6
    کاربر علاقه مند آقاجون آواتار ها
    تاریخ عضویت
    Jun 2012
    نوشته ها
    69
    تشکر
    43
    تشکر شده 49 بار در 19 پست

    پیش فرض

    برادر 1 نفر این برنامه من کامپایل کردم . خطا میده روی error که کلید میکنم خط نشان نمیده . مشکل مال کجاست ؟؟؟ من با at91sam7s256 کامپایل کردم

  11. #7
    کاربر علاقه مند آقاجون آواتار ها
    تاریخ عضویت
    Jun 2012
    نوشته ها
    69
    تشکر
    43
    تشکر شده 49 بار در 19 پست

    پیش فرض

    کسی نبود جواب بده . 1 نفر جان این برنامه خطا میده . من مبتدیم . من با کیل کامپاید کردم خطا میده . با چه میکروئی کامپایل کردی ؟؟ ؟؟ ؟؟
    ویرایش توسط آقاجون : 21-06-2012 در ساعت 13:12

  12. #8
    کاربر علاقه مند آقاجون آواتار ها
    تاریخ عضویت
    Jun 2012
    نوشته ها
    69
    تشکر
    43
    تشکر شده 49 بار در 19 پست

    پیش فرض

    1 سال بعد . پس این چه مدیر کل سایتیه که تو سایت نمیاد ؟؟؟

  13. #9
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    17
    تشکر
    8
    تشکر شده 0 بار در 0 پست

    پیش فرض Keil

    یه سوال ساده داشتم
    می خوام یه برنامه برای برد AT91SAM7S256 توی keil بنویسم ولی وقتی AT91SAM رو انتخاب می کنم یه پیامه میده و کامپایل نمیشه
    ولی بعضی بردای دیگه رو که انتخاب می کنم این پیام رو نمیده و کامپایل میشه
    چرا؟
    باتشکر

  14. #10
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    برای من که مشکلی نداره ، اگه امکان داره یه تصویر از خطا بزارید .
    این هم یه پروژه ی عملی با شماتیک و ... :
    فايل هاي پيوست شده فايل هاي پيوست شده

  15. تشکرها از این نوشته :


  16. #11
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2007
    نوشته ها
    33
    تشکر
    6
    تشکر شده 3 بار در 3 پست

    پیش فرض

    سلام
    من هرکاری کردم نتونستم با این هدر ها چیزی روی نمایشگر نشون بدم.تنظیمات خاصی داره؟
    برنامه بدون مشکل کامپایل میشه اما چیزی روی نمایشگر ظاهر نمی شه.لطفا راهنمایی کنید.تشکر

  17. #12
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2007
    نوشته ها
    33
    تشکر
    6
    تشکر شده 3 بار در 3 پست

    پیش فرض

    سلام
    شکر خدا راه اندازی شد.یک سوال : چطور میتونم سایز متن را تغییر بدم و متن های بزرگ و کوچیک را در چند سایز نشان دهم.تشکر

  18. #13
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    متاسفانه من الان به میکروکنترلر و lcd برای تست عملی دسترسی ندارم . برای اینکار باید توابع مروبط به نمایش متن رو تغییر بدید .
    نمونه کد کامپایلر ccs برای نمایش متن در دو سایز :
    [PHP]#ifdef LARGE_LCD
    void glcd_text57(unsigned int16 x, unsigned int16 y, char * textptr, unsigned int8 size, int1 color)
    #else
    void glcd_text57(unsigned int8 x, unsigned int8 y, char * textptr, unsigned int8 size, int1 color)
    #endif
    {
    unsigned int8 j, k, l, m; // Loop counters
    unsigned int8 pixelData[5]; // Stores character data

    for(; *textptr != '\0'; ++textptr, ++x)// Loop through the passed string
    {
    if(*textptr < 'S') // Checks if the letter is in the first font array
    memcpy(pixelData, FONT[*textptr - ' '], 5);
    else if(*textptr <= '~') // Check if the letter is in the second font array
    memcpy(pixelData, FONT2[*textptr - 'S'], 5);
    else
    memcpy(pixelData, FONT[0], 5); // Default to space

    // Handles newline and carriage returns
    switch(*textptr)
    {
    case '\n':
    y += 7*size + 1;
    continue;
    case '\r':
    x = 0;
    continue;
    }

    if(x+5*size >= GLCD_WIDTH) // Performs character wrapping
    {
    x = 0; // Set x at far left position
    y += 7*size + 1; // Set y at next position down
    }
    for(j=0; j<5; ++j, x+=size) // Loop through character byte data
    {
    for(k=0; k < 7; ++k) // Loop through the vertical pixels
    {
    if(bit_test(pixelData[j], k)) // Check if the pixel should be set
    {
    for(l=0; l < size; ++l) // These two loops change the
    { // character's size
    for(m=0; m < size; ++m)
    {
    glcd_pixel(x+m, y+k*size+l, color); // Draws the pixel
    }
    }
    }
    }
    }
    }
    }

    #endif
    [/PHP]
    [PHP]

    // Purpose: Turn a pixel on a graphic LCD on or off
    // Inputs: 1) x - the x coordinate of the pixel
    // 2) y - the y coordinate of the pixel
    // 3) color - ON or OFF
    void glcd_pixel(unsigned int8 x, unsigned int8 y, int1 color)
    #ifdef FAST_GLCD
    {
    unsigned int8* p;
    unsigned int16 temp;
    temp = y/8;
    temp *= 64;
    temp += x;

    if(x > 63)
    {
    p = displayData.right + temp - 64;
    }
    else
    {
    p = displayData.left + temp;
    }

    if(color)
    {
    bit_set(*p, y%8);
    }
    else
    {
    bit_clear(*p, y%8);
    }
    }
    #else
    {
    BYTE data;
    int1 side = GLCD_LEFT; // Stores which chip to use on the LCD

    if(x > 63) // Check for first or second display area
    {
    x -= 64;
    side = GLCD_RIGHT;
    }

    output_low(GLCD_DI); // Set for instruction
    bit_clear(x,7); // Clear the MSB. Part of an instruction code
    bit_set(x,6); // Set bit 6. Also part of an instruction code
    glcd_writeByte(side, x); // Set the horizontal address
    glcd_writeByte(side, (y/8 & 0xBF) | 0xB8); // Set the vertical page address
    output_high(GLCD_DI); // Set for data
    glcd_readByte(side); // Need two reads to get data
    data = glcd_readByte(side); // at new address

    if(color == ON)
    bit_set(data, y%8); // Turn the pixel on
    else // or
    bit_clear(data, y%8); // turn the pixel off

    output_low(GLCD_DI); // Set for instruction
    glcd_writeByte(side, x); // Set the horizontal address
    output_high(GLCD_DI); // Set for data
    glcd_writeByte(side, data); // Write the pixel data
    }
    #endif[/PHP]

  19. تشکرها از این نوشته :


  20. #14
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2007
    نوشته ها
    33
    تشکر
    6
    تشکر شده 3 بار در 3 پست

    پیش فرض

    سلام لطفا فایل تابع فونت font که استفاده شده را بگذارید
    تشکر

  21. #15
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    فایل کتابخونه پیوست شد .
    همونطور که قبلا هم گفتم این کتابخونه برای میکروکنترلر های pic و کامپایلر ccs pic c و lcd های مبتنی بر چیپ ست k0108 هست .
    فايل هاي پيوست شده فايل هاي پيوست شده

  22. کاربران : 2 تشکر کرده اند از شما 1nafar برای ارسال این پست سودمند:


  23. #16
    کاربر فعال
    تاریخ عضویت
    Jul 2007
    نوشته ها
    320
    تشکر
    48
    تشکر شده 39 بار در 33 پست

    پیش فرض

    سلام
    دیتا شیت این رو کسی نداره؟
    ترتیب پایه ها رو می خوام
    سمت چپ 22 تا پایه داره
    سمت راست دو سطر پایه داره پایین 11 تا و سطر بالا 10 تا

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

  1. معرفی برد یو - یو بردی مناسب برای ارتباط با سخت افزار در اندروید
    توسط dariush_ab در انجمن اندروید-برنامه نویسی و سخت افزار
    پاسخ: 7
    آخرين نوشته: 25-05-2015, 13:58
  2. پاسخ: 0
    آخرين نوشته: 29-10-2012, 20:24
  3. به هم ریختگی صفحه نمایش glcd
    توسط madarsazegan در انجمن را اندازی امکانات جانبی عمومی
    پاسخ: 11
    آخرين نوشته: 20-08-2012, 13:01
  4. Glcd
    توسط naruto در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 1
    آخرين نوشته: 24-02-2011, 16:41
  5. Glcd
    توسط naruto در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 0
    آخرين نوشته: 24-02-2011, 00:03

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

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