میکرو کنترلر های  XMEGA

XMEGA AVR 
آخرین سری از خانواده میکروکنترلر های avr که مدتی است ارائه شده است سری  xmega   میباشد که در این بخش به معرفی برخی از مهمترین ویژگی های آن می پردازیم.


دریافت مقاله به صورت PDF

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

مبدل خروجی فرکانس التراسونیک به یک عدد 10 بیتی

آرشیو پیوندهای روزانه
* معرفی زبان های توصیف سخت افزار HDL
* ترازوی دیجیتال
* ارسال SMS زياد باعث سوختن سيم كارت مي شود!
* Robotics
* اولین دوره ی مسابقات رباتیک کشوری ربات ها ی خانگی
* سوالات کنکور کارشناسی ارشد ۸۷ - گروه مهندسی برق
* مقدمه ای بر ميكروكنترلرهای AVR
* بیشتر درباره اسیلوسکوپ بدانیم
* ساختار بخش ارتباطات رادیویی ITU موسوم بهITU-R
* مختصری از امواج رادیویی و تقسیم بندی باندها و فرکانس‌ها
* هوای ساحلی بر سیگنال‌های موبایل تأثیر می‌گذارد
* چرا در ساعت‌ها کوارتز به کار می‌رود؟
* آشنایی با رشته ی مهندسی رباتیک
* سنسور چیست ؟
* میکروکنترلر چیست؟
* دماسنج دیجیتال 7 Segment با میکروکنترلر AVR
* اتصال سون سگمنت به میکروکنترلر
* موتور الکتریکی
* فیلترهای saw چیست ؟
* فلیپ فلاپ ها در plc
۱ ۲ ۳ [۴] ۵ ۶ ۷ ۸ ۹ ۱۰ ... >> 

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

در این آموزش گام به گام شما با نحوه پروگرم کردن میکروکنترلر ها سری avr در نرم افزارBASCOM-AVR آشنایی بیشتری پیدا می کنید.
 
در ابتدا برای پروگرم کردن برنامه BASCOM-AVR را باز کنید . پس از باز کردن برنامه ممکن هست برنامه قبلی که در این نرم افزار نوشته شده است برای شما نمایش داده شود ابتدا برنامه قبلی را ببیندید و سپس از منو file گزینه open را بزنید .
برنامه را که قبلا نوشته اید و قصد پروگرم کردن آن را دارید از مسیر که در آن قرار دارد انتخاب کنید.


از طریق پنجره زیر برنامه مورد نظرخود را که میخواهید بر روی ای سی پروگرم کنید را انتخاب نمائید

پس انتخاب برنامه و باز کردن ان در محیط bascom ابتدا باید برنامه خود را تست کنید تا ببینید هیچ گونه خطایی دربرنامه وجود ندارد و فایل های مورد نیاز ساخته شود تا بتوانید آن را پرورگرم کنید. جهت اگاهی از این که برنامه شما بدون خطا میباشد در بالای صفحه بر روی دکمه syntax check کلیک نمائید. مانند شکل زیر

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

با کلیک بر روی خطای مورد نظر به خطی که د رآن خطا رخ داده هدایت میشوید البته در بعضی موارد هم به خوبی و دقیقا جایی که خطا رخ داده هدایت نمیشوید که این مورد کم پیش می یاد و در مواقعی هست ه خطا ناشناس باشد

بعد از برطرف کردن خطای ایجاد شده دوباره دکمه syntax check را بزنید تا ببینید خطایی دیگر در برنامه وجود دارد یا نه و در صورتی که تمام خطا ها برطرف شده باشد دیگر در پایین صفحه خطا ها را مشاهده نخواهید کرد و باید به مرحله بعدی بروید
بدین منظور از منو بالای صفحه بر روی گزینه compile کلیک نمائید تا برنامه شما کامپایل شود.

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

این مرحله کامپایل کردن با موفقیت انجام میشود و پس از کامپایل کردن باید بر روی گزینه run programmer کلیک نمائید تا وارد محیط پروگرم کردن برنامه بر روی آی سی شوید.

هم چنین کلید میانبر این صفحه f4 میباشد که با زدن ان نیز میتوانید وارد محیط پروگرم شوید.

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

همچنین اگر ای سی که بر وی پروگرم قرار داده اید با ای سی که دربرنامه مشخص کرده اید شماره ان یکسان نباشد با خطای زیر مواجه میشوید که در این صورت باید از میکرویی که در برنامه مشخص شده است را در پروگرم قرار دهید

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

دراین مرحله با زدن دکمه auto program chip در صورت وصل بود میکرو برنامه شما بر روی میکرو پروگرم میشود.

ادیت و آپلو مجدد توسط الی الی

با تشکر از یزد کیت

آرشیو مطالب وبلاگ من
* Wallpaper الکترونیکی
* آشنایی با سوکت های انتقال توان در کامپیوتر
* آشنایی با کارت های جانبی که به اسلات های مادر برد متصل می شوند
* آشنایی با رم Note Book ها
* آشنایی با هارد دیسک ها و سوکت هایشان
* آشنایی با رم های دسکتاپ (کامپیوترهای خانگی)
* آشنایی با سوکت های مختلف سی پی یو(CPU)
* با پورت های کامپیوتر آشنا شوید
* معرفی کانکتورهای D
* آشنایی با سیستم های راداری
* دستگاههای تست الکترونیک
* میکروکنترلر ATMEGA 128
* کفش های الکترونیکی
* برد های اصلی( MAIN BOARD )
* درباره کارت گرافیک کامپیوترتان بیشتر بدانید
* سیستم های خنک کننده در تجهیزات الکترونیک
* تراشه های نسل آینده
* درباره GSM بیشتر بدانید
* جدول شناسایی رنگ مقاومت ها
* شب جمعه به موبایلتان استراحت بدهید ... !
[۱] ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ... >> 

مبدل آنالوگ به دیجیتال(A/D Converter) توسط میکروکنترلر AVR

