تحقیق آموزش ميكرو كنترلر 8051
دسته بندي :
دانش آموزی و دانشجویی »
دانلود تحقیق
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : word (..doc) ( قابل ويرايش و آماده پرينت )
تعداد صفحه : 66 صفحه
قسمتی از متن word (..doc) :
آموزش ميكرو كنترلر 8051
قبل از همه چيز چرا 8051 ؟
ميكرولنترلر 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