آموزش نرم افزار برنامه نویسی BASCOM-AVR

نرم افزار BASCOM-AVR

در پست های قبل شما با میکروکنترلرهای AVR و امکانات و خصوصیات هر یک از این تراشه ها آشنایی پیدا کردید حال زمان آن فرارسیده که کنترل این تراشه ها را به دست بگیرید و برای مقاصد خود از آن ها استفاده نمایید نرم افزارهای بسیاری برای برنامه نویسی یک میکروکنترلر AVR موجود می باشد, از جمله FAST, WINAVR, AVR STUDIO, CODEVISION, AVR که هر کدام از این نرم افزارها از یک زبان برنامه نویسی استفاده کرده است. در این بخش الکترونیک 98 شما را با زبان بیسیک BASIC آشنا خواهد کرد. بنابراین در این قسمت با نرم افزار BASCOM-AVR ویرایش 1.11.9.0 آشنا خواهید شد, این نکته را در نظر داشته باشید که بسیاری از امکانات این ویرایش از نرم افزار را در ویرایش های قبلی پیدا نخواهید کرد.

محیط کار نرم افزار BASCOM-AVR

قبل از برنامه نویسی شما را با محیط کاری این نرم افزار آشنا خواهیم کرد. روش آشنایی کمی متفاوت خواهد بود, به صورتی که برای هدفی خاص به منویی خاص می رویم و مسیری را برای یک هدف طی می کنیم و از اضافه گویی صرفه نظر می شود. یک نمای کلی در این نرم افزار به صورت شکل زیر است, که قسمت های آن نام گذاری شده است:

آموزش کار با نرم افزار برنامه نویسی BASCOM-AVR

همیشه اولین دستور نوشته شده در پنجره برنامه نویسی, دستور مشخص کردن میکروکنترلر AVR مورد نظر خواهد بود. با نوشتن دستور و زدن کلید ENTER در پنجره سمت راست, بسته بندی تراشه مورد نظر نمایش داده خواهد شد. با رفتن روی هر پایه توسط نشانه گر موس می توان مشخصات آن پایه را در پنجره پایین آن مشاهده کرد.

نوار ابزار نرم افزار BASCOM-AVR

نوار ابزار بسکام از گزینه های زیر تشکیل شده است:

(FILE NEW) ایجاد فایل جدید برای برنامه نویسی

(FILE OPEN) باز کردن فایل مورد نظر خود

(FILE NEW) ایجاد فایل جدید برای برنامه نویسی

(SAVE FILE) ذخیره برنامه نوشته شده

(SAVE AS FILE) ذخیره برنامه نوشته شده با نام دیگر

(PRINT FILE) پرینت گرفتن از برنامه نوشته شده

(PRINT PREVIEW FILE) نمایش نمایی قبل از پرینت گرفتن

(FILE EXIT) خروج از برنامه

(FIND TEXT) جستجوی کلمه یا متنی مورد نظر در برنامه نوشته شده

(FIND NEXT) ادامه جستجوی متن مورد نظر در برنامه نوشته شده

(MODIFY CHIP SETTINGS) نمایش تمام عناصر منوی OPTIONS

(CHECK SYNTAX) چک کردن خطای املایی (در صورت وجود خطا فایلی به وجود نمی آید)

(PROGRAM COMPILE) کامپایل کردن برنامه نوشته شده (تبدیل به زبان ماشین)

(PROGRAM SIMULATOR) ورود به پنجره شبیه سازی برنامه نوشته شده

(PROGRAM CHIP) ورود به پنجره پروگرام کردن برنامه نوشته شده در میکرو

(SOW RESULT) با انتخاب این گزینه پنجره ای باز خواهد شد که اطلاعات کلی در مورد رجیسترهای و متغییرهای استفاده شده و خطاهای برنامه نویسی و نمایش امکانات استفاده شده در برنامه را به ما می دهد.

(TERMINAL EMULATOR) با انتخاب این گزینه پنجره EMULATOR باز می شود که توسط این محیط می توان اطلاعات ارسال و دریافتی ارتباط RS232 را بین میکروکنترلر AVR و کامپیوتر را مشاهده کرد.

(LCD DESINGER) با این گزینه می توان کارکترهای مورد نظر خود را طراحی کنید و با استفاده از دستورات مرتبط, کارکتر را روی LCD نمایش داد.

