ابزارها در زبان برنامه نویسی اسمبلی ۸۰۵۱

۴ اسفند, ۱۳۹۰ توسط |135 بازدید

میکروکنترلر 8051

آموزش ابزار ها در اسمبلی میکروکنترلر ۸۰۵۱

برنامه نویسی اسمبلی در۸۰۵۱ به فهمیدن مثال ها و دستورات اسمبلر و نوشتن دیتاها وغیره نیاز دارد.

یک بحث مختصردرباره ابزارهای برنامه نویسی .اسمبلر.ارتباط دهنده هاوغیره

همچنین در آغاز این مهم است. خواننده شاید در دسترس بودن ابزارها و گسترش سیستم ها را چک کند و سعی کند تا برنامه های مثال را بر روی سطح های آن کار کند. بیشتر خصوصیات با هر ۸۰۵۱ توسعه یافته پشتیبانی می کنند و سیستم ها شبیه هستند.بحث مختصر راجع به این خطوط خود به یک فصل نیاز دارد.

اسمبلر ۸۰۵۱

اسمبلر یک نرم افزار برای تبدیل حافظه یا کدهای مرجع زبان اسمبلی به کد ماشین است. منبع اسم فایل گسترش یافته برای مثال:”asm ” است.احتمال دارد test.asm نام یک فایل مرجع باشد.یک مثال شاخص فایل مرجع در برنامه مثال ۱-۵ بکار رفته است.

اسمبلرها تمام حروف انگلیسی را پشتیبانی می کنند. هر دو حالت پائینی و بالائی و شماره های از۰ تا ۹ و در نوع افزایشی”@-$-:”را نیز پشتیبانی می کند.

اصل و پایان دستورات

کلمه و دستورات کاذب هستند. اینها برای اسمبلر ۸۰۵۱ در دستور دهنده ها قرار دارند. دستور دهنده + برای نشان دادن آدرس شروع برنامه مرجع بکار می رود. ۰۱۰۰+ به اسمبلر می گویدکه برنامه مرجع در آدرس ۰۱۰۰+ برنامه حافظه شروع میشود.همچنین آدرس ممکن است دهدهی باشد.برای مثال ۰۲۵۰+ به ما میگوید که اسمبلر برنامه را در آدرس D250 شروع می کند. به طور مشابه دستور دهنده END حاکی از پایان فایل برنامه مرجع می باشد. این آخرین خط برنامه مرجع است و اسمبلر هر کد مرجع بعداز END را نادیده می گیرد. بعضی اسمبلرها به جای ORG و END از “.ORG” و “.END” استفاده می کنند.

(ببینید که اسمبلر شما چه چیزی را پیشنهاد می کند.)

دستورات DB ( تعیین کردن بایت ) EQU ( برابر شماردن )

DB دستوری است که برای تعیین دیتا بایت با ۸ بیت عرض بکار می رود. ببینید این دستورات در مرجع برنامه ظاهر می شوند.

شمارهی که به یک متغییر محول می شود ممکن است دسیمال، باینری، هگز یا اسکی باشد. حرف به دنبال اعداد شبیه این است. بعنوان مثال D به معنی دسیمال D35 به معنی ۳۵ دسیمال بوده وحرف H برای هگز بکار می رود باید بعد از عددبیاید: H25 یعنی عدد ۲۵ در مبنای هگز. بطور مثال برای مبنای باینری حرف B بکار میرود. زبان اسمبلی حساس نیست. برای نشان دادن اعداد اسکی از (;) استفاده می شود. یک یا دو (;) ممکن است بکار رود. هر دو حالت بکار می رود. بدین طریق اگر یک رشته معنی بدهد در یک برنامه می تواند پائین تر انجام بدهد. یک اسمبلر بطور اتومات کد نظیر اسکی را به این اعداد یا کاراکترها تعیین می کند.

دستور برابر کردن در تعین کردن یک ثبات کاربرد دارد. نشان دیتا با ثبات ارزش پیوسته دارد. همچنین هرجا نشان ظاهر بشود ثبات نشان را تعویض کرده است. برای مثال ارزش D39 نشان TEMP را تعیین می کند و دنباله آنرا نشان می دهد و بنابراین می تواند به رجیستر در هرجائی از برنامه کپی کند. دستور EQU به شرطی مفید است که یک ثبات در بیشتر جاهای برنامه بکار برود بنابراین برنامه نویس می تواند ارزش آنرا تغییر داده و معنی و تعریف جدیدی را در این ثبات بگذارد. این کار در وقت برنامه نویس صرفه جوئی می کند. تا زمانیکه از زبان اسمبلی استفاده می کنید باید اینکارو بکنید. نباید از کلمات کم مصرف یا با نشان منطقی استفاده کنیم. برای مثال ADD یک نشان منطقی در راهنمای ۸۰۵۱ است. بنابراین ADD نمیتواند برای یک نشان بکار رود. به طور مشابه ORG یا END نیز نمی توانند برای یک نشان بکار روند. نام این نشان ها باید منحصر باشد.

الگوی برنامه نویسی۸۰۵۱

برنامه ۸۰۵۱ بخش ارزش دهی خواهد داشت بنابراین برنامه اصلی و زیز برنامه ها در برنامه حافظه دیرتر نوشته خواهد شد به برنامه مثال ۲-۵ که در زیر آمده است توجه کنید.

