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

 

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- به راحتی میتوان از روی یک مدار منطقی کپی کرد و مشابه آن را ساخت ولی در صورتی که از میکرو کنترلر استفاده شود و برنامه میکرو را قفل کرد به هیچ عنوان نمی توان از آن کپی گرفت .

منبع

 

مقاله

رديف

عنوان

1

امواج سونار - انگليسی

2

محاسبه فاصله با آلتراسونيک و ميکرو

3

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

4

آموزش تايمر ۵۵۵ با مدار عملی

5

آموزش کامل ميکرو ۸۰۵۱

6

چگونه يک ربات مسير ياب بسازيم !!

7

فرم ثبت نام و شرايط حلی کاپ ۸۴

8

PicBasic Pro Compiler

9

پروگرامر jtagaltera

10

Digital Modulation

11

منبع سوئيچينگ برای ساخت آمپليفاير ماشين

12

آموزش 8051

13

ساخت ضبط کننده صدا با ای.وی.آر(به زبان انگلیسی)

14

Programming of Microcontrollers with Ease

15

اشنايي با ميکروکنترولر

16

سنسور

17

sensor

18

سنسور های حساس به نور

19

موتور بورد چيست؟

20

آموزش کار با ميکرو کنترلر

مونورهاي خاص
پروژه هاي برگزيده
محصولات جديد الکترونيک را ببينيد
Rapotic Simulation And Humanoid Team
Rapotic Simulation And Humanoid Team
اموزش ساختن ربات !
پروگرمر براي ۸۰۵۱ بسازيد
مهندسي عمران و معماري
فيلم از ربات هاي مسير ياب
معرفي پايه هاي خانواده ۷۴**و ۴۰** 
گزارش کاری از تلويزيون
۱۱۱
آموزش orcad 9.2
امواج سونار - انگليسی
محاسبه فاصله با آلتراسونيک و ميکرو
معرفی میکرو کنترلر
آموزش تايمر ۵۵۵ با مدار عملی
آموزش کامل ميکرو ۸۰۵۱

 

Microcontroller 8051 Application Commands

 

Command

Description

Example

1

MOV

Move data

MOV destination, source

2

SETB

Set direct bit from BIT space

SETB bit     SETB Bit Operand

3

CLR

Clear direct bit from BIT space

CLR bit     CLEAR Operand

4

JB

JUMP if Bit is set

JB bit,label  Jump if dir bit (from BIT space) is set

5

JNB

JUMP if Bit is Not set

JNB bit,label   Jump if dir bit (from BIT space) is not set

6

SJMP

Short JUMP

SJMP LABEL Short jump (relative address)

7

LJMP

Long JUMP

LJMP LABEL   (16-bit destination address. )

8

DJNZ

DECREMENT Operand and Jump

if Not Zero

DJNZ bit,label   Decrement direct byte and jump if not zero

 

9

RET

RETURN from Subroutine

RET Return from subroutine

10

ACALL

Absolute Subroutine CALL

ACALL LABEL   (11-bit destination address )

11

LCALL

Long Subroutine CALL

LCALL label (16-bit destination address.  )

12

INC

INCREMENT Operand with a

constant

INC byte  Increment register

 

13

DEC

DECREMENT Operand with a

constant

DEC byte  Decrement register

14

CJNZ

COMPARE destination, source

and jump if not equal

CJNZ byte,#data,label

Compare  data to reg and jump if notequal

15

DA

DECIMAL ADJUST Accumulator

for Addition

DA A  Decimal adjust accumulator

 

16

RL

ROTATE Accumulator Left

RL A  Rotate accumulator left

 

17

RR

ROTATE Accumulator Right

RR A Rotate accumulator right

18

CPL

COMPLEMENT Operand

CPL bit [A]  (Complement direct bit from BIT space

) Complement accumulator

 

19

END

The END directive signals the end of the assembly module

 

The END directive is required in every assembly source file.

 

 

CPU

CPU 

بدون شک در حال حاضر سريعترين CPU جهان CPU زير ميباشد

