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





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









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









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





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

نمایش نتایج: از 1 به 10 از 10
  1. #1
    2008/10/29
    2,098
    219

    ساخت کتابخونه LCD 16*2 برای MPLAB

    سلام
    آقا من دارم یه کتابخونه برای PIC می نویسم :job: کارش تموم شده اما کار نمی کنه
    دو تا سوال داشتم
    1-رفرنسی که توضیح داده باشه چه جوری LCD به صورت 4 بیت کانفیگ می شه سراغ ندارین(یعنی بگه الان باید پایه EN مثلا صفر بشه حالا داده ارسال و ....) نگرانم رفرنسم یه جاییش رو کم گفته چون با کدهای دیگه مقایسه کردم یه مشکلاتی وجود داشت
    2-چرا به جای
    Portbbits
    می یان از
    LATBbits
    استفاده می کنن فرقشون در چی هست؟

    ممنونم
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
  2. #2
    2009/02/18
    تهران
    270
    1

    پاسخ : ساخت کتابخونه LCD 16*2 برای MPLAB

    سلام

    2-چرا به جای
    Portbbits
    می یان از
    LATBbits
    استفاده می کنن فرقشون در چی هست؟
    راستش توضیحش یک مقدار مشکله , LAT مخفف latch میباشد , یک بیت حافظه , در سری های 16f یه مشکلی وجود داشت , بعضی وقت ها شما میخاهید پس از اینکه مقداری را در یک پرت قرار دادین , اون پرت رو دوباره بخونید , اما در سری 16f وقتی این کار رو میکنید مقدار حقیقی پرت رو میخونید یعنی اینکه ممکنه این مقدار توسط عوامل خارجی تغییر کرده باشه و شما مقدار اشتباهی را خاندین این موضوع در سری 18f به وسیله یک بیت حافظه به نام LATx حل شده

    فرقی نداره در کدام بنویسید , اما بهتره از LAT بخونید

    1-رفرنسی که توضیح داده باشه چه جوری LCD به صورت 4 بیت کانفیگ می شه سراغ ندارین(یعنی بگه الان باید پایه EN مثلا صفر بشه حالا داده ارسال و ....) نگرانم رفرنسم یه جاییش رو کم گفته چون با کدهای دیگه مقایسه کردم یه مشکلاتی وجود داشت
    خوب شما دیگه عملا وارد سخت افزار شدین و رفرنس های شما فقط دیتا شیت ها هستن

    نا اميدي يه دروغ بزرگه که آدما به خودشون ميگن
    تلاش يه حقيقت بزرگه که با صبر به ثمر ميرسه
  3. #3
    2008/10/29
    2,098
    219

    پاسخ : ساخت کتابخونه LCD 16*2 برای MPLAB

    سلام و مثل همیشه ممنونم

    آقا مشکل اینجاست که دیتاشیتشم زیاد چیزی نگفته

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

    عضویت



    حالا به نظرتون باید چی کار کنم؟

    آقا یعنی اگر از LAT به عنوان خروجی استفاده کنیم هیچ فرقی نمی کنه تا از PORT?
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
  4. #4
    2009/02/18
    تهران
    270
    1

    پاسخ : ساخت کتابخونه LCD 16*2 برای MPLAB

    نقل قول نوشته اصلی توسط baby_1
    آقا مشکل اینجاست که دیتاشیتشم زیاد چیزی نگفته

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

    عضویت



    حالا به نظرتون باید چی کار کنم؟
    برای اینکار باید دنبال دیتاشیت درایور LCD بگردین , یعنی HD44780



    نقل قول نوشته اصلی توسط baby_1
    آقا یعنی اگر از LAT به عنوان خروجی استفاده کنیم هیچ فرقی نمی کنه تا از PORT?
    راستش من همیشه از PORT استفاده میکنم اما قاعدتا نباید فرقی داشته باشه و ن.شتن در هرکدام به معنی نوشتن در دیگریه



    نا اميدي يه دروغ بزرگه که آدما به خودشون ميگن
    تلاش يه حقيقت بزرگه که با صبر به ثمر ميرسه
  5. #5
    2011/01/21
    ساری - ایران
    150
    7

    پاسخ : ساخت کتابخونه LCD 16*2 برای MPLAB

    نقل قول نوشته اصلی توسط baby_1
    آقا یعنی اگر از LAT به عنوان خروجی استفاده کنیم هیچ فرقی نمی کنه تا از PORT?
    بحث استفاده از رجیسترهای PORT یا LAT معمولا گمراه کننده است. بنابر این بهتره به این نکات توجه داشته باشید:
    مقدار دو رجیستر LAT و PORT در زمانی که پورت به صورت خروجی پیکره بندی شده باشد و بدون دخالت عامل خارجی با هم برابر هستند. ولی در حالتی که پورت به عنوان ورودی پیکره بندی بشه مقدار این دو میتونن متفاوت باشن. بنابر این در نوشتن تابع برای سخت افزارهایی مانند LCD به این موارد توجه کنید. شکل زیر که شماتیک معمول اغلب پورتهای سری 18F رو نشون میده. با دقت در این شکل به موارد بالا پی میبرین.

    همونطور که در شکل میبینید در صورت ورودی بودن پورت مقدار خوانده شده تابعی از مقدار منطقی پین ها است. ولی در صورتی که بر روی پورت ( در حالت پیکره بندی به صورت ورودی) مقداری بنویسید این مقدار بر روی رجیستر LAT ذخیره شده و به پین انتقال پیدا نخواهد کرد. بنا بر این این دو میتونن متفاوت باشن.
  6. #6
    2008/10/29
    2,098
    219

    پاسخ : ساخت کتابخونه LCD 16*2 برای MPLAB

    سلام و ممنونم از توضیحاتتون
    یعنی مطابق با این ساختار اگر پورت رو به صورت ورودی تعریف کرده باشیم و بهش مقدار بدیم این مقدار باقی می مونه تا پورت به صورت خروجی تعریف بشه؟
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
  7. #7
    2011/01/21
    ساری - ایران
    150
    7

    پاسخ : ساخت کتابخونه LCD 16*2 برای MPLAB

    نقل قول نوشته اصلی توسط baby_1
    یعنی مطابق با این ساختار اگر پورت رو به صورت ورودی تعریف کرده باشیم و بهش مقدار بدیم این مقدار باقی می مونه تا پورت به صورت خروجی تعریف بشه؟
    بله همینطوره. به همین دلیل ممکنه در مواردی ایجاد مشکل کنه. به عنوان مثال بعد از خوندن یک پورت جهت کل یا بعضی از بیتهای اون رو عوض کنید. نمونه اش اینه که فرضا از دستور اسمبلیBSF PORTB,5 استفاده کنید. با اجرای این دستور ابتدا مقدار پین ها خونده میشه و بعد از یک شدن بیت پنجم مقدار جدید بر روی پورت و رجیستر LATB قرار میگیره. حالا فرض کنیم بیت 7 به صورت ورودی بوده باشه. مقدارش خونده میشه و در LATB,7 نوشته میشه. تا زمانی که این پین ورودی بمونه مشکلی نیست. ولی اگه جهت این پین عوض بشه ممکنه یک مقدار ناخواسته بگیره. برای حل این مشکل بهتره که بجای دستور BSF PORTB,5 از دستور BSF LATB,5 استفاده کنید.

    پس به طور کلی : برای انجام یک فرایند که مقداری رو میخونه و بعد از تغییر در خروجی مینویسه بهتره از رجیستر LAT به جای PORT استفاده بشه و برای خوندن پین از PORT استفاده کنید.
  8. #8
    2008/10/29
    2,098
    219

    پاسخ : ساخت کتابخونه LCD 16*2 برای MPLAB

    سلام
    حالا نوبت برنامه نویسی شد.آقا این pdf رو در قسمت توضیحات 4 بیتیش رو بخونین به عبارتهای زیر می رسین

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

    عضویت



    In 4-bit mode, the high nibble is sent before the low nibble and the E pin is toggled each
    time four bits is sent to the LCD. To initialize in 4-bit mode:

    1. Wait more than 15 msecs after power is applied.
    2. Write 0x03 to LCD and wait 5 msecs for the instruction to complete
    3. Write 0x03 to LCD and wait 160 usecs for instruction to complete
    4. Write 0x03 AGAIN to LCD and wait 160 usecs (or poll the Busy Flag)
    5. Set the Operating Characteristics of the LCD
    o Write 0x02 to the LCD to Enable 4-Bit Mode
    All following Instruction/Data Writes require two nibble writes.

    سوالات:
    در مرحله 1 تا 5 داده ها بایت هستن یا نیبل و اگر نیبل هستن نیبل کم ارزش هستن یا پر ارزش؟
    در این مرحله که نوشته
    Write 0x01/0x00 to turn off the Display
    اگر به نمونه کد C مراجعه کنین باید با عبارت زیر برابر کنه
    WriteCtrl(8);
    delay(10);
    حالا این سوال این 8 از کجا اومد؟
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
  9. #9
    2008/10/29
    2,098
    219

    پاسخ : ساخت کتابخونه LCD 16*2 برای MPLAB

    سلام
    آقا دلیل سوالاتم بگم
    اول اینکه برنامه رو کامل نوشتم اما مشکلاتم همین جاهاست که خطا حتما دارم
    من یه تابع نوشتم که ابتدا یه بایت ارسالی بر روی LCD رو دریافت می کنه و طبق توضیحات ابتدا 4 بیت بالا(MSB) و سپس 4 بیت پایین (LSB) رو طبق روال توضیحی ارسال می کنه .(که ان شالله مرحله به مرحله کدش رو قرار می دم با هم تست بگیریم و نهایتا یه فایل ساده با توابع کم حجم و کارا باشه)
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
  10. #10
    2008/10/29
    2,098
    219

    پاسخ : ساخت کتابخونه LCD 16*2 برای MPLAB

    سلام
    باز یه سوال دیگه(همش دارم به کارم شک می کنم که تندتری مشکلم حل بشه)
    داده خروجی که یه نیبل هست به عنوان مثال اگر کل بایتمون باشه 10001100
    نیبل بالا می شه
    1000
    و نیبل پایین می شه
    1100
    حالا مثلا در نیبل بالا پایه D4 تا D7 باید کدوم یک از این بیت ها رو به خودشون اختصاص بدن؟
    یعنی D4 کم ارزشترین بیت نیبل هست یا پرازشترین بیت نبیل؟
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
نمایش نتایج: از 1 به 10 از 10

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

  1. [دانلود] کتابخونه DSP برای Cortex-M3
    توسط روح الامین در انجمن پروسسورهای ARM
    پاسخ: 0
    آخرين نوشته: 2014/04/19, 21:44
  2. کمک برای کتابخونه arm ساخت اتمل
    توسط enarash در انجمن نرم افزار Proteus
    پاسخ: 1
    آخرين نوشته: 2012/07/28, 22:06
  3. کمک برای کتابخونه tcb8000
    توسط smahdy در انجمن NXP
    پاسخ: 0
    آخرين نوشته: 2012/05/27, 20:03
  4. کتابخانه برای MPLAB
    توسط mjs1990s در انجمن میکروکنترلرهای PIC
    پاسخ: 7
    آخرين نوشته: 2012/02/13, 21:32
  5. کتابخونه XMEGA برای Protel DXP
    توسط مهدی مهری در انجمن XMEGA
    پاسخ: 15
    آخرين نوشته: 2010/08/27, 21:47

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

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

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

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

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