لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 4
روبات مسیر یاب با نقشه عملی با میکرو کنترلر(1747 کلمه در این مقاله وجود دارد)(9120 بار مطالعه شده است) مسیر یاب با نقشه عملی با میکرو کنترلر
مداری رو که می بینیدبه نظر من ساده ترین روبات مسیریابی است که میتوان یافت و برگ برنده ان استفاده از L293D که بهترین درایور استپ موتور موجود در بازار ایران است.
این درایور در ازاء دریافت کد باینری از میکرو کنترلر با دادن فرکانس به استپ موتور آن را داریو کرده مثلا با دادن کد 0010 استپ 2 درجه به سمت راست می چرخد .
جریان ورودی این درایور خیلی کم بوده و جریان دهی خروجی آن تقریبا زیاد است و میتوان با این دارایور به راحتی دو استپ موتور را حرکت داد.
میکرو کنترلر استفاده شده 89C2051 یک میکرو کنترلر مشهور که ایرانیان همگی آن را حوب می شناسند سنسور استفاده شده در مدار مادون قرمز بوده و نسبت به فوتوسل مطمئن تر به نظر میرسد.
برای این مدار از هر آپ امپی میتوان استفاده کرد که من LM324 را ترجیح میدهم کریستال مدار حتما باید 11.0592 باشد .
برای تنظیم دقت مدار در محل از یک ولوم 20K باید استفاده شود باید این نکته را ذکر کنم که این مدار قبل از حرکت باید تنظیم شود .
و آخر آن که سنسور های مدار باید طبق شکل و با رعایت کامل در زیر مدار نصب شود این ربات سبک بوده ومیتوان از هر استپ موتوری با زاویه 0.7 استفاده کرد.
فایل هگز
برنامه میکرو کنترلر به زبان C
منبع:http://mcuev.persianblog.com/
تبلیغات
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 20
گزارش کار آزمایشگاه
میکروکنترلر
در جلسه اول به آشنایی IC 89S51 و محیط برنامه پروگرامر و چگونگی برنامه نویسی و چک کردن IC ،campile کردن و write کردن برنامه روی میکرو آشنا شدیم .
همچنین چگونگی مدار راه انداز IC ، تغذیه IC ومدار reset ICرا شناختیم.
در این آزمایش به ساخت یک موج مربعی توسط دستورات SETB و CLR پرداختیم.
این برنامه را روی پایه صفر پورت اول ( P1.0) که پایه شماره 1 IC است ایجاد کردیم.
ORG 00H
LOOP: CLR P1.0
SETB P1.0
SJMP LOOP
END
.
1) برنامه ای بنویسید که پالس روبه رو را روی P2.0 ایجاد کند.
V
T
1ms
برای ایجاد پالس بالا ابتدا با استفاده دستورات mov , djnz و وقفه یک میکرو ثانیه nop برنامه را نرم افزار پروگرامر نوشته وبا استفاده پروگرامر روی IC 89S51 کامپایل کرده سپس روی IC رایت کردیم.
2) برنامه بنویسید که پالس زیر را روی P2.0 ایجاد نماید.
V
T
1S 1S
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 20
گزارش کار آزمایشگاه
میکروکنترلر
در جلسه اول به آشنایی IC 89S51 و محیط برنامه پروگرامر و چگونگی برنامه نویسی و چک کردن IC ،campile کردن و write کردن برنامه روی میکرو آشنا شدیم .
همچنین چگونگی مدار راه انداز IC ، تغذیه IC ومدار reset ICرا شناختیم.
در این آزمایش به ساخت یک موج مربعی توسط دستورات SETB و CLR پرداختیم.
این برنامه را روی پایه صفر پورت اول ( P1.0) که پایه شماره 1 IC است ایجاد کردیم.
ORG 00H
LOOP: CLR P1.0
SETB P1.0
SJMP LOOP
END
.
1) برنامه ای بنویسید که پالس روبه رو را روی P2.0 ایجاد کند.
V
T
1ms
برای ایجاد پالس بالا ابتدا با استفاده دستورات mov , djnz و وقفه یک میکرو ثانیه nop برنامه را نرم افزار پروگرامر نوشته وبا استفاده پروگرامر روی IC 89S51 کامپایل کرده سپس روی IC رایت کردیم.
2) برنامه بنویسید که پالس زیر را روی P2.0 ایجاد نماید.
V
T
1S 1S
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 20
گزارش کار آزمایشگاه
میکروکنترلر
در جلسه اول به آشنایی IC 89S51 و محیط برنامه پروگرامر و چگونگی برنامه نویسی و چک کردن IC ،campile کردن و write کردن برنامه روی میکرو آشنا شدیم .
همچنین چگونگی مدار راه انداز IC ، تغذیه IC ومدار reset ICرا شناختیم.
در این آزمایش به ساخت یک موج مربعی توسط دستورات SETB و CLR پرداختیم.
این برنامه را روی پایه صفر پورت اول ( P1.0) که پایه شماره 1 IC است ایجاد کردیم.
ORG 00H
LOOP: CLR P1.0
SETB P1.0
SJMP LOOP
END
.
1) برنامه ای بنویسید که پالس روبه رو را روی P2.0 ایجاد کند.
V
T
1ms
برای ایجاد پالس بالا ابتدا با استفاده دستورات mov , djnz و وقفه یک میکرو ثانیه nop برنامه را نرم افزار پروگرامر نوشته وبا استفاده پروگرامر روی IC 89S51 کامپایل کرده سپس روی IC رایت کردیم.
2) برنامه بنویسید که پالس زیر را روی P2.0 ایجاد نماید.
V
T
1S 1S
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 63
آموزش میکرو کنترلر 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