دانلود مقاله آموزش میکرو کنترلر 8051

Word 97 KB 4985 58
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۱۴,۸۵۰ تومان
قیمت با تخفیف: ۱۰,۰۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • میکرولنترلر 8051 پایه و اساسی است برای یادگیری دیگر میکروکنترلر ها دستورات اسمبلی این میکرو نسبت به AVR خیلی کمتر هست و دارای امکانات کمتری نسبت به دیگر میکرو ها است به همین دلیل یادگیری و فهم آن خیلی راحت و آسان می باشد که برای شروع ابتدا باید مفاهیم منطق و دیجیتال را خوب فهمیده باشید و بعد از آن باید سخت افرار 8051 و RAM و ROM داخلی آن را درک کرده باشید تا بتوانید یک برنامه کاربردی بنویسید تا یک پروسه را کنترل کند. خیلی ها برای یادگیری میگن که ما که می خواهیم برنامه نویسی میکرو را یاد بگیرم پس بهتر بالاترین میکرو یعنی AVR یا PIC یاد بگیریم در صورتی که به نظر من کاملا اشتاه بوده و کار غلطی است که اگه بخواهید تا آخر ادامه دهید کاری طاقت فرسا خواهد بود. مثل این خواهد بود که سقف طبقه اول یک ساختمان را درست نکرده باشیم و بخواهیم طبقه دوم را درست کنیم. در این وبلاگ من تا بتوانم به زبان ساده و روان مطالب را بیان خواهم کرد که البته اگه یکم علاقه و پشتکار داشته باشد مطمئن باشید به میکرو مسلط خواهید شد و می توانید آن را به راحتی برنامه ریزی کنید. قیمت این میکرو خیلی ارزان می باشد در حدود 1000 تومان و حافظه ROM آن قابل پاک کردن و استفاده مجدد می باشد پس شما به راحتی می توانید در خانه یا محل کار برای راحتی خود و افراد خانواده چیزهایی با آن بسازید که آدم باورش نشه که اینو خودش ساخته و طراحی کرده.

     

     

    تشریح پایه های 8051 و RAM و ROM داخلی آن

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

    میکرو کنترلر AT89C51 دارای 128 بایت RAM و 4KB حافظه برنامه ROM می باشد. و AT89C52 دارای 256 بایت RAM و 8KB حافظه برنامه ROM می باشد. و AT89C55 دارای 256 بایت RAM و 20KB حافظه برنامه ROM می باشد. که بستگی به حجم برنامه ما دارد که از کدام میکرو استفاده کنیم.

    کاربرد RAM چست؟ اصلا به چه دردی می خوره؟

    RAM یعنی random access memory حافظه با دستیابی تصادفی. از این حافظه برای ذخیره اطلاعات موقت استفاده می شود یعنی اینکه تا زمانی که تغذیه میکرو وصل باشد این اطلاعات از بین نمی روند و با قطع کردن تغذیه این اطلاعات از بین می روند. ما در میکرو 8 ثبات 8 بتی برای ذخیره کردن داده  ها داریم در بعضی از مواقع پیش می آید که این 8 ثبات در کل برنامه استفاده شوند و ما به یک ثبات 8 بیتی برای ذخیره سازی داده ها داریم مثلا یک شمارنده طراحی کردیم و همه ثبات ها هم استفاده شده و ما مثلا به دو ثبات احتیاج داریم که می توانیم از هر کدام از خانه های RAM استفاده کنیم. منظور از اطلاعات همان داده های 8 بیتی می باشند یعنی همون 0 یا 1 ها که به 8 تا از آنها یک بایت یا یک داده 8 بیتی می گویند.

    حال به تقسیم بندی RAM توجه کنید. برای برنامه نویسی خیلی مهم است که ما از چه خانه های RAM مجاز هستیم استفاده کنیم آیا می توانیم در فلان خانه RAM داده را به صورت بیتی دستکاری کنیم  یا داده را 8 بیتی دستکاری کنیم. اصلا در چه محدوده ای از RAM قادر هستیم داده ذخیره کنیم  یا بانک های ثباتی در کجای RAM واقع شده اند و دیگر ثبات ها... به جدول زیر که مربوط به RAM خوب توجه کنید:

    عملکرد

    ثبات

    خانه های 8 بتی RAM

    آدرس

     

     

     

     

     

     

     

     

     

     

    FF

    ثبات B

    B

    F0

    F1

    F2

    F3

    F4

    F5

    F6

    F7

    F0

    ثبات A یا انباره

    ACC

    E0

    E1

    E2

    E3

    E4

    E5

    E6

    E7

    E0

    کلمه وضعیت

    PSW

    D0

    D1

    D2

    D3

    D4

    D5

    D6

    D7

    D0

     

    IP

    B8

    B9

    BA

    BB

    BC

    --

    --

    --

    B8

    پورت 3

    P3

    B0

    B1

    B2

    B3

    B4

    B5

    B6

    B7

    B0

    کنترل وقفه ها

    IE

    A8

    A9

    AA

    AB

    AC

    --

    --

    AF

    A8

    پورت 2

    P2

    A0

    A1

    A2

    A3

    A4

    A5

    A6

    A7

    A0

    ارتباط سریال

    SBUF

    قابل آدرس دهی نیست

    99

     

    SCON

    98

    99

    9A

    9B

    9C

    9D

    9E

    9F

    98

    پورت 1

    P1

    90

    91

    92

    93

    94

    95

    96

    97

    90

    بایت سنگین تایمر 1

    TH1

    قابل آدرس دهی نیست

    8D

    بایت سنگین تایمر 0

    TH0

    قابل آدرس دهی نیست

    8C

    بایت سبک تایمر 1

    TL1

    قابل آدرس دهی نیست

    8B

    بایت سبک تایمر 0

    TL0

    قابل آدرس دهی نیست

    8A

    مد تایمر

    TMOD

    قابل آدرس دهی نیست

    89

    مد شمارنده

    TCON

    88

    89

    8A

    8B

    8C

    8D

    8E

    8F

    88

     

    PCON

    قابل آدرس دهی نیست

    87

    بایت سنگین ثبات DPTR

    DPH

    قابل آدرس دهی نیست

    83

    بایت سبک ثبات DPTR

    DPL

    قابل آدرس دهی نیست

    82

    اشاره گر پشته

    SP

    قابل آدرس دهی نیست

    81

    پورت 0

    P0

    80

    81

    82

    83

    84

    85

    86

    87

    80

    فقط بایتی

     

    80 بایت برای خواندن و نوشتن موقت

    30تا7F

    بیتی و بایتی

     

    16 بایت برای خواندن و نوشتن موقت

    20تا2F

     

    بانک های ثباتی شامل R0-R7

    R0-R7

    بانک 3

    18تا1F

    R0-R7

    بانک 2

    10تا17

    R0-R7

    بانک 1

    08تا0F

    R0-R7

    بانک 0

    00تا07

    MGH

    MGH

    MGH

    MGH

     

    8051 در کل 128 بایت RAM دارد که به صورت جدول بالا تقسیم بندی می شود:

    1)     32 بایت از مکان های 00 تا 1F برای بانک های ثباتی و پشته کنار گذاشته شده.

    2)     16 بایت از 20 تا2F برای خواندن و نوشتن آدرس پذیر بیتی کنار گذاشته شده.

    3)     80 بایت از مکان های 30 تا7F برای خواندن و نوشتن بایتی  و یا آنچه که عموما داده موقت گفته می شو به کار می رود.

    نکته: جلوی خانه هایی که نوشته شده قابل آدرس دهی نیست یعنی اینکه نمی توان با آدرس هگز آن از این ثبات استفاده کرده به عنوان مثال برای SBUF در برنامه نویسی حتما باید خود SBUF را نوشت یعنی از آدرس هگز آن نمی توان استفاده کرد. ولی در بقه موارد مجاز هستیم. با یک مثال این قضیه را روشن می کنیم:

    MOV  A,#60H یعنی عدد 60 در مبنای هگز را در انباره کپی کن. حال این دستور را این طوری هم می توان نوشت یعنی از آدرس A استفاده کرد.   MOV  E0,#60H

    در RAM /8051 ما چهار بانک ثباتی داریم که هر بانک داری 8 بایت(R0تاR7) 8بیتی می باشد  یعنی:

     

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

    8051 هنگامی روشن می شود بانک صفر به صورت پیش فرض برای بانک ثباتی خود انتخاب می کند که برای تغییر دادن آن می توانیم به صورت زیر عمل کنیم.

    RS0(PSW.3)

    RS1(PSW.4)

      

    به کمک دستورات بیتی می توان این بانک را تغییر داد به مثال زیر توجه کنید می خواهیم بانک 3 را به عنوان بانک ثباتی میکرو تغییر دهیم؟

    SETB   PSW.4

    SETB  PSW.3

    می خواهیم بانک دو را انتخاب کنیم؟

    SETB  PSW.4

    CLR  PSW.3

    پشته:

    هنگامی که 8051 روشن می شود اشارگر پشته به صورت پیش فرض عدد 07 را در خود دارد که نهایت با عث انتخاب بانک 1 برای پشته خود می شود. SP=07H

    برای تغییر پشته به مکان دیگری ازRAM یا بانک دیگری می توان به کمک دستور زیر پشته را تغییر داد:   MOV  SP,#XX که XX آدرس آن مکان از RAM می باشد.

    حال کاربرد پشته چیست؟ پشته کاربرد زیادی دارد شاید ما زیاد با آن سرو کار نداشته باشیم ولی CPU با آن خیلی کار دارد به عنوان مثال برای اجرای یک زیر برنامه(برنامه فرعی) مثلا CALL  LABEL پردازنده آدرس این مکانی را که در آن به این دستور برخورد کرده، را در پشته خود ذخیره می کند و بعد از اجرای پشته به کمک این آدرس بر می گردد تا ادامه برنامه اصلی را انجام دهد.

    برای درج داده رد پشته از دستور PUSH استفاده می کنیم و برای بازیافت داده از پشته از دستور POP استفاده می کنیم. با هر بار درج در پشته اشارگز پشته یک واحد به آن اضافه می شود. و با هر بار بازیافت از پشته اشارگر پشته یک واحد از آن کم می شود.

    ROM  چیست؟

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

    (جداول و نمودار در فایل اصلی موجود است)

  • فهرست:

    ندارد.


    منبع:

    ندارد.
     

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