»شرح:

یک مبدل آنالوگ به دیجیتال ،تبدیل می کند یک ولتاژ ورودی را به یک اندازه دیجیتال تبدیل می کند. به این صورت مبدل قادر به شناسایی و نمایش یک مقدار خاص خواهد بود. که معمولا به صورت بیت (صفر و یک) یا بود و نبود ولتاژ است. برای مثال یک مبدل آنالوگ به دیجیتال که یک ورودی آنالوگ (مثل وزن-دما و...) را به 1 تا 256 مقدار مجزا که برای نشانگر 8 بیت است تبدیل می کند(28=256).

 

» اکثر مبدل ها خطی هستند، به این معنی که طراحی شده اند برای تولید یک مقدار خطی که یک عملکرد خطی را در خروجی اعمال می کند. یعنی اینکه ورودی متناسب با مقدار خروجی خواهد بود.

 

» برای این نمونه یک AT Mega8 استفاده شده است. که 6 مبدل داخلی آنالوگ به دیجیتال دارد.که شفافیتی برابر با 10 بیت دارد بنابراین خواهیم داشت (1024=210) حجم های خروجی ما هستند.

 

» در این مثال یک پتانسیومتر به پورت C.0 این Mega8 و ماجول LCD (4*20 ( کاراکتری به پورت D  متصل شده است.

 

» ماجول LCD نمایش می دهد مقداری را که توسط پورت مبدل آنالوگ به دیجیتال(ADC) اندازه گیری می شود.

 

» این اندازه ها در نمایشگر بین (0تا 1023) تشریح می شوند به صورت درصدی بین (صفر تا 100 درصد) به نمایش در می آیند.

 

» نرم افزار:

برنامه این مثال در زبان برنامه  Bascom AVR نوشته شده است. BASCOMدستورات داخلی برای خواندن از پورت ADC (مبدل آنالوگ به دیجیتال) دارد، پورت ADC (مبدل آنالوگ به دیجیتال) یک Mega8 باید تنظیم شود تا بتوان از آن استفاده نمود.

 

» تنظیمات:

·       ADC = single / ADC = free

  • PRESCALER - a numeric constant for the clock divider. AUTO lets the compiler generate the best value for the used crystal.
  • START ADC - puts the port in the ADC mode.
  • V = GETADC(channel) - reads the A/D value from the selected channel.

 

 

 

Downloads

 

AVR Bascom کد برنامه

 

 

hex file of the AVR Bascom Program Code

کد HEX برنامه AVR Bascom

 ترجمه شده توسط:  صادق R

http://www.eleele.blogfa.com

منبع اصل مطلب:

http://www.avrprojects.net/index.php?option=com_content&view=article&id=46:ad-convertor&catid=34:avr-learning&Itemid=54

 

ارتباط سریال  با میکرو کنترلرAVR   از طریق RS232

» شرح :

از طریق پورت سریال شما میتوانید تبادل اطلاعات با avr-microcontroller و كامپیوتر داشته باید. تقریبا همه avr-microcontroller    یک  UART(Universal Asynchronous Reciever/Transmitter)داخلی دارند (ناهنگام‌ همگانی   دریافت کننده/فرستنده‌) بر روی خود میکرو کنترلر (برای قبول at1200 attiny و برخی microcontrollers). انتقال اطلاعات از میان  microcontroller و كامپیوتر به صورت سریال و آسنکرون (مختلف‌ الزمان)‌ است, سریال بدان معنی است كه بیت ها یکی پس از دیگری ارسال می شوند , و آسنکرون‌ بدان معنی است كه هیچ علامت‌ زمان‌(Clock) در ابتدا یا انتهای اطلاعات ارسال یا دریافت نمی شوند. یک بایت‌ در 10 بیت ارسال می شود ،1 بیت شروع و 8 بیت اطلاعات و 1 بیت ایست ، همانطور که در شکل زیر می بینید.

 

 

این معیار استاندارد ارسال ‌دادهها سریال نامیده می شود که معیار RS232" "نام دارد.طبق این موازین(" صفر "0) منطقی سطح ولتاژی میان) -15V) و(-5V) دارد و " 1 " منطقی بین(5V+) و سطح ‪(+15V) دارد. avr-microcontrolers از 5ولت پالس سطح TTL  برای ارسال اطلاعات استفاده می کنند. بنابراین سیگنال ها در ابتدا می بایست که تبدیل شوند و این مى تواند به وسیله max232 ,امکان پذیر باشد و فقط به یک منبع ولتاپ 5 ولت نیاز دارد برای تبدیل علامت‌ سطح TTL  به سطح rs232 و بلعكس .

 

نکته: مخابره اطلاعات از طریق‌ rs232  به دستگاهها می تواند حد اکثر تا 15 متر انجام گیرد .بیشتر از از به خاطر تلفات انرژی امکان پذیر نمی باشد.

 

» سخت افزار

در شکل زیر می توانید شماتیک اتصال یک مبدلRS232   را با یک AT  میکروکنترلر  مشاهده کنید.

 

 

» نرم افزار

از طریق نرم افزار BASCOM شما به راحتي مي توانید دستوراتتان را روی میکروکنترلر AVR  بنویسید (نرم افزاری است برای ارتباط با avr-microcontroller )زيرا بیس کام چند فرمان برای ارتباط سريال دارد. براي مثال در زير برنامه ای وجود دارد, که با زحمت کمی می تواند روی میکروی شما بارگیری شود. اين برنامه در ترمينال متن چاپ کرده است.برای آزمایش برنامه شما می توانيد از شبیه ساز بیسكام يا hyperterminal, يا برنامه ای که در انتها قرار داده شده است استفاده کنید.

تنظیمات برای پورت Com  به شرح روبرو هستند:

: COM1,9600,N,8,1.

AVR BASCOM Code

 

 

hex file of the AVR BASCOM Code

مقالات و پروژه های AVR

» سایتی جالب برای آموزش AVR