(LIB MANAGER) این پنجره کتابخانه مورد استفاده در برنامه نویسی را نمایش می دهد کتابخانه ها امکاناتی را در اختیار ما قرار می دهند که بتوانیم از یک سری از قطعات مانند LCDها و یا حافظه های جانبی و… را استفاده کنیم. در حقیقت رابطی بین قطعه مورد نظر و میکرو می باشد و امکان تبادل اطلاعات را به ما می دهد.

(PDF VIEWER) از امکانات بالقوه این ویرایش است و امکان نمایش فایل های PDF را به ما می دهد.

کامپایل کردن برنامه (PROGRAM COMPILE)

فرض کنید برنامه مورد نظر خود را نوشته اید. حال شما باید برنامه را به زبان قابل فهم برای ماشین تبدیل کنید که این فرآیند را کامپایل کردن گویند.

زبان قابل فهم برای ماشین 0 و 1 می باشد, پس با کامپایل کردن برنامه ای که نوشته اید فایل هایی در محل ذخیره برنامه بوجود می آید که برنامه شما را به اعداد 0 و 1 تبدیل می کند.

پسوند فایل هایی که به وجود می آید به شرح زیر هستند:

پسوند فایل های ساخته شده بعد از کامپایل برنامه در نرم افزار BASCOM-AVR

ساخت کارکتر برای LCD

زمان استفاده از LCD در برنامه مورد نظر خود, در صورت نیاز به کاکتر دلخواه و طراحی و نمایش آن به صورت زیر عمل کنید:

همانطور که گفته شد با استفاده از گزینه LCD DESIGNER به پنجره ای وارد خواهید شد که به صورت شکل زیر است:

پنجره LCD DESIGNER نرم افزار BASCOM-AVR

در این پنجره یک ماتریس 5*8 نمایش داده شده (تنها 7 سطر قابل دسترسی است) که شما می توانید با موس و کلیک کردن روی خانه ها کارکتر مورد نظر خود را طراحی کنید. با کلیک کردن روی کلید OK در برنامه در همان خطی که قبل از ورود به این پنجره بودید, عبارتی به صورت زیر نوشته خواهد شد.

در حالت کل 8 کارکتر بیشتر نمی توان استفاده کنید, که به جای علامت ؟ می توان اعداد 0 تا 7 را جایگزین کنید. اما روشی برای استفاده از تعداد بیشتری کارکتر وجود دارد که در قسمت برنامه نویسی آموزش داده خواهد شد.

کد اسکس کاراکترها

در قسمت هایی از برنامه نویسی ممکن است نیاز به کد اسکی یک کارکتر داشته باشید. با رفتن به منوی EDIT و انتخاب گزینه INSERT ASCII می توان کارکتر خود را انتخاب کنید. با کلیک کردن روی هر کارکتر, کد اسکی در خط برنامه قرار می گیرد.

پنجره INSERT ASCII در نرم افزار BASCOM-AVR

نمایش تصویر روی LCD های گرافیکی

در زمان استفاده از LCD های گرافیکی و نمایش تصاویر با پسوند BMP از این روش استفاده می شود.

به منوی TOOLS رفته و گزینه Graphic Converter را انتخاب کنید. در قسمت LCD Type اندازه ال سی دی مورد استفاده را انتخاب کنید. اگر از ال سی دی های سری SED استفاده می کنید. گزینه SED Series را انتخاب کنید.

نکته : در اتصال ال سی دی های سری SED یه میکروکنترلرهای AVR با نوع LCD های معمولی تفاوت هایی وجود دارد, چه در اتصال سخت افزاری و چه در برنامه نویسی که در مورد آن بحث خواهد شد.

اندازه فونت های استفاده شده در LCD, توسط گزینه FONT می توان انتخاب کرد. با استفاده از دکمه LOAD تصویر با پسوند BMP خود را انتخاب کنید. برنامه تصویر را به صورت تک رنگ نمایش می دهد. با گزینه SAVE تصویر به صورت یک فایل با پسوند BGF ذخیره می شود.

نکته : حتما فایل را در جایی ذخیره کنید که برنامه ذخیره شده است.

برنامه ساخت و ویرایش فونت FONT EDITOR

یکی از قابلیت های LCD های سری SED نمایش فونت های متفاوت می باشد. شما می توانید فونت های خود را طراحی نموده و از آن ها استفاده کنید.

آموزش کار با نرم افزار برنامه نویسی BASCOM-AVR

به صورت شکل بالا عمل کنید. در صورتی که گزینه FONT EDITOR وجود نداشت, گزینه PLUGIN MANAGER رفته و گزینه FONT EDITOR را انتخاب کنید. حال با بستن و دوباره باز کردن نرم افزار BASCOM-AVR این گزینه اضافه می شود. با انتخاب این گزینه FONT EDITOR باز خواهد شد.