مقدمه: گرچه کامپیوترهای تنها چند دهه‎ای است که با ما همراهند با این حال تأثیر عمیق آنها بر زندگی ما به تأثیر تلفن، اتومبیل و تلویزیون رقابت می‎کند. همگی ما حضور آنها را احساس می‎‏کنیم چه برنامه‎نویسان کامپیوتر و چه دریافت کنندگان صورت حسابهای ماهیانه که توسط سیستمهای کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده می‎شود. تصور ما از کامپیوتر معمولاً «داده‎پردازی» است که محاسبات ...

در اين پروژه سعي بر اين است که علاوه بر آشنايي با ميکروکنترلر AVRو محيط نرم افزاري (labview) سخت افزار،به گونه اي طراحي شود که با دريافت سيگنال آنالوگ ورودي (صوت) از ميکروفن ، از طريق واحدADC ميکرو اين سيگنال به ديجيتال تبديل شود و با توجه به برنامه

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

مقدمه» با وجود اينکه بيش از بست سال از تولد ريز پردازنده نمي گذرد،تصور وسايل الکترونيکي و اسباب بازيهاي امروزي بدون آن کار مشکلي است.در 1971 شريک انيتل،8080 را به عنوان اولين ريز پردازنده موفق عرضه کرد.مدت کوتاهي پس از آن،موتور ولا،RCA و سپس Mo