تقدیم به تمامی دانشجویان الکترونیک کشور عزیزمان

 www.avrprojects.net

 

 

دماسنج دیجیتال  Segment7  با میکروکنترلر AVR

سلام طبق درخواست چندتا از دوستای گلم واستون پروژه هایی عملی میکروکنترلر  AVR میذارم . این دفعه دما سنج دیجیتال با سون سگمنت با میکروی avrگذاشتم که امیدوارم خوشتون بیاد.

دستور العمل + نقشه مدار چاپی + فایل HEX + مدار شماتیک + عکس نمونه ساخته شده در فایل zip زیر جمع آوری شده.

برای دانلود : Right click > Save target as

Password : www.ir-micro.com

حجم : 500 Kb

دانلود
 

مقدمه اي بر ميكروكنترلرهاي AVR

مقدمه اي بر ميكروكنترلرهاي AVR

 

 

 منبع:http://www.autoir.comali johari

ميكروهاي AVR داراي انعطاف پذيري غير قابل مقايسه و بي همتايي هستند.آنها قادر به تركيب هر نوع كدي با يك معماري كارامد از طريق زبانهاي C و Assembly هستند و قادرند از طريق اين برنامه ها تمام پارامترهاي ممكن در يك سيكل يا چرخه ماشين را با دقت بسيار بالا هماهنگ كنند.ميكرو AVR داراي معماريي است كه ميتواند در تمام جهات مورد استفاده شما،عمل كند ميكرو AVR معماريي دارد كه براي شما كارايي 16 بيتي ارائه مي دهد كه البته قيمتش به اندازه يك 8 بيتي تمام مي شود.

 بهره هاي كليدي AVR :

داراي بهترين MCU براي حافظه فلش در جهان ! (MCU: Master Control Unit)

داراي سيستمي با بهترين هماهنگي

داراي بالاترين كارايي و اجرا در CPU (يك دستورالعمل در هر سيكل كلاك)

داراي كدهايي با كوچكترين سايز

داراي حافظه خود برنامه ريز

داراي واسطه JTAG كه با IEEE 1149.1 سازگار است

 (IEEE: Institute of Electrical and Electronics Engineers.)

داراي سخت افزار ضرب كننده روي خود

داراي بهترين ابزارها براي پيشرفت و ترقي

داراي حالات زيادي براي ترفيع دادن يا Upgrade

ali johari

ادامه نوشته

میکروکنترلر چیست؟

1- معرفی میکروکنترلرها :

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

 

2- بخشهای مختلف میکروکنترلر :

میکروکنترلر ها از بخشهای زیر تشکیل شده اند

Cpu واحد پردازش

Alu واحد محاسبات

I /O ورودی ها و خروجی ها

Ram حافظه اصلی میکرو

Rom حافظه ای که برنامه روی آن ذخیره می گردد

Timer برای کنترل زمان ها

و . . .

3- خانواده های میکروکنترلر

خانواده : Pic - AVR - 8051

4- یک میکروکنترلر چگونه برنامه ریزی میشود .

میکرو کنترلر ها دارای کامپایلرهای خاصی می باشد که با زبان های Assembly basic, c می توان برای آنها برنامه نوشت سپس برنامه نوشته شده را توسط دستگاهی به نام programmer که در این دستگاه ای سی قرار می گیرد و توسط یک کابل به یکی از در گاه های کامپیوتر وصل می شود برنامه نوشته شده روی آی سی انتقال پیدا میکند و در Rom ذخیره می شود .

5- با میکرو کنترلر چه کارهایی می توان انجام داد .

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

6- امکانات میکرو کنترلرها :

امکانات میکرو کنترلرها یکسان نیست و هر کدام امکانات خاصی را دارا می باشند و در قیمت های مختلف عرضه می شود .

 

7- شروع کار با میکرو کنترلر:

برای شروع کار با میکرو کنترلر بهتر است که یک زبان برنامه نویسی مثل c یا basic را بیاموزید سپس یک برد programmer تهیه کرده و برنامه خود را روی میکرو ارسال کنید سپس مدار خود را روی برد برد بسته و نتیجه را مشاهده کنید.

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

8- مقایسه خانواده های مختلف میکرو وکنترلرها:

خانواده 8051 :

این خانواده از میکرو کنترولر ها جزو اولین نوع میکرو کنترولر ها یی بود که رایج شده و جزو پیشکسوتان مطرح میشود . معروف ترین کامپایلر برای این نوع میکرو keil یا franklin می باشد میکرو های این خانواده به نوسان ساز نیاز مند هستند و درمقابل خانواده pic یا AVR از امکانات کمتری برخور دار می باشد معروف ترین آی سی ها این خانواده 89S51 یا 89C51 می باشد .

خانواده AVR :

این خانواده از میکرو کنترلرها تمامی امکانات 8051 را دارا می باشد و امکاناتی چون ADC (مبدل آنالوگ به دیجیتال) – نوسان ساز داخلی و قدرت و سرعت بیشتر – EEPROM (حافظه) از جمله مزایای این خانواده می باشد مهم ترین آی سی این خانواده Tiny و Mega است.

خانواده pic :

این خانواده از نظر امکانات مانند AVR میباشد و در کل صنعتی تر است .

9- مزایای میکرو کنترلر نسبت به مدار های منطقی :

1- یک میکرو کنترلر را می توان طوری برنامه ریزی کرد که کار چندین گیت منطقی را انجام دهد.

2- تعداد آی سی هایی که در مدار به کار میرود به حداقل میرسد .

3- به راحتی می توان برنامه میکرو کنترلر را تغییر داد و تا هزاران بار میتوان روی میکرو برنامه های جدید نوشت و یا پاک کرد .

4- به راحتی میتوان از روی یک مدار منطقی کپی کرد و مشابه آن را ساخت ولی در صورتی که از میکرو کنترلر استفاده شود و برنامه میکرو را قفل کرد به هیچ عنوان نمی توان از آن کپی گرفت .

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