محیط نرم افزار ویرایش فونت MCS Font Editor

این پنجره باز شده به شما امکان طراحی فونت در اندازه دلخواه را می دهد. برای این کار در منوی FILE گزینه NEW را انتخاب کنید. در پنجره باز شده نام فایل فونت و اندازه نمایش فونت و حداکثر کارکتر را انتخاب کنید در صورتی که از COLOR LCD استفاده می کنید, گزینه COLOR را هم انتخاب کنید.

حال می توانید فونت های خود را یکی یکی طراحی کنید. البته در جایی که نرم افزار BASCOM نصب شده است. در پوشه ای به نام SAMPLES نمونه ای از این فونت های طراحی شده, وجود دارد. شما می توانید با انتخاب این فونت ها و ویرایش آن از مشکلاتی نظیر ندانستن کد اسکی هر فونت جلوگیری نمائید.

منوی OPTIONS

مهم ترین منوی نرم افزار BASCOM-AVR که از قسمت های مختلف تشکیل شده که به صورت شکل زیر می باشد

آموزش کار با نرم افزار برنامه نویسی BASCOM-AVR

در این منو امکانات مختلف یک میکرو را می توانید پیکربندی کنید و نوع پروگرامر خود را مشخص کنید و یا فرکانس کار میکروکنترلر و شماره میکروی مورد نظر خود را انتخاب کنید.

شما می توانید امکانات نرم افزار را به صورت دلخواه خود در آورید. مانند رنگ متون و یا شماره گذاری خطوط برنامه و…

گزینه CHIP در پنجره OPTIONS

در این پنجره شما می توانید میکروی مورد نظر خود را مشخص کنید. با انتخاب میکرو, در سمت راست مشخصات حافظه های داخلی و حتی در صورت وجود, ساپورت کردن حافظه جانبی مشخص می شود.

گزینه CHIP در پنجره OPTIONS از نرم افزار برنامه نویسی BASCOM-AVR

گزینه OPTIONSOUTPUT در پنجره OPTIONS

در این گزینه فایل های بوجود آمده در زمان کامپایل کردن را انتخاب کنید.

گزینه OPTIONSOUTPUT در پنجره OPTIONS از نرم افزار برنامه نویسی BASCOM-AVR

گزینه COMMUNICATION در پنجره OPTIONS

در این گزینه نرخ ارسال دیتا در ارتباط سریال و فرکانس کار میکرو را انتخاب کنید.

گزینه COMMUNICATION در پنجره OPTIONS از نرم افزار برنامه نویسی BASCOM-AVR

گزینه I2C, SPI, 1WIRE در پنجره OPTIONS

همانطور که در شکل زیر مشاهده می کنید, می توان پورت های ارتباطات مختلف را مشخص کرد.

گزینه I2C, SPI, 1WIRE در پنجره OPTIONS از نرم افزار برنامه نویسی BASCOM-AVR

گزینه LCD در پنجره OPTIONS

در این گزینه مشخصات LCD مورد استفاده و پورت آن را مشخص می کنید.

گزینه LCD در پنجره OPTIONS از نرم افزار برنامه نویسی BASCOM-AVR

گزینه ENVIRONMENT در پنجره OPTIONS

نوع فونت متون و رنگ متون مختلف و… در این قسمت قابل تنظیم است.

گزینه LINE NUMBER می تواند خطوط برنامه نوشته شده را شماره گذاری کند.

گزینه ENVIRONMENT در پنجره OPTIONS از نرم افزار برنامه نویسی BASCOM-AVR

گزینه PROGRAMMER در پنجره OPTIONS

مهمترین گزینه قبل از پروگرام کردن برنامه روی تراشه, باید تنظیم شود. برای ارتباط بین کامپیوتر و میکروکنترلر برای پروگرام کردن برنامه در تراشه از پروگرامر استفاده می شود.

گزینه PROGRAMMER در پنجره OPTIONS از نرم افزار برنامه نویسی BASCOM-AVR

انواع مختلف پروگرامر در بازار موجود است. در اینجا نقشه پروگرامر ISP نوع STK200/300 را برای شما نمایش داده شده است.

نقشه شماتیک ساخت پروگرامر ISP نوع STK200/300

محیط TERMINAL EMULATOR

قبلا گفته شد که این محیط برای نمایش داده ای ارسالی و دریافتی در ارتباط بین میکروکنترلر AVR و کامپیوتر استفاده می شود.

