- شروع کننده موضوع
- #1
SR
کاربر فوقحرفهای
- ارسالها
- 604
- امتیاز
- 1,158
- نام مرکز سمپاد
- شهید اژه ای 1
- شهر
- اصفهان
- سال فارغ التحصیلی
- 00
- مدال المپیاد
- درست نخوندم به جایی نرسیدم
- رشته دانشگاه
- مهندسی برق
میکروکنترلر چیه؟؟؟AVR چیه؟؟؟PIC چیه؟؟؟اینا چطوری کار میکنند؟؟؟...
اینا سوالاتی هست که ممکنه یه علاقمند به الکترونیک که از قافله عقب مونده بپرسه!
منم اینجام تا این مسأله عقب موندگی رو حل کنم (یه وقت فکر نکنین مشکل ذهنی دارین و اینا ... ^#^ مشکل از اطلاع رسانیه )
1-میکروکنترلر چیه؟
یه تراشه هست که عملا مثل یه کامپیوتر کوچیک عمل میکنه!میشه براش برنامه نوشت و اینا به هر زبانی!(همون C و خانوادش و BASIC و اسمبلی) پردازنده داره رم داره حافظه داره با یه سری چیز دیگه توی یک تراشه
2-با چی اینا رو برنامه نویسی میکنند؟
هر دسته از میکروکنترلر ها با یه کامپایلر(همون برنامه ای که توش برنامه نویسی میکنن) میشه براشون برنامه نوشت
3-چطور اینا رو برنامه ریزی میکنند؟چجوری به کامپیوتر وصلش میکنند؟
میکروکنترلر های تو بازار معمولا با یه مدار رابط به پورت های کامپیوتر مثل USB و RS-232(همون پورت 9 پین پشت کامپیوتر که به پورت مودم و سریال معروفه) و پورت پرینتر(یا همون پروت موازی , Parallel همون پورت 15 پین پشت کامپیوتر) و ... وصل میشند و از یه طرف دیگه هم به یه سری از پایه های میکروکنترلر متصل شده و با یه برنامه مخصوص مدار واسط یا مستقیما از طریق کامپایلر میشه میکروکنترلر رو برنامه ریزی کرد
4-برنامه نویسی اینا چجوریاست؟
برنامه نویسیش فرقی نداره
در حیطه اسمبلی که خوب یه سری دستور مخصوص به خودش رو داره مثل هر پردازنده دیگه ای
در مورد C هم مثل کامپیوتره منتها هدر ها فرق میکنند و تا اون جایی مثل کامپیوتر هست که پردازش داخل خود میکروکنترلر انجام بشه اما اگه بخواد با دنیای خارجش تبادل اطلاعات کنه یه مقدار قضیه فرق میکنه
میکروکنترلر علاوه بر پردازنده و رم و حافظه که عملا یه کامپیوتر سر همه ولی یه سری خرت و پرت دیگه هم همراهش هست که میتونه اونو با دنیای خارجش ارتباط بده
در مورد Basic هم مثل C هست فقط یه چند تا دستورش فرق میکنه و اینا کلیتش همونه
5-اون خرت و پرت ها رو چجوری کنترل میکنند؟اصلا اونا چیند؟
حتما تا حالا پشت کیس رو نگاه کردید و دیدید یه سری محل داره بهش سیم وصل میکنند تا با دستگاه های مختلف ارتباط برقرار کنه
میکروکنترلر هم از طریق پایه هاش این کار رو انجام میده اون خرت و پرت ها شامل یه سری واحد های ارتباطی هستند که مثلا یکیشون که USART هست میتونه با یه تراشه رابط به پورت سریال کامپیوتر متصل بشه و با کامپیوتر ارتباط بر قرار کنه
بعضی ها هم USB دارند و بعضی دیگه هم اترنت!
کنترلشون هم اینطوریه که یه سری خونه از رم مستقیما به این واحد های ارتباطی وصل میشه و با تغییر مقدار اون خونه کارکرد اون واحد هم عوض میشه که اینا رو تو برگه اطلاعاتی یا دیتاشیت که شرکت سازنده میکروکنترلر میده ارتباط بین مقادیر و کارکرد بخش های مختلف میکروکنترلر رو توضیح میده
6-خوب وقتی اینا هستند دیگه چرا از اینا به جای کامپیوتر استفاده نمیشه؟
خوب میکروکنترلر ها یه نسخه ضعیف از کامپیوتر هستند و نمیتونند توی پردازش سنگین جواب بدند
برای اینکه تفاوت ها رو درک کنید مثلا فرکانس کلاک میکروکنترلر ها بین 1 تا 100 مگا هرتز هست و کامپیوتر بالای چند گیگا هرتز!
حافظه برنامه میکروکنترلر ها در حد کیلو بایت هست اما کامپیوتر در حد ترا رمش هم همینطور در حد کیلو بایت هست و کامپیوتر در حد گیگ!
7-با این پردازش کم چی کار میشه کرد پس به چه درد میخوره؟
وقتی که نیاز داشته باشید یه چیزی به صورت خودکار عمل کنه حتما اولین چیزی که به ذهنتون میاد اینه که ای کاش یه کامپیوتر برای این کار در نظر میگرفتیم!
در اکثر این موارد میکروکنترلر دستتون رو میگیره چون تو اکثر کارها نیازی به اون توان پردازشی بالا نیست
در حد شمارش یه زمان و قطع و وصل کردن یه کلیدی چیزی هست
در موارد خفن تر هم میشه یه نمایشگر براش گذاشت و با چند تا سنسور اطلاعات محیط رو سنجید و بر اساس اونا اقدامی انجام داد
8-قیمتش چقدر تموم میشه برامون؟
با توجه به وضعیت تحریم ها که خیلی رو الکترونیک تاثیر میزاره مثلا قیمت یه میکروکنترلر AVR که 40 پایه هم هست و کار رو راه میندازه حدود 6 هزار تومان هست
مداری هم که پروگرام میکنه رو میتونید خودتون بسازید
آمادش هم مثلا USB دارش از 20 هزار تومان هست به بالا
برد بورد و یه آداپتور کوچیک و چند تا LED و دکمه و سیم هم میشه 20 هزار تومان
ولی در کل اگه میخواید از الکترونیک لذت ببرید به اصطلاح باید از نون شبتون بزنید!!!(یعنی همون عیدی و اینا)
9-از کجا میشه یادش گرفت؟
از طریق آموزشگاه ترجیحا اونایی که رباتیک درس میدند نرید برید جاهایی که مثلا چیز های خفن یاد میدند در کل آموزشگاهش بچه بازی نباشه و دانشجو ها بیان اونجا برای یادگیری که خوب طبیعتا سخته یکم ولی اینطوری بیشتر یاد میگیرید(یعنی بیشتر یاد میدند!)
خودآموزی هم میشه به وسیله نت و کتاب با توجه به افزایش منابع آموزشی و اینا بهتر جواب میده و کلا نت بهتر هستش(هزینش کمتره میشه از آدم های وارد سوال پرسید و اینا)
10-کدوم دسته از میکروکنترلر ها؟
اگه کسی نیست براتون وقت بزاره و اینا
ساده ترینش AVR هست که به دلیل داشتن منابع آموزشی بیشتر نسبت به میکروکنترلر های دیگه و راحت بودنش بیشتر توصیه میشه
و الا میکروکنترلر های دیگه هم هست که میشه یادشون گرفت اما احتمال اینکه زده بشید یه مقدار بالاتر میره اونا رو توصیه میکنم بعد از AVR یاد بگیرید که وارد تر شدید
ARM هم برای استارت کار ابدا توصیه نمیشه مگه اینکه حوصلشو داشته باشین و مصمم باشین(همین حرف درباره میکروکنترلر های دیگه هم صدق میکنه اما نه به این شدت)
11-اینجا هم آموزش میدید
بله حتما اگه بخواید
فعلا AVR و XMEGA رو در خدمتم
سوالی چیزی بود بپرسین اما در مورد مثلا کارکرد این قسمت یا اون قسمت یه میکروکنترلر خاص نباشه و سعی کنید به همین سبک باشه بی زحمت
اینا سوالاتی هست که ممکنه یه علاقمند به الکترونیک که از قافله عقب مونده بپرسه!
منم اینجام تا این مسأله عقب موندگی رو حل کنم (یه وقت فکر نکنین مشکل ذهنی دارین و اینا ... ^#^ مشکل از اطلاع رسانیه )
1-میکروکنترلر چیه؟
یه تراشه هست که عملا مثل یه کامپیوتر کوچیک عمل میکنه!میشه براش برنامه نوشت و اینا به هر زبانی!(همون C و خانوادش و BASIC و اسمبلی) پردازنده داره رم داره حافظه داره با یه سری چیز دیگه توی یک تراشه
2-با چی اینا رو برنامه نویسی میکنند؟
هر دسته از میکروکنترلر ها با یه کامپایلر(همون برنامه ای که توش برنامه نویسی میکنن) میشه براشون برنامه نوشت
3-چطور اینا رو برنامه ریزی میکنند؟چجوری به کامپیوتر وصلش میکنند؟
میکروکنترلر های تو بازار معمولا با یه مدار رابط به پورت های کامپیوتر مثل USB و RS-232(همون پورت 9 پین پشت کامپیوتر که به پورت مودم و سریال معروفه) و پورت پرینتر(یا همون پروت موازی , Parallel همون پورت 15 پین پشت کامپیوتر) و ... وصل میشند و از یه طرف دیگه هم به یه سری از پایه های میکروکنترلر متصل شده و با یه برنامه مخصوص مدار واسط یا مستقیما از طریق کامپایلر میشه میکروکنترلر رو برنامه ریزی کرد
4-برنامه نویسی اینا چجوریاست؟
برنامه نویسیش فرقی نداره
در حیطه اسمبلی که خوب یه سری دستور مخصوص به خودش رو داره مثل هر پردازنده دیگه ای
در مورد C هم مثل کامپیوتره منتها هدر ها فرق میکنند و تا اون جایی مثل کامپیوتر هست که پردازش داخل خود میکروکنترلر انجام بشه اما اگه بخواد با دنیای خارجش تبادل اطلاعات کنه یه مقدار قضیه فرق میکنه
میکروکنترلر علاوه بر پردازنده و رم و حافظه که عملا یه کامپیوتر سر همه ولی یه سری خرت و پرت دیگه هم همراهش هست که میتونه اونو با دنیای خارجش ارتباط بده
در مورد Basic هم مثل C هست فقط یه چند تا دستورش فرق میکنه و اینا کلیتش همونه
5-اون خرت و پرت ها رو چجوری کنترل میکنند؟اصلا اونا چیند؟
حتما تا حالا پشت کیس رو نگاه کردید و دیدید یه سری محل داره بهش سیم وصل میکنند تا با دستگاه های مختلف ارتباط برقرار کنه
میکروکنترلر هم از طریق پایه هاش این کار رو انجام میده اون خرت و پرت ها شامل یه سری واحد های ارتباطی هستند که مثلا یکیشون که USART هست میتونه با یه تراشه رابط به پورت سریال کامپیوتر متصل بشه و با کامپیوتر ارتباط بر قرار کنه
بعضی ها هم USB دارند و بعضی دیگه هم اترنت!
کنترلشون هم اینطوریه که یه سری خونه از رم مستقیما به این واحد های ارتباطی وصل میشه و با تغییر مقدار اون خونه کارکرد اون واحد هم عوض میشه که اینا رو تو برگه اطلاعاتی یا دیتاشیت که شرکت سازنده میکروکنترلر میده ارتباط بین مقادیر و کارکرد بخش های مختلف میکروکنترلر رو توضیح میده
6-خوب وقتی اینا هستند دیگه چرا از اینا به جای کامپیوتر استفاده نمیشه؟
خوب میکروکنترلر ها یه نسخه ضعیف از کامپیوتر هستند و نمیتونند توی پردازش سنگین جواب بدند
برای اینکه تفاوت ها رو درک کنید مثلا فرکانس کلاک میکروکنترلر ها بین 1 تا 100 مگا هرتز هست و کامپیوتر بالای چند گیگا هرتز!
حافظه برنامه میکروکنترلر ها در حد کیلو بایت هست اما کامپیوتر در حد ترا رمش هم همینطور در حد کیلو بایت هست و کامپیوتر در حد گیگ!
7-با این پردازش کم چی کار میشه کرد پس به چه درد میخوره؟
وقتی که نیاز داشته باشید یه چیزی به صورت خودکار عمل کنه حتما اولین چیزی که به ذهنتون میاد اینه که ای کاش یه کامپیوتر برای این کار در نظر میگرفتیم!
در اکثر این موارد میکروکنترلر دستتون رو میگیره چون تو اکثر کارها نیازی به اون توان پردازشی بالا نیست
در حد شمارش یه زمان و قطع و وصل کردن یه کلیدی چیزی هست
در موارد خفن تر هم میشه یه نمایشگر براش گذاشت و با چند تا سنسور اطلاعات محیط رو سنجید و بر اساس اونا اقدامی انجام داد
8-قیمتش چقدر تموم میشه برامون؟
با توجه به وضعیت تحریم ها که خیلی رو الکترونیک تاثیر میزاره مثلا قیمت یه میکروکنترلر AVR که 40 پایه هم هست و کار رو راه میندازه حدود 6 هزار تومان هست
مداری هم که پروگرام میکنه رو میتونید خودتون بسازید
آمادش هم مثلا USB دارش از 20 هزار تومان هست به بالا
برد بورد و یه آداپتور کوچیک و چند تا LED و دکمه و سیم هم میشه 20 هزار تومان
ولی در کل اگه میخواید از الکترونیک لذت ببرید به اصطلاح باید از نون شبتون بزنید!!!(یعنی همون عیدی و اینا)
9-از کجا میشه یادش گرفت؟
از طریق آموزشگاه ترجیحا اونایی که رباتیک درس میدند نرید برید جاهایی که مثلا چیز های خفن یاد میدند در کل آموزشگاهش بچه بازی نباشه و دانشجو ها بیان اونجا برای یادگیری که خوب طبیعتا سخته یکم ولی اینطوری بیشتر یاد میگیرید(یعنی بیشتر یاد میدند!)
خودآموزی هم میشه به وسیله نت و کتاب با توجه به افزایش منابع آموزشی و اینا بهتر جواب میده و کلا نت بهتر هستش(هزینش کمتره میشه از آدم های وارد سوال پرسید و اینا)
10-کدوم دسته از میکروکنترلر ها؟
اگه کسی نیست براتون وقت بزاره و اینا
ساده ترینش AVR هست که به دلیل داشتن منابع آموزشی بیشتر نسبت به میکروکنترلر های دیگه و راحت بودنش بیشتر توصیه میشه
و الا میکروکنترلر های دیگه هم هست که میشه یادشون گرفت اما احتمال اینکه زده بشید یه مقدار بالاتر میره اونا رو توصیه میکنم بعد از AVR یاد بگیرید که وارد تر شدید
ARM هم برای استارت کار ابدا توصیه نمیشه مگه اینکه حوصلشو داشته باشین و مصمم باشین(همین حرف درباره میکروکنترلر های دیگه هم صدق میکنه اما نه به این شدت)
11-اینجا هم آموزش میدید
بله حتما اگه بخواید
فعلا AVR و XMEGA رو در خدمتم
سوالی چیزی بود بپرسین اما در مورد مثلا کارکرد این قسمت یا اون قسمت یه میکروکنترلر خاص نباشه و سعی کنید به همین سبک باشه بی زحمت