میکرو لایب

برنامه نویسی میکروکنترلرها

یک میکرو کنترلر برنامه ای که درون حافظه flash آن بارگذاری شده باشد را اجرا می کند. این برنامه که شامل یکسری صفر و یک های متوالی و ظاهرا بی معنی است،”کد های اجرایی” نامیده می شود.این برنامه بسته به نوع معماری میکرو کنترلر ، بصورت کلمات ۱۲ و ۱۴ و یا ۱۶ بیتی ساز مانده ی شده اند. از دید CPU هر کلمه یک دستور است که در حین عملیات میکرو کنترلر اجرا می شود.

از آنجایی که کار با اعدا هگزا دسیمال ساده تر است  کد های اجرایی به صورت یکسری اعدادهگزا دسیمال متوالی نمایش داده می شوند که به آنها کد HEX نیز گفته می شود. این کد ها توسط برنامه نویس نوشته می شوند. کلیه دستوراتی که یک میکرو کنترولر می فهمد ، مجموعه دستورالعمل نام دارد.میکرو کنترلر های دارای گذر گاه ۱۴ بیتی نیز همانند کلیه میکرو کنترلر های PIC دارای  ۳۵ دستور در مجموعه دستور العمل خود هستند.

از انجایی که فرآیند نوشتن کد های اجرایی ، بینهایت خسته کننده بود ، اولین زبان برنامه نویسی “سطح بالاتر” که زبان اسمبلی نامیده می شود ، ایجاد شد. اما واقعیت این است که زبان اسمبلی نیز فرایند برنامه نویسی را پیچیده تر کرد اما از طرفی اینکه فرایند نوشتن برنامه به صورت یک کابوس وحشتناک باشد را پایان بخشید.

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

به هر حال برنامه نویسان همواره به یک زبان برنامه نویسی جدید نیاز داشتند که به زبان مورد استفاده در زندگی روزمره ، نزدیک باشد . در نتیجه زبانهای برنامه نویسی سطح بالاتر ایجاد شد. یکی از آنها زبان برنامه نویسی “C” است. اصلی ترین مزیت این زبان ، سادگی نوشتن برنامه است . در صورت استفاده از زبانهای سطح بالا، دیگر این امکان وجود ندارد که شما دقیقا بدانید که هر دستور برنامه چگونه توسط میکرو کنترلر اجرا می شود  و از طرف دیگر نیز هیچ علاقه ای به دانستن آن وجود نخواهد داشت! بدانید که در این زبان هر زمان که بخواهید می توانید یک توالی از دستورات زبان اسمبلی را نیز در نیز در هر جای برنامه خود وارد کنید که این موضوع قابلیت های این زبان را افزایش می دهد.

همانند آنچه که در زبان اسمبلی گفته شد در اینجا نیز یک نرم افزار کامپیوتری به نام کامپایلر وظیفه ترجمه برنامه C به زبان ماشین را بر عهده دارد.

MIKROC PRO FOR PIC :

یکی از کامپایلرهای قدرتمند زبان C کامپایلر شرکت میکروچیپ با نام MIKROC PRO FOR PIC است که این کامپایلر کتابخانه های فراوانی را در اختیار کاربر قرار می دهد ، در این کامپایلر با بهره گیری از کتابخانه های خود نرم افزار و یا اضافه کردن هدر فایل ها می توانید برای میکروکنترلرها کد نوشته و برنامه خود را به ساده ترین روش ممکن توسعه داده و بر روی میکروکنترلر اجرا کنید

این کامپایلر را می توانید از همین سایت دانلود کرده و با آشنایی با تابع ها و دستورالعمل های این کامپایلر که در مباحث آینده پست خواهد شد اقدام به برنامه نویسی میکروکنترلر کنید.

برگرفته از معماری داخلی برنامه نویسی با ستفاده از کامپایلر MIKROC PRO FOR PIC ، صمد صبوری ، امیر مسعود رحمانی ، احمد صبوری

دیدگاه‌ها (1)

*
*

    شهریار مهمان مارس 7, 2023 پاسخ

    یعنی یه مذقول هایی مث شما ریدن تو برنامه نویسی میکرو
    به لطف امثال شما، در سال ۲۰۲۳ وقتی هنوز با Stm32CubeIDE برنامه مینویسی، انگار داری با اسمبلی برنامه تو دهه ۹۰ میلادی برنامه مینویسی
    تنها کاری که کردن به رجیستر ها اسم دادن، همین
    مشتری وایستاده برای محصول، اونوقت شما می خوای بدونی
    "در صورت استفاده از زبانهای سطح بالا، دیگر این امکان وجود ندارد که شما دقیقا بدانید که هر دستور برنامه چگونه توسط میکرو کنترلر اجرا می شود"

    الان برای چی میخوای بدونی؟
    این وظیفه کامپایلره!

    هنوز یک استرینگ میخوای بفرستی باید بری با ۳۰۰ تا پوینتر و رجیستر و کوفت و زهر مار سروکله بزنی
    ۴۰۰ تا فلگ رو تست کنی
    ۶۰۰ تا فایل رو اضافه کم کنی
    این لایبرری رو اد نکردی
    اون یکی رو اشتباه اد کردی
    CMSIS
    HAL
    .
    .

    فقط هم بلدن بگن زبان سطح بالا سرعتش رو میاره پایین
    حالا ۴ تا ال ای دی رو میخان خاموش روشن کنن، صبح تا شب دنبال سرعتن

question