AMD Athlon™ 64 X2 Dual- Core 5000+ 2600Mhz-Socket AM2

اما اين CPU بسيار گران است و قيمت آن در حدود يک ميليون تومان ميباشد

اما CPU زير

AMD Athlon™ 64 X2 Dual- Core 3800+ 2000Mhz Socket 939

با وجود سرعت حدود سه چهارم سرعت CPU فوق قيمتي حدود 290 هزار تومان دارد.

 

جدول زير سرعت چند مدل CPU AMD را ارائه ميکند

Speed Factor**

قيمت (هزار تومان)

Socket

Frequency

CPU

NA

*

AM2

2600Mhz

AMD Athlon™ 64 X2 Dual-Core 5000+

100

700

939

2400Mhz

AMD Athlon™ 64 X2 Dual-Core 4800+

95

570

939

2400Mhz

AMD Athlon™ 64 X2 Dual-Core 4600+

85

388

939

2200Mhz

AMD Athlon™ 64 X2 Dual-Core 4200+

75

290

939

2000Mhz

AMD Athlon™ 64 X2 Dual-Core 3800+

54

260

939

2400Mhz

AMD Athlon™ 64 3800+

42

140

939

2000Mhz

AMD Athlon™ 64 3200+

38

105

939

1800Mhz

AMD Athlon™ 64 3000+

 * هنوز وارد بازار ايران نشده است.

** سرعتها نسبت به AMD Athlon™ 64 X2 Dual-Core 4800+ و توسط نرم افزار Sandra محاسبه شده اند.

 

 

جدول زير سرعت چند مدل CPU Intel  را ارائه ميکند

 

با مقايسه اين دو جدول ميتوان به اين نتيجه رسيد که خريدن CPU هاي Intel چيزي جز به هدر دادن پول نيست. درضمن CPU جديد AMD از فناوري cool 'n' quiet استفاده ميکنند که ضمن سرد نگه داشتن CPU سرعت فن آنرا تا حد ممکن پايين مي آورد بطوريکه صداي فن CPU عملا قابل احساس نيست

 

برگرفته از:    http://saffarian.blogfa.com

 

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


AVR Microcontroller Quick Reference Guide

این مقاله نوشته شده در فوریه 2004 توسط شرکت ATMEL یکی از بزرگترین تولیدکنندگان چیپ های میکروالکترونیک در جهان است.
به جهت اهمیت یافتن روز افزون میکروکنترلرهای جدید AVR در صدد ترجمه آن برآمدم هر چند کار چندان جالبی از آب در نیامده ولی باز هم قابل خواندن است . این مقاله اطلاعات کلی در مورد ساختار داخلی و انواع مختلف میکروهای AVR و همچنین مزایای آنها نسبت به نمونه های قبلی 8051 پرداخته است.در ترجمه آن سعی کردم بیشتر از لغات فارسی معادل استفاده کنم با اینکه خودم زیاد راضی نیستم ولی چاره ای نداشتم باید فارسی را پاس بداریم ! حتما می دانید که برای برخی لغات تخصصی انگلیسی هیچ معادل فارسی وجود ندارد به خاطر همین در بعضی از قسمتها خود لغت انگیسی را آورده ام که فهم صحیح آن بستگی به تجربه ی خواننده دارد.مسلم است که اگر شما درباره ی میکروکنترلرها پیش زمینه ای داشته باشید آنگاه آمادگی بیشتری برای فهم این مقاله خواهید داشت پس اگر یک خواننده مبتدی در میکروکنترلرها هستید ممکن است در درک برخی مطالب کمی دچار مشکل شوید البته کمی ! که با پرسیدن چند سوال کوچک از کسی که اینکاره است می توانید بعضی ابهامات را برطرف کنید.امیدوارم همیشه پیروز و شاد باشید .
هر روزتان بهتر از دیروز باد!
مقدمه ای بر میکروکنترلرهای AVR :
 
میکروهای 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 .
 
واژگان کلیدی AVR :
 