کنترلر USB ، باید بافرهایی برای ذخیره داده‌هایی که دریافت می‌کند یا داده‌هایی که آماده فرستادن روی باس هستند، داشته باشد. بعضی از تراشه‌ها مانند NET2888 محصول NetChip ، از رجیسترهای به عنوان بافر استفاده می‌شکند. در حالی که برخی دیگر ، از جمله EZ-USB شرکت سیپرس [1] از بخشی از حافظه داده به عنوان بافر بهره می‌برند. رجیسترهایی که داده‌های رسیده یا منتقل شده را نگهداری می‌کنند، ...

مقدمه ميکروکنترلر در واقع يک ريز پردازنده تک تراشه اي است که شامل حافظه داده ، حافظه برنامه ، ورودي و خروجي سريال و موازي ، تايمرها ، وقفه هاي بيروني و داخلي مي باشد که تمامي آنها روي يک تراشه واحد مجتمع شده اند و مي توان آن را به قيمتي کم

میکروکنترلر چیست: میکروکنترلر رو درواقع می توان یه کامپیوتر کوچولو در قالب یه چیپ برای کنترل وسایل الکترونیکی (در اینجا ربات) تلقی کرد. تفاوت میکروکنترلر با میکروپروسسور در اینه که میکروکنترلر دارای یک CPU ٫مقدار محدودی RAM ٬ ROM ٬ پورت های I/O و تایمر در درون خود می باشد در صورتی که میکروپروسسور فقط یه CPU هست و شما باید RAM, ROM ,... رو به صورت اجزای جانبی به اون متصل کنید ...

اولین خانواده میکرو کنترلر ها با نام MCS-51 توسط شرکت اینتل طراحی و ساخته شد .بعد ها شرکت های دیگری تحت مجوز اینتل شروع به تولید IC های میکرو کنترلر کردند . از خانواده MCS-51 اولین عضو 8051 می باشد مشخصات این IC به صورت زیر است: 1 - 4 کیلو بایت ROM 2- 128 بایت RAM 3 - 4 پورت ورودی و خروجی 8 بیتی 4 - دو تایمر/شمارنده 16 بیتی 5 - رابط سریال برای ارتیاط با دیگر وسایل 6 - 64 کیلو ...

8051 در سال 1981 شرکت اینتل میکروکنترلر 8 بیتی خود را با نام 8051 معرفی کرد که دارای 128 بایت RAM، 4 کیلو بایت ROM، دو تایمر، یک درگاه سریال و 4 درگاه که تماماً بر روی یک تراشه بود. 8051 یک ریزپردازنده 8 بیتی است به این معنی که CPU آن در هر بار می تواند فقط بر روی 8 بیت داده کار کند و داده های بزرگتر باید به قسمتهای 8 بیتی شکسته شود. پس از اینکه اینتل اجازه ساخت و فروش 8051 را ...

ثبت سفارش
تعداد
عنوان محصول