با امید به اینکه اولین آزمایش را با موفقیت انجام دادید ، میریم سراغ آزمایش دوم که اتصال یک سون سگمنت به میکرو کنترلر و ساختن یک شمارنده هست . البته سون سگمنتی که من در لیست قطعات مورد نیاز آورده بودم از نوع 4 تایی مالتی پلکس شده هست و لازم میدونم تا قبل از اینکه به سراغ مطالب بعدی بریم مختصری در مورد تکنیک مالتی پلکس برای روشن کردن چندین سون سگمنت روی یک مسیر a ،b ،c ،d ،e ،f و g مشترک توضیح بدم .

برای اتصال مستقیم و بدون واسطه ی چندین سون سگمت به میکروکنترلر (بدون استفاده از تراشه های مبدل BCD به سون سگمنت مانند 7448 ) که سون سگمنتها به همون دلیلی که در مورد اتصال LED به میکروکنترلر گفتم حتماً بایستی از نوع آند مشترک باشند دو روش وجود دارد . روش اول اینه که هر سون سگمنت را به یکی از پورتهای میکرو وصل کنید . البته مقاومتهای محدود کننده ی جریان را هم که بین پایه های a تا g سون سگمنت و پورتهای میکرو قرار میگیرند نباید فراموش کنید . در صورت عدم قرار دادن این مقاومتها که مقدار آنها بسته به کیفیت سون سگمنت مورد استفاده بین 470اهم تا 5/1 کیلو اهم میتونه باشه ، هم سون سگمنتها و هم پورتهای میکرو آسیب میبینه . آند سون سگمنتها هم مستقیماً به 5+ ولت تغذیه وصل میشه . استفاده از این روش وقتی که تعداد سون سگمنتها بیشتر از یکی باشه و بخواهیم قطعات دیگه ای مثل صفحه کلید و یا مبدل آنالوگ به دیجیتال(ADC) و یا بالعکس (مبدل دیجیتال به آنالوگ یا DAC) را هم به میکرو متصل کنیم ، غیر ممکنه . زیرا میکروکنترلر 4 تا پورت بیشتر نداره و نمیشه همزمان چند تا سون سگمنت ، یک صفحه کلید و یک ADC را به میکرو وصل کرد . البته وقتی هر یک از سون سگمنتها را به یکی از پورتها وصل کنیم برنامه نویسی خیلی آسون میشه ولی در مقایسه با محدودیتی که از نظر سخت افزار برای ما ایجاد میکنه اهمیتی نداره .

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

همان طور که در نقشه نیز پیداست در این روش برای اتصال 4 عدد سون سگمنت به میکرو تنها به 12 تا از پایه های میکرو احتیاج داریم . یعنی یک پورت و 4 تا پایه از یک پورت دیگه . این روش را با حالتی که میخواستیم سون سگمنتها را بدون استفاده از تکنیک مالتی پلکس به میکرو وصل کنیم مقایسه کنید . در آنجا مجبور بودیم هر 4 پورت میکرو را به سون سگمنتها وصل کنیم و امکان اتصال قطعه ی دیگه ای به میکرو وجود نداشت .

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

 

                                            B   A2  A3   f     a   A4                                    

                                          

   

                                           A1   g    c    p    d    e

   بعد از توضیحاتی در مورد نحوه ی اتصال سون سگمنت به میکروکنترلر به سراغ نحوه ی اتصال یک کلید فشاری که در بازار به تاچ سوئیچ معروف هست میریم . به طور کلی اتصال کلید های فشاری به میکرو کنترلر برای وارد کردن مقادیر ورودی و تنظیم پارامترهای یک مدار ساخته شده توسط میکروکنترلر بسیار مرسوم است . عمل این کلیدها بدین صورت است که با فشرن کلید اتصال بین پایه های آن برقرار شده و با قطع فشار بر روی کلید این اتصال نیز قطع می شود . این کلیدها در دو نوع 2 و 4 پایه در بازار موجود می باشند که در نوع 4 پایه ، 2 تا از پایه ها از داخل کلید به همدیگر متصل هستند و در مجموع همان 2 پایه را عرضه میکنند که شما بهتر است برای آسانی کار از همان نوع 2 پایه استفاده کنید . برای اتصال کلید های 2 پایه به میکرو یکی از پایه ها را به زمین تغذیه یا همان صفر ولت و پایه ی دیگر را هم به یکی از پایه های میکرو وصل کنید . بهتر است این پایه متعلق به یکی از پورتهای 1 ، 2 یا 3 باشد . زیرا این پورتها مقاومتهای بالا کش درونی دارند و به همین دلیل پایه ی مورد نظر که کلید به آن وصل است در حالت عادی که کلید فشرده نشده در سطح منطقی یک بوده و پس از آنکه کلید فشرده شود به سطح منطقی صفر می رود و از اینرو میتوان توسط کنترل وضعیت منطقی پایه ای که کلید به آن متصل است به فشرده شدن کلید پی برد . البته شما می توانید از پورت P0 نیز برای اتصال کلید استفاده کنید به شرطی که مقاومت بالا کش خارجی به کار ببرید یعنی توسط یک مقاومت حدوداً 7/4 کیلو اهمی از خارج پایه ای که کلید به آن متصل شده را به 5+ ولت وصل کنید . سخت افزارکامل این آزمایش را که یک شمارنده ی پالس هست میتونید از اینجا دانلود کنید .

 