میکرو کنترلر AVR به منظور اجرای دستورالعملهای قدرتمند در یک سیکل کلاک(ساعت) به اندازه کافی سریع است و می تواند برای شما آزادی عملی را که احتیاج دارید به منظور بهینه سازی توان مصرفی فراهم کند.
میکروکنترلر AVR بر مبنای معماری  RISC(کاهش مجموعه ی دستورالعملهای کامپیوتر) پایه گذاری شده و مجموعه ای از دستورالعملها را که با 32 ثبات کار میکنند ترکیب می کند.
به کارگرفتن حافظه از نوع Flash  که AVR ها به طور یکسان از آن بهره می برند از جمله مزایای آنها است.
یک میکرو AVR می تواند با استفاده از یک منبع تغذیه 2.7 تا 5.5 ولتی از طریق شش پین ساده در عرض چند ثانیه برنامه ریزی شود یا Program شود.
میکروهای AVR در هرجا که باشند با 1.8 ولت تا 5.5 ولت تغذیه می شوند البته با انواع توان پایین (Low Power)که موجودند.
راه حلهایی که AVR پیش پای شما می گذارد، برای یافتن نیازهای شما مناسب است:
با داشتن تنوعی باور نکردنی و اختیارات فراوان در کارایی محصولات AVR، آنها به عنوان محصولاتی که همیشه در رقابت ها پیروز هستند شناخته شدند.در همه محصولات AVR مجموعه ی دستورالعملها و معماری یکسان هستند بنابراین زمانی که حجم کدهای دستورالعمل شما که قرار است در میکرو دانلود شود به دلایلی افزایش یابد یعنی بیشتر از گنجایش میکرویی که شما در نظر گرفته اید شود می توانید از همان کدها استفاده کنید و در عوض آن را در یک میکروی با گنجایش بالاتر دانلود کنید.
خانواده های محصولات AVR :
Tiny AVR:
میکروکنترلری با اهداف کلی و با بیش از 4 کیلو بایت حافظه فلش و 128 بایت حافظه استاتیک و قابل برنامه ریزی است.(منظور از حافظه استاتیک SRAM و حافظه قابل برنامه ریزی EEPROM است.)
Mega AVR:
این نوع میکروها قابلیت خود برنامه ریزی دارند و می توان آنها را بدون استفاده از مدارات اضافی برنامه ریزی کرد همچنین بیش از 256K بایت حافظه فلش و 4K بایت حافظه استاتیک و قابل برنامه ریزی دارند.
LCD AVR:
این نوع میکرو دارای درایور برای نمایشگر LCD با قابلیت کنترل اتوماتیک تباین و مقایسه تصویر می باشد.باعث تمدید عمر باتری می شود و در حالت فعال دارای توان مصرفی پایینی است.
 
توان مصرفی پایین: توان مصرفی پایین آنها برای استفاده بهینه از باتری و همچنین کاربرد میکرو در وسایل سیار و سفری طراحی شده که میکروهای جدید AVR با توان مصرفی کم از شش روش اضافی در مقدار توان مصرفی ، برای انجام عملیات بهره می برند. این میکروها تا مقدار 1.8 ولت قابل تغذیه هستند که این امر باعث طولانی تر شدن عمر باتری می شود. در میکروهای با توان پایین ، عملیات شبیه حالت Standby است یعنی میکرو می تواند تمام اعمال داخلی و جنبی را متوقف کند و کریستال خارجی را به همان وضعیت شش کلاک در هر چرخه رها کند!
های مدل tiny:
به خود اجازه ندهید که نام آن شما را گول بزند... میکروهای مدل tiny توانایی های عظیمی دارند.به خاطر کوچک بودن و داشتن MCU بسیار پر قدرت به اینگونه میکروها نیاز فراوانی هست آنها به هیچ منطق خارجی نیاز نداشته و به همراه یک مجتمع مبدل آنالوگ به دیجیتال و یک حافظه قابل برنامه ریزی EEPROM قابلیتهای خود را ثابت می کنند.
نکات کلیدی و سودمند مدل Tiny : آنها به منظور انجام یک عملیات ساده بهینه سازی شده و در ساخت وسایلی که به میکروهای کوچک احتیاج است کاربرد فراوان دارند. کارایی عظیم آنها برای ارزش و بهای وسایل موثر است.
 