محیط TERMINAL EMULATOR در نرم افزار برنامه نویسی BASCOM-AVR

در زمانی که از ارتباط سریال RS-232 بین تراشه AVR و کامپیوتر استفاده می کنید, می توانید با تایپ کردن در این محیط اطلاعات دلخواه را به میکروکنترلر فرستاده و اطلاعات ارسالی از میکروکنترلر هم دریافت و نمایش داده می شود.

نکته : در برنامه نویسی و تنظیمات TERMINAL EMULATOR باید نرخ انتقال داده که با واحد BAUD نمایش داده می شود, برابر و یکی باشند. در غیر اینصورت ارتباط ناقص خواهد بود و داده های اشتباهی, ارسال و یا دریافت می شود و متون دریافت شده به شکل های مختلف و نامفهوم نمایان می شود.

نکته : در خود ویندوز XP هم محیط TERMINAL EMULATOR قابل دسترسی می باشد و با ورود به منوی START ویندوز و در ALL Programs و از زیر مجموعه Accessories به بخش Communications رفته و گزینه Hyper Terminal را انتخاب کنید و به این محیط وارد شوید.

محیط شبیه سازی نرم افزار BASCOM-AVR

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

در شکل زیر نمایی از محیط شبیه سازی نرم افزار BASCOM-AVR نمایش داده شده است.

محیط شبیه سازی نرم افزار BASCOM-AVR

پنجره VARIABLES در محیط شبیه ساز نرم افزار BASCOM-AVR

می توانید با تایپ هر نوع متغییر و رجیستر و پورت ها در این پنجره, مقدار آن را در زمان شبیه سازی ببینید. حتی قادر خواهید بود مقدار متغییر مورد نظر خود را تغییر دهید. مقادیر به سه صورت هگزا دسیمال و باینری و دسیمال نمایش داده شده است. نام متغییر مورد نظر خود را در کادر زیر گزینه Variable تایپ کنید تا مقادیر متغییر شما در زمان اجرای شبیه سازی نمایش داده شود.

پنجره VARIABLES در محیط شبیه ساز نرم افزار BASCOM-AVR

پنجره LOCAL در محیط شبیه ساز نرم افزار BASCOM-AVR

نمایش متغییرهای محلی LOCAL استفاده شده در برنامه

پنجره LOCAL در محیط شبیه ساز نرم افزار BASCOM-AVR

پنجره WATCH در محیط شبیه ساز نرم افزار BASCOM-AVR

اگر بخواهید زمانی که حالتی اتفاق افتاد, برای مثال یک متغییر صفر شده (N=0) را مشخص کنید, در این قسمت تایپ کرده و ADD را بزنید. در برنامه با اتفاق افتادن این رخداد, برنامه به صورت موقت, متوقف می شود.

پنجره WATCH در محیط شبیه ساز نرم افزار BASCOM-AVR

پنجره UP در محیط شبیه ساز نرم افزار BASCOM-AVR

در این پنجره می توان پرچم ها FLAG را مورد بررسی و تغییر قرار داد.

پنجره UP در محیط شبیه ساز نرم افزار BASCOM-AVR

پنجره INTERRUPTS در محیط شبیه ساز نرم افزار BASCOM-AVR

این پنجره نمایش کلیه وقفه های استفاده شده و غیر استفاده شده در میکروکنترلر مورد آزمایش و کلید ایجاد تعداد پالس دلخواه به ورودی کانتر را دارا می باشد. در صورت استفاده از وقفه در برنامه, کلید وقفه فعال می باشد و با کلیک کردن روی آن, در برنامه وقفه مورد نظر ایجاد می شود.

پنجره INTERRUPTS در محیط شبیه ساز نرم افزار BASCOM-AVR

پنجره UART در محیط شبیه ساز نرم افزار BASCOM-AVR

نمایشگر ارتباط با پروتکل سریال UART که شما را قادر می کند تا این پروتکل ارتباط برقرار کرده و با تایپ کارکترهای خود را وارد کرده و ارسال نمایید.

پنجره UART در محیط شبیه ساز نرم افزار BASCOM-AVR

محیط شبیه سازی سخت افزار نرم افزار BASCOM-AVR