پس از توضیحات مفصل در باره ی سخت افزار به سراغ نرم افزار میریم که مطمئن هستم خیلی منتظرش هستین . نرم افزار را در زیر مشاهده میکنید و توضیحات در مورد آنرا هم پس از آن آوردم .

 

           Zero   Equ   0C0H

            One   Equ   0F9H

            Two   Equ   0A4H

          Three   Equ   0B0H

           Four   Equ   99H

           Five   Equ   92H

            six   Equ   82H

          Seven   Equ   0F8H

          Eight   Equ   80H

           Nine   Equ   90H

 Timer0_Preload   Equ    -5000

       seven_segment   Data  P0

              anode1   Bit   P3.0

              anode2   Bit   P3.1

              anode3   Bit   P3.2

              anode4   Bit   P3.3

         Pulse_Input   Bit   P1.0

 

                  Org    0H

                  Sjmp   Main

                  ;----------------

                  Org    0BH

                  Ajmp   Multiplex

                                  ;-----------------

           Main:  Mov    Tmod,#01H

                  Mov    IE,#82H

                  Mov    Tl0,#low Timer0_Preload

                  Mov    Th0,#high Timer0_Preload

                  Mov    Dptr,#Number_Codes

                  Mov    r2,#0

                  Mov    30H,#0

                  Mov    31H,#0

                  Mov    32H,#0

                  Mov    33H,#0

                  Mov    34H,#0

                  Mov    35H,#zero

                  Mov    36H,#zero

                  Mov    37H,#zero

                                    Mov    38H,#zero

                  Setb   Tr0

    Pulse_Check:  Jb     Pulse_Input,$

                  Acall  Delay

                  Jb     Pulse_Input, Pulse_Check

                  Mov    a,30H

                                    Add    a,#1

                  Da     a

                  Mov    30H,a

                  jnz    Updade_Numbers

                  Mov    a,31H 

                  Add    a,#1

                  Da     a

                  Mov    31H,a

                 

                  Mov    32h,31H

                  Acall  Decode

                  Mov    37H,33H

                  Mov    38H,34H

 

 Updade_Numbers:  Mov    32h,30H

                  Acall  Decode

                  Mov    35H,33H

                  Mov    36H,34H 

                  

                  Jnb    Pulse_Input,$

                  Sjmp   Pulse_Check

                  ;-----------------

         Decode:  Mov    a,32H

                  Anl    a,#0Fh

                  Movc   a,@a+dptr

                  Mov    33H,a

                 

                  Mov    a,32H

                  Swap   a

                  Anl    a,#0Fh

                  Movc   a,@a+dptr

                  Mov    34H,a

                  

                  Ret

                  ;-----------------

          Delay:  Mov    39H,#50

           Back:  Mov    3AH,#100

                  Djnz   3AH,$

                  Djnz   39H,Back

                  ret

                  ;-----------------------------

      Multiplex:  Clr    Tr0

                  Mov    Tl0,#low Timer0_Preload

                  Mov    Th0,#high Timer0_Preload

                  Setb   Tr0

                  Inc    r2

 

                  Cjne   r2,#1,Show_Dahgan

                  Clr    anode4

                  Mov    seven_segment,35H

                  Setb   anode1

                  Reti

 

    Show_Dahgan:  Cjne   r2,#2,Show_Sahgan

                  Clr    anode1

                  Mov    seven_segment,36H

                  Setb   anode2

                  Reti

 

    Show_Sahgan:  Cjne   r2,#3,Show_Yekanhezar

                  Clr    anode2

                  Mov    seven_segment,37H

                  Setb   anode3 

                  Reti

 

Show_Yekanhezar:  Mov    r2,#0

                  Clr    anode3

                                    Mov    seven_segment,38H

                  Setb   anode4

                  Reti

                  ;----------------------------

                  Cseg   at 180H

   Number_Codes:  db Zero,One,Two,Three,Four,Five,Six,Seven,Eight,Nine

                     End     

                            

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

قسمت اول دستوراتی هست که تا قبل از دستور Org   0H قرار داره . این دستورات اصطلاحاً دایرکتیو نامیده میشه ، زیرا دستورات واقعی اسمبلی نیست و فقط به منظور افزایش خوانایی و قابلیت استفاده از زیر روالها در برنامه های مشابه به کار میره . مثلاً با دستور Zero  equ   0C0H مقدار C0H به ثابت Zero ، با دستور Seven_Segment   Data   P0 نام مستعار Seven_Segment به پورت P0 و با دستور Anode1  bit  P3.0 نام مستعار Anode1 به پایه ی P3.0 انتساب داده میشه . در واقع بعد از این دستورات هر جا اسمبلر به نامهای مستعار برخورد کنه ، مقادیر واقعی را جایگذاری میکنه .

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

قسمت سوم همون حلقه ی اصلی برنامه هست که در این قسمت دائماً وضعیت منطقی پایه ی P1.0 برای دریافت یک لبه ی پاین رونده بررسی میشه و نرم افزار حذف چندین فشردگی پشت سر هم یا اصطلاحاً Debounce هم برای آن نوشته شده که با کمی بررسی میتونید به نحوه ی عملکرد آن پی ببرید . در صورت تشخیص یک پالس صحیح محتوای خانه ی 30H به داخل انباره(رجیستر A) کپی شده ، پس از جمع انباره با عدد 1 و تصحیح اعشاری آن ، محتوای انباره مجدداً به داخل خانه ی 30H کپی می شود . خانه ی 30H از حافظه محتوی اعداد یکان و دهگان شمارنده است که به فرم BCD بوده و به ترتیب در نیبلهای پایین و بالای آن قرار دارند . در صورتی که محتوای این خانه صفر شود که به منزله ی دریافت 100 پالس می باشد ، اعمالی که ذکر آنها در مورد خانه ی 30H گفته شد ، در مورد خانه ی 31H صورت می گیرد که در بردارنده ی صدگان و یکان هزار شمارنده است . پس از آن زیر برنامه ی Decode به منظور به هنگام کردن عددی که سون سگمنتها نشان می دهند فراخانی میشود که در ذیل توضیح داده میشود .