AVR های مدل Mega:
اگر شما به میکرویی احتیاج دارید که دارای سرعت و کارایی بالا باشد و توانایی اجرای حجم زیادی از کد برنامه را داشته و بتواند داده های زیادی را سروسامان دهد باید از AVR های مدل Mega استفاده کنید آنها به ازای هر یک مگا هرتز سرعت ، توانایی اجرای یک میلیون دستورالعمل در هر یک ثانیه را دارند همچنین قابل برنامه ریزی و بروزرسانی کدها با سرعت و امنیت بسیار بالایی هستند.
نکات کلیدی و سودمند مدل Mega : حافظه سریع از نوع فلش با عملکرد خود برنامه ریز و بلوکه ی بوت (Boot Block) دقت بسیار بالای 8-کانال در تبدیل آنالوگ به دیجیتال 10 بیتی USART و SPI و TWI بر طبق واسطه های سریال واسطه ی JTAG بر طبق IEEE 1149.1
TWI: Two Wire Interface is a byte oriented interface
USART: Universal Serial Asynchronous Receiver/Transmitter
SPI: Serial Peripheral Interface
JTAG available only on devices with 16KB Flash and up
واسط JTAG فقط در میکروهای با بیش از 16 کیلوبایت حافظه فلش موجود است.
AVR های مدل LCD:
آنها با بالاترین یکپارچگی و انعطاف پذیری ممکن طراحی شده اند و با داشتن درایور LCD و کنترلر اتوماتیک وضوح تصویر ،بهترین واسطه را با انسان دارند و دارای توان مصرفی پایین و کارایی بالایی هستند.اولین عضو این خانواده 100 سگمنت داشت و دارای یک UART و SPI به منظور ارتباط به صورت سریال بود.
نکات کلیدی وسودمند مدل LCD : کارایی فوق العاده با سرعت یک میلیون دستورالعمل در ثانیه به ازای یک مگاهرتز واسطه ها برای ارتباط با انسان: وقفه های صفحه کلید و درایور نمایشگر LCD آنها این اجازه را به طراح سیستم می دهند که توان مصرفی را در برابر سرعت پردازش تا جایی که امکان دارد بهینه کند.
 
نکات کلیدی و سودمند حافظه ی فلش خود برنامه ریز: قابلیت دوباره برنامه ریزی کردن بدون احتیاج به اجزای خارجی 128 بایت کوچک که به صورت فلش سکتور بندی شده اند داشتن مقدار متغیر در سایز بلوکه ی بوت (Boot Block) خواندن به هنگام نوشتن بسیار آسان برای استفاده کاهش یافتن زمان برنامه ریزی کنترل کردن برنامه ریزی به صورت سخت افزاری
 
راههای مختلف برای عمل برنامه ریزی:
موازی یا Parallel : یکی از سریعترین روشهای برنامه ریزی سازگار با برنامه نویس های(programmers) اصلی
 
خود برنامه ریزی توسط هر اتصال فیزیکی: برنامه ریزی توسط هر نوع واسطه ای از قبیل TWI و SPI و غیره دارا بودن امنیت صد درصد در بروزرسانی و کدکردن
 
ISP: واسطه سه سیمی محلی برای بروزرسانی سریع آسان و موثر در استفاده
 
واسطه JTAG : واسطه ای که تسلیم قانون IEEE 1149.1 است و می تواند به صورت NVM برنامه ریزی کند یعنی هنگام قطع جریان برق داده ها از بین نروند.استفاده از فیوزها و بیتهای قفل. بیشتر برای دیباگ کردن آنچیپ و به منظور تست استفاده می شود
 