زمانیکه اینتراپت ها مطرح شوند بیشتر این موضوع را شرح خواهیم داد. جهت موقعیت نظیر در این اینتراپت ها در آدرس پائین برنامه حافظه قرار دارند. دستور JUMP برای آدرس های شروع زیر روال اینتراپت استفاده می شود. آن زیر روال ها و سرویس اینتراپت ها شاید در دستور دیگری ظاهر شوند فرا خواندن در سرویس زیر روال اینتراپت ها با دستور RETI انجام می شود. درحالیکه زیر روال های اصلی با دستورRET بکار می روند.

مدیریت سیستم وابزار

بعد از نوشتن برنامه اسمبلی لازم استکه اسمبلی را منتقل کرده، متصل کنید و بنابراین هیچ خطائی را تولید یا  تحلیلی را تصحیح نمی کند. این فرایند سالم یک فایل هگز را تولید می کند. این یک برنامه زبان ماشین است. این فایل هگز داخل قسمت برنامه حافظه در یک برد میکروکنترلر منتقل می شود .یک ROM، EPROM یا EEPROM. نوشتن زبان ماشین بر روی یک EPROM به یک ابزار که برنامه نویس EPROM  را فرا می خواند نیاز دارد و آنرا پاک کند. برای پاک کردن EPROM به امواج فرا بنفش نیاز داریم ROM در کارخانه سازنده برنامه نویسی می شود. در اولین قسمت = مدل ۵۱C89 ساخت کارخانه ATMEL برای نوشتن و پاک کردن بسیار آسان است. آنها به امواج فرابنفش برای پاک کردن نیازی ندارند. حالا برای تست برنامه برنامه به یک برد میکرو کنترلر نیاز داریم.این برد مدیریت برنامه را بر عهده دارد.

یک برنامه مدیریت اجازه یک بار نوشتن می دهد. اشکال زدائی و اجرا کردن برنامه بر روی یک میکرو کنترلر ۸۰۵۱ واقعی صورت میگیرد.

اسمبلی یک MCS-51

فایل مرجع با ضمیمه (.asm )بر روی بعضی ویرایش کننده ها نوشته می شود. یک امکان استفاده از “EDIT” یا لغت پروسسور دیگر برای فرهم کردن فایل اسکی می باشد. شکل زیر نحوه عملکرد ویرایش کننده ها را نشان می دهد.

 این فایل مرجع ورودی یک اسمبلر است. اسمبلر یک فایل با پسوند obj. تولید می کند. بر روی جایگاه متغیر .asm اسمبلر یک فایل متغیر با .obj تولید می کند. این در شکل زیر نشان داده شده است. همچنین یک فایل .lst نیز تولید خواهدشد. این .lst شامل تمام رمزگشاها، آدرس ها و خطاهای هنگام اسمبلی می باشد.

این فایل اگر نیاز داشته باشد شاید بعضی از ویرایشگرها را باز کند. برای اسمبل یک یک برنامه ۸۰۵۱ روی اسمبلر x_8051 باید یک X_8051.EXE را اجرا کنیم. اسمبلر ازنوع لینوکس نیز در دسترس است. برای مثال AS31 موجود می باشد.

بعد متصل کردن به فایلهای موضوع نیاز دارد. کار یک وصل کننده در شکل زیر نشان داده شده است. نرم افزار وصل کننده با “link.exe” اجرا می شود. بعد ازوصل شدن یک فایل هگز تولید میکند با پسوند اجرائی “.hex”در این جایگاه یک فایل متغیر .hex تولید خواهد شد. بیشتر ممکن است یک فایل .bin  برای استفاده سودمند از .HEX2BIN فراهم کند. بیشتر سیمولاتورهای ۸۰۵۱ با پسوند .bin موافق هستند.

نرم افزار سیمولاتور در ۸۰۵۱

در اینجا نرم افزار سیمولاتور برای ۸۰۵۱ فراهم شده است. این نرم افزار برنامه سیمولاتور به بورد ۸۰۵۱ نیاز ندارد. این بر روی محیط یک کامپیوتر شخصی اجرا می شود. این به کاربر اجازه می دهد تا بنویسد و اشکال زدائی کند و یک برنامه را اجرا کند. نتیجه و حاصل چندین ثبات را مشاهده کنید. در اینجا مقداری اینترفیس های استاندارد مثل ۷ سگمنت، نمایشگرها و کلیدها وجود دارد. یکبار برنامه بر روی سیمولاتور تست می شود. امکان دارد بر روی برد میکروکنترلر منتقل شود. SIM31 یک مثال از این نوع می باشد. ویرایش لینوکس در سیمولاتور ۸۰۵۱ مثل S51 امکان پذیر است. این بسیار ضروری است که قبل از انتقال برنامه بر روی یک سخت افزار واقعی بتوانیم آنرا تست کنیم.

این کار مقداری وقت و هزینه صرف می کند و به همین مقدار برای تست سخت افزار می باشد. یکبار برنامه صحت سیمولاتور را بررسی می کند.این می تواند بر روی EPROM ،EEPROM و غیره منتقل کند.

این از همه ابزارهای توسعه که خواهیم داشت و قراردهای توسعه بهتر است.

منبع : بادمجون.نت

کلیدواژه:

درج یک دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

صفحه نخست
ثبت نام
BademJoon Alexa Ranking
SiteMap
تالارهای گفتگو بادمجون
مرکز دانلود بادمجون