قسمت چهارم برنامه را به لحاظ اهمیتی که از نظر ساختار و نحوه ی عملکرد دارد میتوان زیر برنامه ی Decode دانست . نوشتن این زیر برنامه به روش زبانهای برنامه نویسی سطح بالا مانند C صورت گرفته است . این زیر برنامه یک ورودی و دو خروجی دارد که ورودی به خانه ی 32H ارسال شده و خروجیها در خانه های 33H و 34H از حافظه قرار داده می شوند . عملکرد این زیر برنامه به این صورت است که کد متناظر برای نمایش اعداد BCD روی سون سگمنت را برای نیبلهای بالا و پایین بایت ورودی (خانه ی 32H) با استفاده از دستور Movc  a,@a+dptr از جدولی که در انتهای برنامه است استخراج کرده ، کد متناظر با نیبل پایین را در خانه ی 35H و کد متناظر با نیبل بالا را هم در خانه ی 36H قرار میدهد . قبل از فراخوانی این زیر برنامه بایستی بایت ورودی در خانه ی 32H قرارداده شود و پس از دستور فراخوانی (Acall  Decode) ، محتوای خانه های 33H و 34H به خانه های مورد نظر برای نمایش روی سون سگمنت منتقل شود . همان طوری که می بینید این زیر برنامه پس از دریافت هر پالس و افزایش خانه های 30H و در صورت لزوم 31H که محتوی اعداد BCD هستند ، فراخوانی می شود تا اعداد نمایش داده شده روی سون سگمنت ها به هنگام شوند .

قسمت پنجم و در واقع آخرین قسمت برنامه زیر روال وقفه ی تایمر صفر هست که وظیفه ی مالتی پلکس کردن سون سگمنتها را بر عهده دارد و با برچسب Multiplex مشخص گردیده . این زیر روال با توجه به مقدار دهی اولیه ثباتهای تایمر یعنی TL0 و TH0 ، پس از هر 5 میلی ثانیه (در صورت استفاده از کریستال 12MHZ) ، یکبار اجرا می شود و یکی از سون سگمنتها را به مدت 5 میلی ثانیه روشن می کند . پس از هر سرریز تایمر و رخ دادن وقفه ، محتوای ثبات r2 یک واحد افزایش پیدا می کند و با توجه به مقدار آن که بین 1 تا 4 است ، ابتدا آند سون سگمنت قبلی صفر شده ، سپس محتوای خانه ی مورد نظر برای نمایش روی سون سگمنت مورد نظر بر روی پورت P0 که به پایه های a تا g سون سگمنتها متصل است قرار گرفته و در پایان پایه ی آند سون سگمنت مورد نظر ، یک می شود . در واقع در هر لحظه فقط یکی از سون سگمنتها و به مدت 5 میلی ثانی روشن است که چون اثر آن تا زمانی که دوباره روشن شود روی شبکیه باقی می ماند ، عمل مالتی پلکس توسط چشم تشخیص داده نمی شود و روشنی سون سگمنتها پیوسته به نظر می رسد . در صورت افزایش مقدار اولیه ثباتهای TL0 و TH0 یعنی تغییر عدد 5000- به 8000- که به ثابت Timer0_Preload انتساب داده شده ، میتونید عمل مالتی پلکس را ببینید .

 

اطلاعات بیشتر در بلاگ  مهندسی الکترونیک

دماسنج دیجیتال 7 Segment با میکروکنترلر AVR

دستور العمل + نقشه مدار چاپی + فایل HEX + مدار شماتیک + عکس نمونه ساخته شده در فایل zip زیر جمع آوری شده.

Digital Thermometer

برای دانلود : Right click > Save target as 

Password : www.ir-micro.com

حجم : 500 Kb

دانلود

پورت COM کامپیوتر

یک مقاله راجع به RS232 که کاربرد زیادی هم داره . (همراه با پروژه های عملی )

 Download

مقالات و مدارهای عملی برق و الکترونیک

LPT پورت (پورت موازی یا پرینتر)

 LPT پورت (پورت موازی یا پرینتر)

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

 

 Download

مقالات و مدارهای عملی برق و الکترونیک

آموزش پروگرم کردن AVR با نرم افزار CodeVision و شرح کامل فیوزبیت ها

در این مقاله قصد داریم نحوه ی ایجاد پروژه ، تولید فایل هگز و پروگرم کردن میکروکنترولر  AVR را با نرم افزار CodeVision  آموزش دهیم  و  بطور کامل ، فیوزبیت های آن را شرح دهیم  و نکات عملی ومهم مربوط به آن را بیان کنیم .  این مقاله به فرمت pdf  بوده و بصورت مرحله به مرحله و کاملاً تصویری نگارش شده است .

Download

مقالات و مدارهای عملی برق و الکترونیک

گزارش کار آزمایشگاه میکروکنترولر 8051 ( دانشکده فنی تهران جنوب )

 این مقاله به بررسی میکروکنترولرهای 8051 پرداخته و ضمن آشنایی و معرفی مدارها و قطعات واسط ، به برنامه نویسی به زبان اسمبلی می پردازد . علاوه بر مطالب فوق ، ویژگی ها و روش کار با مجموعه ی آموزشی MDA-EMS51 مد نظر بوده و برنامه های سورس آن نیز پیوست شده است .

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

از اینرو ،  LCD، ADC و DAC بطور کامل تشریح شده و ضمن شبیه سازی مدارهای مربوطه با نرم افزار Proteus  ، برنامه های آن نیز ارائه شده است .

Download

 

مقالات و مدارهای عملی برق و الکترونیک

 C Programming for Microcontrollers – Joe Pardue

این کتاب بهترین و کاملترین مرجع آموزش زبان برنامه نویسی C برای انواع میکروکنترولرها بویژه AVR می باشد . این کتاب توسط " Joe Pardue " به زبان انگلیسی منتشر شده و متنی ساده و روان دارد .

Download

مقالات و مدارهای عملی برق و الکترونیک

آموزش نرم افزار 8051IDE

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

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

Download

 

مقالات و مدارهای عملی برق و الکترونیک

تبديل کى پد معمولى به کى پد سريال