محیطی که به اپراتور این امکان را می دهد تا پایه های تمامی پورت را به صورت مجزا تغییر وضعیت دهد و یا تغییرات هر پایه را مشاهده نماید و یا به ورودی مبدل آنالوگ بقه دیجیتال مقدار دهی نمایید و همینطور با استفاده از یک کی پد مقادیری را وارد کند و در صورت استفاده از LCD کارکتری, اطلاعات مربوطه در آن را مشاهده کند, در شکل زیر نمایی از این محیط را مشاهده می کنید.

محیط شبیه سازی سخت افزار در نرم افزار برنامه نویسی BASCOM-AVR

پروگرام کردن برنامه در میکروکنترلر AVR

با اطمینان از برنامه و شبیه سهزی و رفع عیوب احتمالی, نوبت به پروگرام کردن برنامه در داخل حافظه FLASH و در صورت نیاز در حافظه EEPROM و همینطور تنظیمات فیوز بیت های مورد نظر می رسد. پروگرامر خود را به کامپیوتر متصل کنید و همانطور که گفته شده, با انتخاب گزینه PROGRAM CHIP و یا با استفاده از کلید میانبر F4, وارد محیط برنامه ریزی تراشه می شویم. قسمت هایی که بیشترین موارد اشتباه و ایراد را در میان دانشجویان وجود دارد در همین بخش پروگرام کردن است. ما در اینجا برای نمونه چندین موارد را برسی می کنیم.

عیوب احتمالی در زمان پروگرام کردن میکروکنترلر AVR:

:: وصل نبودن پروگرامر به کامپیوتر (یکی از پایه ها قطع شده باشد)

:: اتصال نداشتن تغذیه به میکروکنترلر و یا پروگرامر

:: اتصال نداشتن زمین میکرو به زمین پروگرامر ایراداتی در ساخت پروگرامر و اتصال آن به پورت LPT

:: متصل بودن میکروی دیگر به جای میکرو انتخاب شده در برنامه

:: متصل نبودن کریستال – مدار RC و یا کلاک در صورتی که قبلا فیوز بیت میکرو روی کریستال یا کلاک و یا مدار RC خارجی تغییر داده شده باشد.

در صورت بروز هر کدام از خطاهای گفته شده, برنامه ERROR گرفته و پروگرام انجام نمی شود. اگر خطایی وجود نداشته باشد, بدون نمایش پنجره خطا, محیط پروگرام نمایش داده خواهد شد که به صورت شکل زیر می باشد.

پروگرام کردن برنامه در میکروکنترلر AVR توسط نرم افزار BASCOM-AVR

برنامه نوشته شده در این محیط در داخل بافر FLASH و در صورت استفاده در بافر EEPROM قرار می گیرد. با انتخاب کلید پروگرام کردن اتوماتیک, نرم افزار میکرو را پاک کرده و مقدار بافر را درون میکروکنترلر ریخته و بعد از آن مقدار بافر را با محتوی میکرو مقایسه می کند و در صورت وجود نداشتن خطا و اشکال, پیغام VERIFY OK در گوشه پایین سمت راست پنجره درج می شود.

نکته : در صورتی که برنامه را به صورت فایل HEX و یا به صورت فایل باینری در اختیار دارید, می توانید با ورود به منوی BUFFER و انتخاب فایل خود, میکروکنترلر خود را پروگرام کنید.

کنترل فیوز بیت

در این پنجره می توان فیوز بیت های میکرو را تغییر داده و به مقادیر دلخواه خود در آورید. فیوز بیت های هر میکرو به صورت هوشمند توسط برنامه BASCOM-AVR شناسایی می شود و در جدول قرار می گیرد. در این قسمت شما بجز تغییرات در فیوز بیت ها می توانید برای حافظه و برنامه خود قفل قرار دهید.

نکته : قفل کردن برنامه یک عمل تجاری می باشد و کمتر کسی از این عمل استفاده می کند, چون باعث می شود که برنامه برای کامپیوتر غیر قابل خواندن شده و دیگر نتوان از میکرو برای پروژه های بعدی استفاده کرد.

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

کنترل و پروگرام کردن فیوز بیت ها در نرم افزار BASCOM-AVR

 اطلاعات پروژه

 رمز فایل : www.electronics98.com (این مطلب فاقد فایل جهت دانلود است)

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 11 سپتامبر 2014

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

 به کاربران و سایر اشخاص احترام بگذارید. پیام‌هایی که شامل محتوای توهین‌آمیز و کلمات نامناسب باشند، حذف می‌شوند.

 از ارسال لینک‌های سایت‌های دیگر و ارایه‌ی اطلاعات شخصی خودتان مثل شماره تماس، ایمیل و آی‌دی شبکه‌های اجتماعی پرهیز کنید.