اطلاعیه

Collapse
No announcement yet.

پروژه : ====>>> ارتباط 8051 با RAM خارجی، صفحه کلید کامپیوتر و LCD

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

    پروژه : ====>>> ارتباط 8051 با RAM خارجی، صفحه کلید کامپیوتر و LCD

    سلام

    این پروژه قراره کارای زیر رو انجام بده:

    یک قطعه برنامه رو در ROM داخلی میکرو 8051 ذخیره میکنیم. بعد توسط کاربر یک قسمت از این قطعه برنامه انتخاب میشه ( با دادن آدرس شروع و پایان قسمت مورد نظر به صورت کد هگز ) سپس کدهای قسمت مورد نظر کاربر به RAM خارجی منتقل میشه و اجرا میشه.... و مقدار ثبات های معمول مثل (A,B,R0...R7, DPTR,PC , ....) رو به برنامه اصلی برمیگردونه و در انتها روی LCD نمایش میده....


    مشکل من اینه که نمیدونم چه جوری باید قطعه برنامه رو به RAM خارجی منتقل و اونجا اجرا کنم..... و از اون چه جوری مقدار ثبات های مورد نظر رو برگردونم؟؟

    کسی میتونه کمک کنه؟؟؟

    #2
    پاسخ : پروژه : ====>>> ارتباط 8051 با RAM خارجی، صفحه کلید کامپیوتر و LCD

    خوب عزیز من این که کاری نداره. برنامه رو توی RAM کپی میکنی فقط برای راحتی آدرس شروع RAM رو بعد از آدرس کد بگیر مثلا 0x8000. بعدش با یک برنامه کوچیک اسمبلی این برنامه رو CALL میکنی و بلافاصله بعد از برگشتن رجیستر هارو توی یک بافر داخلی ذخیره و بعد به برنامه اصلی برمیگردی. به عنوان مثال:

    [ltr]
    call_it:
    call 8000h
    mov save_A,A
    mov save_B,B
    mov save_DPL,DPL
    mov save_DPH,DPH
    mov save_R0,R0
    .
    .
    .
    ret
    [ltr/]

    که منظور از اسامی که با save_ شروع میشن متغیر هایی هستن که مقادیر رجیستر ها در اونها ذخیره میشه.
    ایضا:
    در کد نبایستی آدرس کد مطلق یعنی دستوراتی که آفست کد 16 بیتی دارن مثل CALL یا JMP وجود داشته باشه وگرنه میکرو ممکنه هنگ کنه.

    دیدگاه

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