با استفاده از طرحي مشابه اين مي توانيد در پايه هاي ميکرو صرفه جويي قابل توجهي به عمل آوريد. البته مقدارمقاومتها به طور پيش فرض داده شده و شما مي بايستي رنج هاي مختلف را قرار داده و يا از پتانسيومتر استفاده کنيد و با متصل کردن ال سي دي به ميکرو و نوشتن برنامه ايي مشابه برنامه نوشته شده در کنار تصوير بهترين حالت ممکن را به دست آوريد.

کی پد سریال

با توجه به اينکه مبدل آنالوگ به ديجيتال ميکرو دقت فوق العاده بالایی دارد و بسیار حساس می- باشد لذا براي هر کليد يک محدوده و بازه اي در نظر گرفته شده است که بايستي با توجه به تجربه به دست آيد و بيشترين و کمترين مقدار عدد خوانده شده از کليد را در نظر گرفته و چند واحد به آن اضافه کنيد و بازه را تشکيل دهيد.

منبع مطلب:http://electronic-projects.blogfa.com/post-7.aspx

آرشیو پیوندهای روزانه
* بررسی بمب های الکترو مغناطيسی و چگونگی مقابله با آنها
* پروژه ضبط صدا توسط AVR آماده برای فروش
* آموزش ساخت ضبط صوت با avr
* تولید الكتریسیته از گرمای بدن انسان با استفاده از مدارات جدید
** راهنمای نصب و استفاده از ماهواره
* انواع دیش ها (Dish)
* دزدگیر اجناس مغازه ها(RF ID)
* وبلاگی در زمینه ماهواره.برتر از هر سایتی!!
* سیری در مخابرات سیار
* ادوات و اصطلاحات در مخابرات
* كارت های هوشمند
* سیم کارت
* مقدمه‌ای بر بینایی ماشین‌ (Machine Vision)
* آشنايي با سيستم مخابراتی P. L. C
* چگونگی حفظ کدهای رنگی
* مقاومتها
* طریقه دانلود برنامه 6.9 proteus از اینترنت
* پیل‌‌سوختی
* USB 2.0
* محاسبه مقاومت مناسب برای دیودها
[۱] ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ... >> 

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

این مقاله حاوی فصل اول تا پنجم کتاب "میکروکنترولرهای AVR و کاربردهای آن" ، تألیف " مهندس امیر ره افروز " می باشد که به معرفی میکروکنترولرهای خانواده ی AVR و آموزش کامل نرم افزار Codevision پرداخته است .

Download

مقالات و مدارهای عملی برق و الکترونیک

آموزش مقدماتی AVR

این مقاله، شامل مدار پروگرمر STK200/300 و شرح نحوه ی ساخت آن می باشد که شما را با سه پروژه ی ضمن درس ، با محیط نرم افزار Codevision آشنا می کند .

Download

مقالات و مدارهای عملی برق و الکترونیک

شکل پایه های میکرو کنترلر 8051  

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

ادامه نوشته

چگونه می توان با AVR اعداد 1 تا 7 را روی یک 7 Segment نمایش داد.

توضیح این پروژه به زبان انگلیسی می باشد

Picture

ادامه نوشته

ساخت پروگرمر حرفه ای برای سری PIC

ساخت پروگرمر حرفه ای برای سری PIC

 

دانلود نرم افزار PIC

 

پروگرمر PIC16F84

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

ادامه نوشته

پروگرمر PIC & AVR

پروگرمر PIC & AVR

ادامه نوشته

پروژه ساعت با AVR Mega32

 پروژه ساعت با AVR Mega32 با قابلیت تنظیم تایمر در ساعت و روز مشخص

برای دریافت نقشه ادامه مطلب را ببینید...

ادامه نوشته

آشنایی با میکروکنترلر PIC 16f84

ادامه نوشته

عملکرد میکروکنترلر

عملکرد میکروکنترلر ها

 

میکرو کنترلر در اصطلاح به ریز پردازنده هایی گفته می شود که بجز CPU حداقل شامل سیستم های ورودی و خرو جی (I/o) حافظه و مدارات ارتباط با حافظه در داخل تراشه اصلی هستند و نیازی به مدارات واسطه بیرونی جهت ارتباط با سیستم های جانبی را ندارد. البته امکانات همه میکرو کنترلر ها مشابه و یکسان نمی باشد و برخی از میکرو کنترلر ها علاوه بر امکانات فو ق العاده شامل مبدل های دیجیتال به آنالوگ و آنالوگ به دیجیتال و یا حتی امکانات بیشتر و اختصاصی تر می باشند.

 

میکرو کنترلر MC68HC7058 ساخت شرکت MOTOROLA نمونه ای از میکرو کنترلر های مدرن می باشد که امروزه در ساختمان مانیتور های پارس از آن استفاده شده است. قلب این میکرو کنترلر را ریز پردازنده 6805 تشکیل می دهد و حافظه آن شامل 3.75 کیلو بایت حافظه ROM جهت ذخیره کردن نرم افزار اجرایی و 256 بایت حافظه RAM جهت ذخیره سازی مو قت می باشد.

 

نرم افزار ذخیره شده در حافظه این میکرو کنترلر تحت امتیاز شرکت هیوندای کره جنوبی بوده و قابل دسترسی یا دخل و تصرف نمی باشد و فقط مختص 15 اینج مدل HL -5870 می باشد.

 

از وظایف اصلی میکرو کنترلر می توان به موارد زیر اشاره کرد:

 

1- کنترل دکمه های جلوی مانیتور در صنعت ساخت

2- ایجاد ولتاژ های DC جهت کنترل قسمت های مختلف مدار

3-ارتباط با حافظه none volatile جهت ذخیره سازی و باز خوانی اطلاعات.

4- ارتباط با سیستم تغذیه جهت مدیریت توان مصرفی

5- ارتباط با سیستم مولد OSD

6- ارتباط با سیستم تنظیم گر خودکار

7- تنظیم اعوجاجات و تصحیح خطاها

