اطلاعیه

Collapse
No announcement yet.

مشکل با تعیین ورودی خروجی در زبان اسمبلی و درخواست کمک

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

    مشکل با تعیین ورودی خروجی در زبان اسمبلی و درخواست کمک

    سلام دوستان

    در حال نوشتن برنامه ای هستم با Atmega 16 به زبان اسمبلی و از تمامی پورت های میکرو هم استفاده کردم در پرت A چهار تای اول را ورودی و چهار تای دوم را خروجی تعریف کردم

    حالا می خوام از دستور :

    In --> R16,PINA

    برای گرفتن اطلاعات از چهار پایه اول یا از دستور :

    Out--> PORTA,R16

    برای خارج کردن اطلاعات استفاذه کنم حالا می خوام بدونم که اگه از دستور اول استفاده کنم وضعیت چهار تایی که خروجی تعریف کردم چی می شه یا اینکه روی R16 چی میریزه و اینکه اگه از دستور دوم استفاده کنم اطلاعات روی چهار تای اول چی می شه :question:

    راستی برای ورودی هام مقاومت پول پ گذاشتم :nerd:

    دمتون گرم

    #2
    پاسخ : مشکل با تعیین ورودی خروجی در زبان اسمبلی و درخواست کمک

    سلام!
    برای خوندن کافیه محتوای پورت رو داخل یه متغیر بریزین و اونو با عدد باینری 0b00001111 اند (AND) کنین . در این صورت مقدار نیبل بالا صفر بوده و عدد بدست آمده همان مقدار پورت است.
    برای نوشتن هم کافیه عدد مورد نظرتون (که 4 بیتی هست) رو داخل یه متغیر ریخته و بعد اون رو SWAP کنین و روی پورت قرار بدین!!!
    در انتظار تو چشمم سپید گشت و غمی نیست
    اگر قبول تو افتد، فدای چشم سیاهت

    http://upload7.ir/images/83524254953910725183.gif

    دیدگاه


      #3
      پاسخ : مشکل با تعیین ورودی خروجی در زبان اسمبلی و درخواست کمک

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

      بنده دیشب یک برنامه ساده نوشتم و یک سری ورودی خروجی تعریف کردم در اول برنامه یک سری اطلاعات از روی پین A خوندم و فهمیدم روی چهار تای اول که ورودی هستن همون اطلاعاتی که به ورودی دادم را وارد می کنه تو ریجیستر ولی چهار تای دوم که خروجی تعریف کردم همون اطلاعاتی که روش ریخته بودم را ریخت توی رجیستر بعد با یک تابع حدودا" 5-10 خطی به به روش وحشتناکی با استفاده از شیفت دادن و نگتیو کردن و کپی رجیستر ها و مقایسه تونستم اطلاعات چهارتای اول رو نگه دارم و چهارتای دوم رو حذف کنم و ارزش عددی چهار تای اول رو هم حفظ کنم ولی الان با این راهنمایی که شما کردین هم مقداری از حافظه sram میکرو آزاد شد هم برنامه کوتاه شاد هم رجیسترام آزاد شد هم من فهمیدم چقدر مبتدی هستم :nerd:

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

      دیدگاه

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