نرم افزار ارائه شده توسط شرکتATMEL به نام AVR Studio 4 :
این نرم افزار به صورت رایگان در سایت شرکت ATMEL قرار دارد می توانید با رجوع به آدرس http://www.atmel.com آن را دانلود کنید.
این نرم افزار در حقیقت یک اسمبلر برای محصولات AVR اتمل است و به صورت کاملا ویژوالی است.
می تواند با انواع دستگاههای برنامه نویس میکرو ارتباط برقرار کند و کدها را در میکرو دانلود کند.
و قابلیت ترجمه کدها به زبانهای C و Assembly را دارد و ...
 
انواع برنامه نویسها که AVR Studio 4 با آنها سازگار است:
در این قسمت خصوصیات پروگرامر ها را به زبان انگلیسی ارائه کردم چون به زبان فارسی اصلا قابل فهم نمی بود و باید یکی پیدا می شد تا ترجمه فارسی آن را دوباره ترجمه کند...
 
Emulators Platforms
In System Programmers
Starter Kits
ICE 40/50
AVRISP
STK500
JTAGICE
JTAGICE
STK501
 
 
STK502
 
STK500/STK501/STK502
 
STK500
Supports All AVR Devices
Interfaces with AVR Studio
Early Support for New
Devices Push Buttons, LEDs & RS232
 
STK501
STK500 Expansion Module for ATmega64/128
ZIF Socket & PCB Footprint
Onboard 32 kHz Oscillator
Additional RS232 Port

STK502
STK500 Expansion Module for ATmega169
ZIF Socket & PCB Footprint
Onboard 32 kHz Oscillator
Demo Application with Temperature Sensor
 
JTAGICE / JTAGICE mkII
 
Interfaced using AVR Studio
 
Real-Time Emulation in Actual Silicon
Debug the Real Device at the Target Level
Communicates Directly to the Device through 4-Pin JTAG Interface
One-wire Debug Interface (JTAGICE mkII only)
Supports
Program Breakpoints
Data Breakpoints
Full I/O View and Watches
Full Execution Control
 
ICE40/50 Emulator
ICE50
Emulates all Peripherals (Both Digital and Analog)
Supports all Instructions And Peripherals Real-Time
All Configurations Done from AVR Studio
Unlimited Number of Breakpoints
Source Level Debugging
Supports the Newest Members of AT mega
And AT tiny Product Families
 
ICE40
Same Features as ICE50
End Low Cost ICE for ATtiny13, ATtiny26, ATmega8, ATmega8515,
ATmega8535
ICE50 Upgrade Available
 
پروگرامرهایی که AVR های خاصی را پشتیبانی می کنند:
 
ICE50
ICE40
ICE200
JTAGICE mkll
JTAGICE
STK502
STK501
STK500
AVRISP
Product
 
 
*
 
 
 
 
*
 
Tiny11
 
 
*
 
 
 
 
*
*
Tiny12
*
*
 
*
 
 
 
*
*
Tiny13
 
 
 
 
 
 
 
*
*
Tiny15
*
*
 
 
 
 
 
*
*
Tiny26
 
 
 
 
 
 
 
*
 
Tiny28
*
 
 
*
 
 
 
*
*
Tiny2313
 
 
*
 
 
 
 
*
 
90S1200
 
 
*
 
 
 
 
*
 
90S2313
 
 
*
 
 
 
 
*
 
90S2323
 
 
*
 
 
 
 
*
 
90S2343
*
*
 
 
 
 
 
*
*
Mega8
*
*
 
 
 
 
 
*
*
Mega8515
*
*
 
 
 
 
 
*
*
Mega8535
*
 
 
*
*
 
 
*
*
Mega16
*
 
 
*
*
 
 
 
*
Mega162
*
 
 
*
*
 
 
*
*
Mega32
*
 
 
*
*
 
*
*
*
Mega64
*
 
 
*
*
 
*
*
*
Mega128
*
 
 
*
 
 
 
*
*
Mega48
*
 
 
*
 
 
 
*
*
Mega88
*
 
 
*
 
 
 
*
*
Mega168
*
 
 
*
*
*
 
*
*
Mega169