8- مغناطیس جدایی

9- پردازش سیگنال های همزمانی

10- کنترل پیچش تصویر

 

برگرفته از سايت Govnshir.com

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

مقدمه:
با پیشرفت تكنولوژی در زمینه طراحی كامپیوتر، ارزش و اندازه آنها بشدت كاهش یافت.كامپیوترهای اولیه به اندازه یك خانه بودند و تنها در اختیار عده بخصوصی از دانشمندان قرار داشتند. اختراع ترانزیستورها و پیشرفت های بعدی آن در طراحی، كامپیوتر را در اختیار عموم قرار داد. بتدریج كه نوآوری های سخت افزار محدودیت یافت، طراحان بدنبال تكنیك های جدید سعی در اصلاح عملكرد كامپیوترها نمودند .

 بخش عملیاتی هر كامپیوتر شامل سه قسمت است :

 1 واحد پردازش مركزی
 2 حافظه
 3 وسایل ورودی و خروجی نقش واحد پردازش اجرای (پردازش) اطلاعات ذخیره شده در حافظه است.

 عمل وسایل ورودی و خروجی همچون صفحه كلید، نمایشگر تصویر، تهیه مفاهیم ارتباط و محاوره با واحد پردازشگر است. 

در سیستم های كامپیوتری دو نوع حافظه اصلی وجود دارد:

1-RAM: كه برای ذخیره موقت برنامه ها و داده هاست .
2-ROM: كه برای ذخیره سازی دائمی برنامه ها و داده های است كه كامپیوتر برای كار خود استفاده می كند .

 وسایل جانبی مانند وسایل ورودی/خروجی به پردازشگر اجازه می دهند تا با انسان یا دیگر كامپیوترها تبادل اطلاعات نماید .

سیستمی كه از میكروپروسسور همه منظوره استفاده می كند باید در خارج از آن RAM,ROM و درگاههای ورودی/خروجی و تایمر ها را اضافه نماید تا سیستمی كارآمد بوجود آید. گرچه افزایش RAM,ROM و درگاههای ورودی/خروجی موجب حجیم شدن و گرانتر شدن سیستم ها می گردد، ولی به قابلیت انعطاف آنها افزوده می شود . از جمله اینكه طراح می تواند روی مقدار RAM,ROM و درگاههای ورودی /خروجی بر حسب نوع كاربرد تصمیم گیری و اعمال نظر نماید . اما یك میكرو كنترلر دارای یك پردازشگر به همراه مقدار ثابتی از RAM ,ROM ، درگاههای ورودی/خروجی و تایمر در درون خود می باشد . میكرو كنترلر در واقع یك ریز پردازنده تك تراشه ای است كه شامل حافظه داده ،حافظه برنامه، ورودی و خروجی سریال و موازی، تایمرها، وقفه های بیرونی و داخلی می باشد كه تمام آنها روی یك تراشه واحد مجتمع شده اند . بنابر این طراح نمی تواند یك حافظه ، ورودی،خروجی یا تایمری را بدون گسترش لازم آن از بیرون اضافه كند.
مقدار ثابت ROM,RAM و مقدار درگاههای ثابت در میكرو كنترلرها آنها را برای كاربردهایی كه قیمت و محفظه در آنها بحرانی است  ایده آل كرده است.بیش از 34 درصد میكرو كنترلها در اتوماسیون اداری نظیر چاپگر لیزری ، دستگاههای نمابر ، تلفنهای هوشمند، و نظایر آنها به كار برده می شوند. بیش از یك سوم میكرو كنترلرها در لوازم خانگی الكترونیكی به كار برده شده اند. در این دسته بندی تولیداتی نظیر cd player ، تجهیزات صوتی ، بازیهای ویدویی ، ماشین لباسشویی ، دستگاهای پخت و پز (مایكرو فر ) و نظایر آنها قرار دارند . بازار تجهیزات مخابراتی ، ادوات نظامی و تجهیزات مربوط به اتومبیل ها بخش باقیمانده از سهم كاربرد میكرو كنترلرها را به خود اختصاص داده اند .
میكرو كنترلرها به طور معمول با استفاده از زبان اسمبلی مربوطه، برنامه ریزی می شده اند. میكرو كنترلرها ی ساخت تولید كنندگان مختلف ، زبانهای اسمبلی متفاوتی دارند. زبان اسمبلی شامل عبارتهای كوتاهی برای دستورالعمل ها است. معمولاً به خاطر سپردن این عبارتها مشكل است و نیز برنامه های تهیه شده برای یك میكرو كنترلر برای سایر انواع دیگر میكرو كنترلرها قابل استفاده نمی باشد.سختی كار با زبان اسمبلی به خصوص در پیاده سازی پروژه های پیچیده ، متداولترین شكایتی است كه در رابطه با برنامه ریزی میكرو كنترلرها مطرح می شود.

راه حل این مسئله ، استفاده از زبانهای سطح بالا می باشد. با این كار عملیات برنامه نویسی ساده تر گشته ، برنامه خوانا تر و انعطاف پذیر تر شده و پشتیبانی از آن نیز ساده تر می گردد. برای اغلب میكرو كنترلرها ، كامپایلرهای C و BASIC متفاوتی موجود می باشد.كامپایلرهای BASIC معمولاً به صورت مفسر بوده و كدهای حاصل از آنها كند می باشند . یكی دیگر از معایب زبان بیسیك این است كه اغلب كامپایلرهای بیسیك ساخت یافته نیستند در نتیجه برنامه سازی با آن كار دشواری می باشد.

 

آموزش EWB

آموزش Electronic Work Bench  (EWB)

برای دریافت مقاله روی ادامه مطلب کلیک نمایید

ادامه نوشته

میکرو کنترلر

معایب و مزایای میکروکنترلر های مختلف نسبت به هم

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

1- اول از 8051 شروع میکنیم .

2- میکروکنترلرPIC 

3- میکروکنترلرAVR

ادامه نوشته