تعمیرات تخصصی موبایل
چند روز پیش در حال وب گردی بودم که به ۴ تا pdf آموزش تعمیرات موبایل برخوردم ، چیز جالبی بود هر چند شاید برای دانشجویان الکترونیک اوایلش یکم کسل کننده باشه ولی خوب به جاش تمام واحد هایی رو که تا الان پاس کرده بودم جلو چشام اومد .
این ۴ تا pdf شامل ۴ فصل الکترونیک ، مخابرات ، سخت افزار و نرم افزاره ! ارزش همچین پکی رو میشه از روی قیمت کتاب اصلیش فهمید (۵۰ هزار تومن) فقط بدیش اینه که یکم حجمش سنگینه ( کلا رو هم ۱۵۰ مگابایته )
لینک های دانلود مستقیم
http://dl.parsi-soft.net/Programs/Persian/87/tamire_mobile_porteghal/ba_tame_porteghal.part1.rar
http://dl.parsi-soft.net/Programs/Pe...ghal.part2.rar
لینک های غیر مستقیم:
http://rapidshare.com/files/15107629...ghal.part1.rar
http://rapidshare.com/files/15107683...ghal.part2.rar
نحوه ی بدست آوردن مقدار مقاومتها از روی کد رنگی
نوار رنگی سوم تعداد صفر هایی را که باید جلوی دو رقم قبلی گذاشته شود را مشخص میکند.
مثال : اگر نوارهای رنگی روی یک مقاومت از سمت چپ به ترتیب : نارنجی – قرمز –آبـــــی باشد. مقدار مقاومت چقدر است؟
ج: با توجه به جدول رنگهای یاد شده به ترتیب اعداد 3 – 2 و ۶ را نمایش میدهند پس:
مقدار مقاومت 32000۰۰۰ اهم میباشد.
تلرانس ( ضریب خطا): رنگ چهارم بیان کننده حدود خطای یک مقاومت است به عنوان مثال اگر این نوار به رنگ طلایی باشد حدود خطای مقاومت 5 درصد و اگر هیچ رنگی در نوار چهارم نباشدیعنی بیرنگ باشد خطای آن 20 درصد و اگر نقره ای باشد مقدار خطای آن 10 درصد خواهد بود. جدول زیر رنگها و رقم ها را نشان میدهد.
جدول رنگها و رقم ها
| تلرانس | رقم | رنگ |
|---|---|---|
| ----- | 0 | سیاه |
| ----- | 1 | قهوه ای |
| ----- | 2 | قرمز |
| ----- | 3 | نارنجی |
| ----- | 4 | زرد |
| ----- | 5 | سبز |
| ----- | 6 | آبی |
| ----- | 7 | بنفش |
| ----- | 8 | خاکستری |
| ----- | 9 | سفید |
| 5% | ---- | طلایی |
| 10% | ---- | نقره ای |
| 20% | --- | بی رنگ |
به خاطر سپردن کدها و رنگها
برای اینکه بتوان رنگها و رقم ها سریعتر به خاطر سپرد می توان برای آن یک رمز گذاشت. بهتر است بیت زیر را حفظ کنید.
ساقی قدحی قرار نه زیر سبو/آبی بفشان خانهی سنبل به نکو
در این شعر (س) ساقی حرف اول رنگ سیاه , (ق) قدحی حرف اول قهوه ای , حرف اول قرار یعنی قرمز, حرف اول (نه) یعنی نارنجی , حرف اول (زیر) یعنی زرد , حرف اول ( آبی ) یعنی آبی , حرف اول ( بفشان ) یعنی بنفش , حرف اول ( خانه) یعنی خاکستری و حرف اول سنبل یعنی سفید.
در کشورهای انگلیسی زبان از اول کلمات جملات زیر برای به خاطر سپردن شماره رنگها استفاده شده است.
Bad boys rape our young girls behind victory garden walls
Bad boys rape our young girls, but Violet gives willingly
Big boys race our young girls, but Violet generally wins
که با توجه به معنای آن غالبا این جملات به عنوان جملاتی نا مناسب در محیطهای دانشگاهی دیده می شود.
آموزش proteus
موزش پروتئوس
آموزش تحليل مدارات الكترونيكي با نرم افزار Proteus
آموزش مقدماتي نرم افزار پروتئوس
باز اگه سوالی داشتین من در خدمتم !
تست مدار 2
دانلود (لینک مستقیم) - با حجم ۳۹۰ کیلو بایت
ترانسفورماتور
تعریف ترانسفورماتور:
ترانسفورماتوردستگاهی است که می تواند از طریق عمل یک میدان مغناطیسی، انرژی الکتریکیac را ازسطحی به سطح دیگرتبدیل کند. این دستگاه از دو یا چند هسته فردمانیتیک سیم پیچی شده، تشکیل یافته است. این سیم پیچیها، معمولا مستقیما بهم متصل نیستند. تنها ارتباط بین آنها، همان شارمغناطیسی موجود درهسته می باشد.یکی از این سیم پیچیهای ترانس به یک منبع نیروی الکتریکی ac وصل بوده و دومین سیم پیچ، نیروی الکتریکی لازم را برای بار فراهم می کند.سیم پیچ متصل به منبع الکتریکی راسیم پیچ اولیه یاسیم پیچ ورودی (winding input ) وسیم پیچ متصل به بار الکتریکی را سیم پیچ ثانویه یا سیم پیچ خروجی(output winding ) می نامند. اگر سیم پیچ سومی نیزدرترانسفورماتور وجودداشته باشد به آن سیم پیچ ثالث می گویند .
چراترانسفورماتورهادرزندگی مدرن اهمیت دارند:
اولین سیستم توزیع نیرو درایالات متحده، ۱۲۰ ولتdc بود که توسط توماس ادیسون برای روشن کردن لامپ های نئون اختراع شد. اولین نیروگاه برق مرکزی ادیسون درسال ۱۸۸۲درنیویورک،شروع به کارکرد. متاسفانه، سیستم نیروگاه ادیسون، برق را با چنان ولتاژ پایینی تولید و ارسال می کرد که برای ایجاد مقدار قابل توجهی از نیرو به جریانهای فشار قوی نیاز بود. این جریانهای بالاباعث افت بسیار زیاد و لتاژ و اتلاف نیرو در خطوط انتقال شده و منطقه تحت پوشش نیروگاه را بسیار محدود می کرد. درسال های ۱۸۸۰ جهت رفع این مشکل، در هرگوشه شهریک نیروگاه مرکزی احداث شد.این واقعیت که فرستادن نیروی برق با ولتاژضعیف سیستم dc نمی توانست به مناطق دورانجام گیرد،موجب احداث نیروگاه های کوچک محلی شد که در آخر بی کفایتی آنها را بدنبال داشت. اختراع ترانسفورماتورهمزمان با توسعه منابع نیروی ac محدودیت های موجود را در برد مسافت ومیزان توان نیروگاه ها برق را برای همیشه از میان برد. یک ترانسفورماتوربه طرز ایده الی، بدون اینکه اثرسوئی برروی اصل نیرو بگذارد، ولتاژ acرا ازسطحی به سطح دیگر تغییرداد.
اگریک ترانسفورماتور، سطح ولتاژ یک مدار را بالا ببرد آنگاه باید از مقدار جریانش بکاهد تا توان داخل دستگاه برابر با توان خارجش
باشد. بنابراین می توان با ایجادیک نیروی الیکتریکی ac درمرکزو با بالابردن ولتاژش، آنرا با اتلاف بسیارکمی به مناطق دورترانتقال داده ومجددا برای مصرف درمکان موردنظر، ولتاژرا پایین آورد.ازآنجائیکه اتلاف درخطوط انتقال نیرو با مجذورجریان دراین خطوط نسبت مستقیم دارد، ترانسفورماتوربرحسب ضریبی از ۱۰موجب افزایش و کاهش جریان انتقالی حاصله شده که این امراتلاف نیرورا برحسب ضریبی از ۱۰۰ کاهش می دهد. بدون ترانسفورماتور،استفاده ازنیروی الیکتریکی بطریق امروزه، بهیچ وجه میسر نبود. دریک نیروگاه مدرن الیکتریکی با ولتاژ ۱۲الی۲۰ کیلووات تولید می شود تقلیل می دهند تابصورت برق ۱۲۰ درمنازل اداره ها وکارخانجات مورد استفاده قرار گیرد.
موازی کردن ترانسفورماتورها:
ازمهمترین عوامل ترانس ها چگونگی موازی کردن آنهاست به علت تولید، انتقال وتوزیع قدرت به صورت۳ فاز(یاتکفاز)ازترانسفورماتور های موازی شده استفاده می شود.
شرایط ضروری برای موازی کردن ترانسفورماتورهای ۳ فاز جهت کسب نتیجه مطلوب به صورت زیرمی باشد:
۱)نسبت تبدیل ولتاژهای خط ترانس هابایدیکسان باشد.
۲)ترانسفورماتوربایستی امپدانسهای پراکندگی(pu)برابرداشته باشند.
۳)نسبت راکتانس های نشتی معادل به مقاومت های معادل برای
تمام ترانسفورماتورها یکسان باشد.
۴)بایدترانسفورماتورها پلاریته یکسان داشته باشنداین شرایط برای
موازی کردن ترانسفورماتورهای تک فازو ۳فازمی باشد.اضافه برچهار شرط دو شرط اساسی دیگر برای موازی کردن ترانس های ۳ فاز باید برقرار باشد که عبارتنداز:
۵)اختلاف فاز برابر
۶) توالی فازها
عیوب هارمونیک هادرترانسفورماتورها:
۱- الف)هارمونیک های جریان
۱-۱)اثربرتلفات اهمی
۱-۲)تداخل الکترومغناطیسی بامدارهای مخابراتی
۱-۳)تاثیر بر روی تلفات هسته
۲-ب)هارمونیک های ولتاژ
۲-۱)تنش ولتاژروی عایق
۲-۲)تداخل الکترواستاتیکی درمدارهای مخابراتی
۲-۳)ولتاژهای تشریه بزرگ
ترانسفورماتورهای توزیع:
ترانسها دارای دودسته می باشند:
۱)ترانسفورماتورهای قدرت
۲)ترانسفورماتورهای توزیع (فشارضعیف) مثلا ترانسفورماتور
۴۰۰v /200kvیک ترانس توزیع است درترانسفورماتورهای توزیع حتما برای مصارف خانگی باید دارای سیم چهارم باشیم البته این ترانسها را طوری برای توزیع قرارمی دهندکه باربه طورنسبتامتعادل بروی آنهاپخش گرددتاعدم تعادل بارازبین رفته وبه وسایل برقی در منازل و ادارات و… آسیبی وارد نگردد، زیرا در این صورت برآیند جریانهای ۳فازصفرنخواهدبود.
پلاک ترانسفورماتورها:
این پلاک شامل اطلاعاتی ازقبیل ولتاژ اسمی،کیلوولت آمپر اسمی،
فرکانس اسمی وامپدانس سری(pu)است.درضمن ولتاژاسمی مربوط
به هرانشعاب ونقشه سیم کشی ترانسفورماتورموردنظر بر روی پلاک ثبت شده است.قاعدتا پلاک شامل علامت مشخصه نوع ترانسفورماتور ودستورالعمل راه اندازی آن می باشد.
مشکل هجوم جریان: The problem of current inrush مشکلی که مربوط به سطح ولتاژ در ترانسفورماتور می شود، هجوم جریان در موقع راه اندازی (استارت) است. فرض کنیم که ولتاژ
V(t)¬= Umsin(ωt+θ) ولت در لحظه ای که ترانسفورماتور برای اولین بار به خط انرژی وصل می شود.به آن تحویل گردد.قوی بودن شارحداکثری که به اولین نیم دور(نیم سیکل) ولتاژتحویلی برسد، بستگی به فاز ولتاژ در زمان تحویل دارد. اگر ولتاژاولیه
V(t)¬= Umsin(ωt+90)=Umcos ωt ولت باشد و اگر شار اولیه درون هسته صفرباشد،آنگاه شارحداکثرطی ولت باشد نیم سیکل اول بایددرست مساوی حداکثرشارثابت (درحالت پایدار) باشدیعنی:
ωNP/VM=φ MAX
این سطح شاردقیقاهمان شارثابت است،بنابراین مشکل بخوصی را به وجود نمی آورد.ازطرف دیگر اگربرحسب اتفاق ولتاژتحویلی برابر باشدبا V(t)¬= Umsinωt ولت آنگاه حداکثرشارطی نیم
سیکل اول برابراست با :
ωNP /2VM=φ MAX
JavaScript چيست؟
JavaScript يک زبان برنامه نويسي است که به وسيله آن ميتوان بين کاربر و سايت ارتباط برقرار نمود . زبان JavaScript به حروف بزرگ و کوچک حساس ميباشد. برخلاف شباهت اسمي موجود برنامه Java و JavaScript، هيچگونه شباهتي بين اين دو برنامه وجود ندارد. Java يک زبان برنامه نويسي بسيار کامل پيشرفته اي است که توسط شرکت sun microsystem تهيه شده و جاوا اسکریپت توسط شرکت netscape.( اساس Java در برنامه هاي client-side براي ايجاد appletها ميباشد، اين برنامه هاي کوچک توسط شبکه اينترنت دريافت شده و درون خود browserها اجرا ميشوند بطوريکه بعلت وجود قابليت همه گير Java، اين برنامه در تمامي browserهايي که قابليت اجراي Java را دارند، کار ميکنند). زبان JavaScript يک زبان برنامه نويسي "شي گرا" ميباشد. از آنجا که JavaScript يک متن ساده ميباشد، در نتيجه ميتوان از هر ويرايشگر متن کمک گرفت، در سيستم ويندوز اغلب کاربران از برنامه notepad استفاده ميکنند.امروزه کدهاي جاوا در صفحات وب براي زيبا نمايي يا افزايش پويايي صفحات کاربرد زيادي دارد.
شروع کار با ASP
يك فايل ASP مى تواند حاوى متون، Tagهاى HTML و اسكريپت ها باشد. اسكريپت ها در يك فايل ASP بر روى سرور اجرا مى شوند.
به عنوان پيش نياز چه چيزى را بايد بدانيد؟
قبل از شروع، بايد با مسائل زير را تا حدودى آشنا باشيد
- WWW و HTML و مسائل اوليه ساخت صفحات Web
- يك زبان اسكريپت نويسى همچون JavaScript يا VBScript
ASP چيست؟
- ASP حروف اختصارى Active Server Pages است.
- ASP برنامه اى است كه درون IIS اجرا مى شود.
- IIS حروف اختصارى Internet Information Services است.
- IIS به عنوان يك مولفه رايگان با ويندوز 2000 عرضه مى شود.
- IIS همچنين به عنوان جزئى از Windows NT 4.0 Option Pack است.
- Option Pack مى تواند از سايت مايكروسافت داون لود شود.
- PWS نسخه كوچكتر - ولى كاملا عمل كننده - از IIS است.
- PWS را مى توانيد در سى دى ويندوز 95 يا 98 خود پيدا كنيد.
سازگارى ASP
- ASP تكنولوژى مايكروسافت است.
- براى اجراى IIS بايد ويندوز NT نسخه 4.0 يا بالاتر را داشته باشيد.
- براى اجراى PWS بايد ويندوز 95 يا بالاتر را داشته باشيد.
- ChiliASP تكنولوژى است كه ASP را بدون نياز سيستم عامل ويندوز اجرا مى كند.
- InstantASP تكنولوژى ديگرى است كه ASP را بدون نياز به سيستم عامل ويندوز اجرا مى كند.
يك فايل ASP چيست؟
- يك فايل ASP تقريبا شبيه به يك فايل HTML است.
- يك فايل ASP مى تواند حاوى متن، XML، HTML، و اسكريپت باشد.
- اسكريپت هاى درون يك فايل ASP بر روى Server اجرا مى شود.
- يك فايل ASP پسوند "asp." دارد.
فرق ASP با HTML چيست؟
- وقتى كه Browser (كاوشگر اينترنت) درخواست يك فايل HTML را بكند، Server آن فايل را بر مى گرداند.
- وقتى كه Browser درخواست يك فايل ASP را بكند، IIS درخواست مربوطه را به موتور (هستهاى كه وظيفه اصلى را بازى مى كند) ASP ارجاع مى دهد. موتور ASP فايل ASP را خط به خط مى خواند، و اسكريپت هاى درون فايل را اجرا مى كند. در نهايت فايل ASP به عنوان يك فايل HTML ساده به Browser برگردانده مى شود.
ASP چه كارى مى تواند براى شما انجام دهد؟
- به طور ديناميكى محتويات يك Web page را ويرايش يا اضافه كند.
- به درخواست هاى كاربر كه از فرم هاى HTML ارسال شده اند پاسخ دهد.
- به هر گونه اطلاعات با بانك اطلاعاتى دسترسى پيدا كرده و نتايج را به Browser برگرداند.
- سفارشى نمودن (Customize) يك Web page تا براى كاربران مختلف مفيدتر باشد.
- مزاياى استفاده از ASP به جاى CGI و Perl سرعت و سادگى است.
- فراهم كردن امنيت بيشتر به گونه اى كه كد ASP شما از طريق Browser قابل مشاهده نيست.
- از آن جايى كه فايلهاى ASP به شكل HTML برگردانده مى شوند، ميتوانند بوسيله هر Browserى مشاهده گردند.
- برنامه نويسى درست ASP مى تواند ترافيك شبكه را به حداقل برساند.
جاوا را بشناسیم
چرا جاوا زباني جالب است ؟
در يكي از مقالات در باره ي زبان شركتSun جاوا را با اين خصوصيات شرح مي دهد :
جاوا يك زبان ساده ، شي گرا ،توزيع شده ، تفسير شده ، قدرتمند ، ايمن ، با معماري خنثي ، قابل حمل ، با عملكرد سطح بالا چند نخ كشي شده و پويا است .
Sun تصديق ميكند كه به طور قطع اين كلمات رشته هايي از واژه هاي متداول در زبان برنامه نويسي هستند ، اما حقيقت اين است كه اين واژه ها به طور ماهرانه اي خصوصيات اين زبان را شرح ميدهند .
حال به برخي از خصلت هاي جاوا در پشت اين واژه ها ميپردازيم .
شي گرا :Object Oriented
جاوا يك زبان برنامه نويسي شي گرا است . براي يك برنامه نويس اين به اين معنا است كه به جاي فكر كردن به قسمت هاي رويه برنامه ، بايد به كاربرد داده ها و روش هايي كه روي آن داده ها عمل ميكنند ، توجه شود.
اگر شما به برنامه نويسي با اعلان رويه در C عادت كرده ايد ،ممكن است دريابيد كه به هنگام استفاده از جاوا مجبور به تغيير در روش و چگونگي برنامه تان هستيد . هنگامي كه فهميديد اين الگوي جديد چقدر قدرتمند است ، به سرعت با آن هماهنگ ميشويد .
در يك سيستم شي گرا ، يك كلاس مجموعه اي از داده ها و روش هايي است كه روي آن داده عمل ميكنند. همراه بودن داده ها و متد ها رفتار و حالت يك شي را بيان مي دارد . كلاس ها به صورت سلسله مراتبي مرتب شده اند ، بنابر اين يك زير كلاس ميتواند رفتار هايي را از كلاس بالاتر به ارث ببرد . يك كلاس سلسله مراتبي هميشه يك كلاس ريشه دارد كه كلاسي است با رفتار هاي كاملا عمومي .
جاوا به همراه دسته ي گسترده اي از كلاس هايي است كه در بسته هايي مرتب شده اند و شما مي توانيد از آنها در برنامه ي خود استفاده كنيد . براي مثال جاوا كلاس هايي را ايجاد ميكند كه :
بخش هاي رابط گرافيكي را ميسازند (the java.awt package) ،كلاس هايي كه عمليات ورودي و خروجي را به عهده دارند(the java.io package) و كلاس هايي كه از شبكه پشتيباني ميكنند (the java.net package ) .
يك شي كلاس(in the java.lang package) به عنوان ريشه كلاس سلسله مراتبي جاوا انجام وظيفه ميكند .
جاوا بر خلاف C++ طوري طراحي شده است كه از همان ابتدا به صورت شي گرا باشد . اكثر چيز ها در جاوا اشيا هستند . ارقام ابتدايي ، كاراكترها و مدل هاي منطقي تنها استثناء ها هستند . حتي رشته ها هم در جاوا به وسيله اشيا حاضر ميشوند ،همان طور كه ساختمان هاي مهم ديگر اين زبان ، مثل نخ ها احضار ميشوند . يك كلاس يك واحد پايه براي كامپايل و اجرا شدن در جاوا است . تمام برنامه هاي جاوا متشكل از كلاس ها است .
درست است كه جاوا طوري طراحي شده است كه مثل C++ باشد و خاصيت هاي آن را داشته باشد ، اما هنگامي كه با آن كار كنيد خواهيد فهميد كه بسياري از پيچيده گي هاي آن زبان را از بين برده است .
اگر شما يك برنامه نويس C++ هستيد حتما لازم است كه ساختار هاي شي گرايي در جاوا را به دقت مطالعه كنيد . اگرچه تركيب و نحوه دستورات آن تقريبا شبيه C++ است ،اما رفتار هاي آن خيلي مشابه نيست .
تفسير شده :Interpreted
جاوا يك زبان تفسير شده است . كامپايلر جاوا به جاي ايجاد كد محلي ماشين ، كد بايتي براي ماشين مجازي جاوا ايجاد ميكند . براي اجراي دقيق برنامه ، از مفسر جاوا براي اجراي كد هاي بايتي كامپايل شده استفاده ميشود . به دليل اينكه كد هاي بايتي جاوا به نوع كامپيوتر بستگي ندارند ، برنامه هاي جاوا ميتوانند روي هر نوع كامپيوتري كه JVM (Java Virtual Machine) را دارند ، اجرا شوند .
در محيط تفسير شده ، مرحله لينك استاندارد توسعه برنامه از ديد كاربر پنهان است . اگر جاوا تنها يك مرحله لينك داشت ، فقط بارگذاري كلاس جديد به محيط پردازش ميشد كه يك پردازش نموي سبك وزن است كه در زمان اجرا مشاهده ميشود . كه اين خصوصيت با چرخه كامپايل-لينك-اجرا ي آرام و طاقت فرساي زبان هايي مانند C يا C++ در تضاد است .
معماري خنثي و قابل حمل :
Architecture Neutral and Portable
به دليل اينكه برنامه هاي جاوا در فرمت كد بايتي با معماري خنثي كامپايل شده اند ، برنامه كاربردي جاوا ميتواند در هر سيستمي اجرا شود.
البته با اين شرط كه آن سيستم توانايي پياده سازي ماشين مجازي جاوا را داشته باشد . اين مسئله تقريبا براي كاربرد هاي توزيع سده روي اينترنت و يا ديگر شبكه هاي ناهمگن مهم است . اما روش معماري خنثي براي كاربرد هاي بر مبناي شبكه مفيد است .
به عنوان يك توسعه دهنده برنامه هاي كاربردي در بازار نرم افزاري امروز ممكن است بخواهيد مدل هاي كاربردي خود را توسعه دهيد ، به طوري كه بتواند روي Pc ، مكينتاش و سيستم عامل Unix اجرا شود .با وجود گونه هاي مختلف Unix ، Windows روي Pc و مكينتاش قوي جديد ، رفته رفته توليد نرم افزار براي همه انواع اين كامپيوتر ها سخت مي شود . اگر شما برنامه تان را در جاوا بنويسيد ميتواند روي همه ي اين كامپيوترها اجرا شود .
در حقيقت تفسير شده بودن جاوا وتعريف يك استاندارد ، معماري خنثي داشتن و فورمت كد بايتي آن از بزرگترين دلايل قابل حمل بودن آن به شمار مي آيند .
اما جاوا باز از اين هم بيشتر گام برميدارد ، با اطمينان حاصل كردن از اينكه هيچيك از جنبه هاي وابستگي اجرايي زبان را ندارد . براي مثال جاوا به طور صريح اندازه هريك از انواع داده را تعريف ميكند كه اين با C تفاوت دارد ، برای مثال هريک از انواع صحيح می تواند بسته به نوع کامپيوتر16-32 يا 64 بيت طول داشته باشد .
هنگامی که به صورت تکنيکی امکان نوشتن برنامه های غير قابل حمل در جاوا فراهم شد ، جلوگيری از چند خاصيت وابسته به نوع کامپيوتر که توسط جاوا API توليد شده و به طور قطع قابل حمل نوشته شده است ، آسان است .
يك برنامه جاوا به توليد كنندگان نرم افزار كمك ميكند تا از قابل حمل بودن كد هايشان اطمينان حاصل كنند . برنامه نويسان فقط براي پرهيز از دام غير قابل حمل بودن برنامه احتياج به يك تلاش ساده دارند كه شعار تجارتي شركتSun را زنده نگهدارند و آن شعار اين است :
« يك بار بنويس ، همه جا اجرا كن » .
پويا و توزيع شده :Dynamic and Distributed
جاوا يك زبان پويا است . هر كلاس جاوا ميتواند در هر زماني روي مفسر جاوا بارگذاري شود . سپس اين كلاس هاي بارگذاري شده ي پويا ميتوانند به صورت پويا معرفي شوند . حتي كتابخانه كد هاي محلي ميتواند به طور پويا بارگذاري شود .كلاس ها در جاوا با كلاس Class فراخواني ميشوند ؛ شما ميتوانيد به طور پويا در مورد يك كلاس در زمان اجرا اطلاعاتي بدست بياوريد . اين خصوصيت در جاوا 1-1 به طور درستي موجود است . با وجود بازتاب API اضافه شده (Application Program Interface ) كه به برنامه ساز امكان ميدهد كه با برنامه از طريق يك برنامه كاربردي ديگر ارتباط برقرار كند .
جاوا حتي با نام زبان توزيع شده نيز خوانده ميشود . به طور ساده اين به اين معنا است كه اين زبان پشتيباني سطح بالايي براي شبكه به وجود مي آورد . براي مثال كلاس URL و كلاس هاي مرتبط با آن در بسته ي Java.net ، خواندن فايل هاي دوردست را به همان سادگي خواندن فايل هاي محلي كرده است . به طور مشابه در جاوا 1-1 ، احضار روش كنترلي RMI
(Remote Method Invocation ) ، API به يك برنامه جاوا اجازه ميدهد كه روش هايي از اشياء دور دست جاوا را به همان صورتي كه اگر آن اشياء محلي بدند آنها را ميخواند ، بخواند .( جاوا حتي از سيستم شبكه اي سطح پايين كه شامل آدرس مقصد و مسير جرياني كه توسط سوكت ها متصل شده است ، نيز پشتيباني ميكند .)
طبيعت توزيع شده ي جاوا زمانيكه با امكانات پوياي بارگذاري كلاس همراه ميشود ، واقعا درخشنده است . اين خصوصيات با هم اين امكان را براي مفسر جاوا به وجود مي آورند كه كد ها را از اينترنت بارگذاري و اجرا كند . ( همان طور كه بعدا خواهيم ديد جاوا باعث ميشود كه با وجود ابزار قدرتمند و ايمن اين كار به طور مطمئن انجام شود .) اين چيزي است كه در هنگام بارگذاري و اجراي يك برنامه كاربردي از اينترنت توسط مرورگر وب ، اتفاق مي افتد . اما داستان پيچيده تر از اين هم ميتواند باشد . تصور كنيد يك پردازشگر كلمه چند رسانه اي در جاوا نوشته شده است . وقتي از اين برنامه پرسيده ميشود كه چند نوع از داده هايي را كه قبلا هرگز وارد نشده را نمايش دهد ، ممكن است به طور ديناميكي يك كلاس را كه ميتواند داده را شناسايي كند ، از شبكه بارگذاري كند و بعد كلاس ديگري را كه بتواند داده را از درون يك پوشه تركيبي بخواند ، باز به طور ديناميكي بارگذاري ميكند . برنامه اي مانند اين از منابع توزيع شده در شبكه براي رشد و سازگاري خودكار كاربران استفاده ميكند .
ساده :Simple
جاوا يك زبان ساده است . طراحان جاوا سعي در اين داشتند تا زباني بوجود بياورند كه برنامه نويسان بتوانند به سرعت آن را ياد بگيرند . بنابراين تعداد ساختار هاي اين زبان تقريبا كم است . هدف ديگر طراحي اين زبان اين بود كه به منظور راحتي انتقال آن ، آن را طوري طراحي كنند كه براي عده ي زيادي از برنامه نويسان آشنا باشد . اگر شما يك برنامه نويس C يا C++ هستيد ، خواهيد فهميد كه جاوا از بسياري از ساختار هاي C و C++ استفاده ميكند .
براي اينكه اين زبان را هم به طور ساده و هم آشنا و ملموس و هم كوچك نگه دارند بسياري از خصوصيات C و C++ را در آن حذف كردند . اينها خصوصياتي بودند كه باعث مي شدند برنامه نويسي ضعيفي صورت بگيرد يا آنهايي بودند كه به ندرت در برنامه استفاده مي شدند . براي مثال جاوا از دستور goto استفاده نمي كند ، در عوض از دستورهاي break , continue در مواقع نياز استفاده مي كند .
جاوا از سر فايل ها(header files) استفاده نمي كند و پردازشگر C را هم حذف كرده است . به اين دليل كه جاوا يك زبان شي گرا است ، ساختار هاي C مثل struct , union از آن برداشته شده است . جاوا حتي بارگذاري مجدد و خواص چندگانه ارث بري از C++ را هم حذف كرده است . شايد مهمترين پارامتر ساده بودن جاوا عدم استفاده اين زبان از اشاره گر ها باشد . اشاره گر ها يكي از بيشترين موجوديت هاي دردسرساز در C , C++ هستند . چون جاوا ساختمان ندارد و آرايه ها و رشته ها اشياء آن هستند ، بنابراين احتياجي به اشاره گر نيست .جاوا به طور خودكار آدرس دهي و دستذسي به محتواي موجود در يك آدرس را براي شما انجام ميدهد .
جاوا حتي زباله هاي حافظه اي را هم به طور خودكار جمع آوري ميكند .(Garbage Collectin) (* جمع آوري آشغال فرايندي است براي ترميم خودكار حافظه انباشته شده . بلوك هايي از حافظه كه زماني به فايل ها اختصاص داشتند اما مدتي است كه از آنها استفاده نمي شود و بلوك هايي از حافظه كه هنوز مورد استفاده قرار ميگيرند ممكن است حركت داده شوند تا از به هم پيوستن فضاهاي خالي حافظه بلوك هاي خالي بزرگتري بدست آيد .
[ از كتاب : Microsoft computer dictionary] * ) بنابراين لازم نيست كه نسبت به موضوع مديريت حافظه نگران باشيد ، همه اينها شما را از نگراني در مورد اشاره گر هاي بي ارزش ، خطرناك و هرز هاي حافظه رها ميكنند . بنابر اين شما ميتوانيد وقت خود را صرف بهبود برنامه تان كنيد .
قدرتمند :Robust
جاوا براي نوشتن نرم افزارهاي قدرتمند و بسيار ايمن ساخته شده است . جاوا هنوز هم به طور قطع نرم افزار ها را تضمين نميكند . تقريبا هنوز هم امكان نوشتن برنامه هاي مشكل ساز در جاوا وجود دارد ، هرچند كه جاوا برخي از انواع مشخص خطاهاي برنامه نويسي را حذف كرده كه به طرز چشمگيري نوشتن نرم افزار هاي ايمن را آسان تر كرده است .
جاوا يك زبان تايپ شده قدرتمند است ، كه اجازه چك شدن مشكلات و خطاهاي تايپي را در زمان كامپايل مي دهد . جاوا بسيار قويتر از C++ تايپ شده است كه بسياري از خصوصيات انعطاف پذير در زمان كامپايل را از C به ارث برده است . مخصوصا هنگام اعلان توابع .جاوا به مدل اعلان صريح احتياج دارد ، زيرا كه از مدل اعلان صريح C پشتيباني نميكند . اين مسئله مارا از اينكه كامپايلر ميتواند خطاهاي زمان اعلان را بدست آورد ، مطمئن ميكند . مسئله اي كه منجر به ايجاد برنامه هاي ايمن تري ميشود .
يكي از چيزهايي كه باعث شده كه جاوا ساده باشد عدم وجود اشاره گر ها ومحاسبات بر روي آنها است . اين ويژگي حتي قدرت جاوا را هم با از ميان بردن يك كلاس سراسري اشاره گر افزايش ميدهد .
به طور مشابه تمام دسترسي به آرايه ها و رشته ها در زمان اجرا چك مي شوند تا از قطعي بودن آنها اطمينان حاصل شود .با از بين بردن امكان دوباره نويسي حافظه و داده هاي هرزه ، تعويض نقش اشياء از نوعي به نوع ديگر هم در زمان اجرا كنترل ميشود تا از مجاز بودن آن اطمينان حاصل شود .
سرانجام زباله جمع كن خودكار جاوا بسياري از عمليات پاكسازي مرتبط با معماري حافظه را راه اندازي ميكند . چيزي كه از خطاهاي خطر ساز مرتبط با تخصيص و آزاد سازي حافظه جلوگيري ميكند .
ايمن : Secure
يكي از دلايل پرطرفدار بودن جاوا اين است كه يك زبان ايمن است . اين ويژگي مخصوصا به خاطر طبيعت توزيع شده ي آن بسيار مهم است .بدون وجود امنيت شما قطعا نميخواهيد كه يك كد را از يك سايت تصادفي اينترنت بارگذاري كنيد و به آن اجازه اجرا شدن روي كامپيوتر خودتان را هم بدهيد . اين دقيقا همان چيزي است كه مردم هرروز با يك كد جاوا انجام ميدهند . جاوا به صورت ايمن طراحي شده و چندين لايه كنترل امنيت به وجود مي آورد كه شما را در برابر كد هاي خطرساز محافظت مي كنند و به كاربر اجازه ميدهد كه برنامه هاي ناشناخته را با خيال راحت اجرا كند .
همان طور كه ديديم ، برنامه جاوا نميتواند اشاره گر ها را به حافظه يا آرايه هاي سرريز يا حافظه خواندني خارج از محدوده يك آرايه يا رشته اشاره ، اشاره دهد. اين خصوصيت يكي از اصلي ترين وسايل دفاع جاوا در برابر كدهاي خطرساز است . دومين راه دفاع در برابر كد هاي خطرساز ، پردازش كدهاي بايتي به صورت قابل تصديق و تاييد است كه مفسر جاوا به روي هر كدي كه در حال بار گذاري باشد اعمال ميكند . اين مراحل تاييد از اينكه كد به صورت درستي ساخته شده اطمينان حاصل ميكنند ، كه براي مثال پشته سرريزي يا زيرريزي نداشته باشد ، يا شامل كد هاي بايتي غير مجاز نباشد .
كدهاي بايتي خراب يا خطرساز ممكن است از ضعف هاي اجرايي در مفسر جاوا سوء استفاده كنند . لايه اي كه در اينجا ما را به طور ايمن محافظت ميكند ، مدل جعبه شني (Sand box) است : كدهاي ناشناخته در يك جعبه شني قرار ميگيرند جايي كه ميتوانند به صورت ايمن اجرا شوند ، بدون اينكه هيچ صدمه اي به بقيه اجزاء يا محيط جاوا بزنند .
وقتي يك برنامه كاربردي يا ديگر كدهاي ناشناخته در جعبه شني در حال اجرا است ، چند محدوديت در مورد كاري كه ميتواند انجام دهد ، وجود دارد . واضح ترين اين محدوديت ها اين است كه هيچ دسترسي به هيچ يك از فايل هاي محلي سيستم وجود ندارد . در جعبه شني محدوديت ديگري هم وجود دارد كه به وسيله كلاس مديريت امنيت اعمال ميشود . اين مدل در ابتدا از اينكه سيستم هاي امنيتي را نصب كرده ايد يا نه ، مطمئن ميشود ، چرا كه همه كلاس هاي جاوا نياز به عمليات حساسي مانند دسترسي به سيستم فايل را دارند . اگر فراخواني به وسيله يك كد ناشناخته به صورت مستقيم يا غير مستقيم انجام شد ، مدير امنيت مورد استثناء را مي فرستد و عمليات صورت نمي گيرد .
و سرانجام در جاوا 1-1 يك راه حل ممكن ديگر براي مشكلات امنيتي وجود دارد ، به وسيله ضميمه كردن يك امضاء ديجيتالي به كد جاوا كه اصل آن كد ميتواند به صورت پنهاني و نهفته ساخته شود . اگر شما اعتماد خود را به يك شخص يا يك سازمان مشخص كرده باشيد ، كدي كه امضاء آن هويت مورد اعتماد روي آن قرار دارد ، ايمن و مطمئن است . حتي زمانيكه در حال بارگذاري شدن در شبكه است و ممكن است حتي بدون جلوگيري توسط جعبه شني اجرا شود .
عملكرد سطح بالا :High Performance
جاوا يك زبان تفسير شده است ، بنابر اين هرگز به سرعت زبان كامپايل شده اي مثل C نخواهد بود . گفته ميشود كه جاوا 0-1 به اندازه 20 برابر از C كند تر است . جاوا 1-1 تقريبا سرعتي دو برابر جاوا 1-1 دارد . بنابراين ممكن است عاقلانه باشد اينكه بگوييم كد C كامپايل شده 10 برابر سريع تر از كد هاي تفسير شده ي جاوا اجرا ميشود . اما قبل از اينكه به خاطر اين موضوع مايوس شويد ، آگاه باشيد كه اين سرعت بيشتر از آن چيزي است كه براي برنامه هاي پرسرعت ، كاربردهاي GUI (Graphical User Interface ) ، برنامه هاي برمبناي شبكه ، جايي كه برنامه كاربردي معمولا آماده براي اجرا شدن است ، انتظار براي كاربر كه يك دستوري اعمال كند و يا انتظار براي دريافت از شبكه ، لازم است .
به علاوه قسمت هايي كه به سرعت هاي بالا نياز دارند ، كه كارهايي از قبيل الحاق رشته ها و مقايسه را انجام ميدهند ، با كد محلي جاوا اجرا ميشوند .
علاوه بر اين كارايي ، بسياري از مفسر هاي جاوا اكنون شامل كامپايلر هاي فقط در زمان " just in time " نيز هستند كه ميتواند كدهاي بايتي جاوا را براي هر نوعCPU در زمان اجرا به كد ماشين ترجمه كند . فرمت كد بايتي جاوا با اين كامپايلر هاي در زمان در مركز كافي و مناسب است و انصافا كدهاي خوبي توليد ميكند . در حقيقت Sun ادعا ميكند كه كارايي كد هاي بايتي كه به كد ماشين تبديل شده اند ، تقريبا به خوبي كارآيي آن در C و C++ است .
اگر شما خواهان اين هستيد كه قابل حمل بودن كد ها را قرباني بهبود در سرعت آن كنيد ، ميتوانيد بخش قابل توجهي از برنامه خود را در C و C++ بنويسيد و از روش هاي مخصوص جاوا براي مشترك كردن با اين كد محلي جاوا استفاده كنيد .
چند نخ كشي شده :Multitbreaded
در يك برنامه كاربردي بر مبناي GUI شبكه اي ، مثل مرورگر وب ، تصور اينكه چند چيز بتوانند به طور همزمان اجرا شوند ، آسان است . يك كاربر ميتواند همزمان با اينكه دارد يك صفحه وب را ميخواند به يك كليپ صوتي گوش دهد و همزمان در پس زمينه مرورگر يك عكس را بارگذاري كند .
جاوا يك زبان چندنخ كشي شده است ، كه از چندين رشته اجرايي (گاهي پردازش سبك وزن خوانده ميشود) پشتيباني ميكند و ميتواند چندين كار را انجام دهد . يكي از مزيت هاي چندنخ كشي شده اين است كه عملكرد سطح بالايي براي كاربردهاي گرافيكي براي كاربر فراهم ميكند .
اگر شما سعي كرده ايد كه با نخ ها در C و C++ كار كنيد ، ميدانيد كه كمي مشكل است . جاوا برنامه نويسي با نخ ها را بسيار آسان تر كرده است ، با به وجود آوردن زبان درون ساخته شده اي كه از نخ ها پشتيباني ميكند . بسته jana.lang يك كلاس بوجود آورده است كه از روش هايي براي شروع و پايان يك نخ ، و مرتب كردن ترتيب گره ها در ميان چيز هاي ديگر ، پشتيباني ميكند .
حتي دستورات زبان جاوا از نخ ها پشتيباني ميكنند ، كه با استفاده از كلمات كليدي مطابق شده . اين كلمات كليدي علامت گذاري بخش هاي كد يا تمامي روش هايي را كه بايد فقط با يك نخ در يك زمان اجرا شوند را به شدت آسان كرده است .
به دليل اينكه جاوا استفاده از نخ ها را بسيار ساده ميكند ، كلاس جاوا در شماري از جاها از اين نخ ها استفاده ميكند . براي مثال هر برنامه كاربردي كه انيميشن اجرا ميكند ، از نخ ها استفاده كرده است .
به طور مشابه جاوا از برنامه هاي نا همگام ، ورودي ها و خروجي هاي بلاك نشده با اخطاري به وسيله سيگنال ها يا وقفه ها پشتيباني نميكند ، در اين صورت شما بايد يك نخ بسازيد كه روي هر كانال ورودي خروجي كه با آن كار ميكنيد بلاك شده باشد .
میکروکنترلر
میکروکنترلر چیست :
قطعه ای که این روزها دارد جای خود را در خیلی از وسایل الکترونیکی باز میکند .از تلفن گرفته تا موبایل از ماوس لیزری که الان دستتان روی آن است و دارین باهاش کامپیوتر رو کنترل میکنید تا هر وسیله ای که بتوان پیچیدگی رو در اون دید میتونید یک میکروکنترلر رو ببینید .
کلمه میکروکنترلر:
این کلمه از دو کلمه 1- میکرو 2-کنترلر تشکیل شده
1-میکرو : میدونین که این یک واحد یونانی است و برابر با 10 به توان منفی 6 متر است. یعنی یک ملیونیوم متر واحده خیلی کوچیکیه نه....ولی واحدهای خیلی کوچیکتر از این هم داریم که در الکترونیک مورد استفاده قرار میگیرند در قسمتهای بعدی توضیحیهاتی راجع به این واحد ها و موارد استفاده آنها داده میشه.
2-کنترلر : که همه معنی و مفهومشو میدونین . یعنی کنترل کننده به تعبیری یعنی "مغز " البته بدون تفکر فقط دستوراتی که به اون داده میشه به نحو احسن انجام میده.
حالا چرا این کلمات ؟
به نظر من کلمه میکرو به دو منظور استفاده شده منظور اول و مهم سرعت عمل میکروکنترلر است که میتواند تا یک ملیونیوم ثانیه باشد و دستوارتی که به اون میدیم با این سرعت انجام بده به همین خاطر واژه میکرو رو به اون اختصاص دادن البته معنی دوم آن شاید کوچیکی این قطعه باشد که تا یک ملیونیوم متر کوچیک شده شاید باور کردنی نباشه ولی در یک تراشه ممکنه بیش از یک ملیون تراتزیستور به کار رفته باشه. این کلمه وقتی اهمیتش کامل میشه که با واژه کنترلر عجین بشه تا معنیش کامل بشود .
(البته من این تعاریف رو بر مبنای نظر خودم از میکرو گفتم و خودم اونو تو هیچ جایی ندیدم شاید اصلا این کلمه به خاطر چیز دیگست اگر دوستان میدونن لطف کنن خوشحال میشم)
حالا نحوه انجام دادن کار میکروکنترلر را به صورت کلی بررسی میکنیم :
تا حالا همه شما با ماشین حساب کار کردین تا حالا به نحوه کار کردنش فکر کردین شما اطلاعاتتون را که همون عملیات ریاضی هست به وسیله صفحه کلید به اون میدید بعد ماشین حساب این اطلاعات رو بر مبنای دستوراتی که قبلا به اون داده شده پردازش میکند و جواب را رویlcd نمایش میدهد. در واقع یک میکروکنترلر برنامه ریزی شده به عنوان مغز ماشین حساب این اطلاعات یا داده رو از صفحه کلید میگیره روشون پردازش انجام میده و بعد بر روی lcd نمایش میده.
کار میکروکنترلر دقیقا مشابه این است میکرو کنترلر بر مبنای یک سری ورودی که به اون داده میشه مثلا این ورودی از یک سنسور دما باشه که درجه حرارت رو میگه یا از هر چیز دیگه مثل صفحه کلید بر مبنای این ورودی ها و برنامه ای که قبلا ما به اون دادیم خروجیشو تنظیم میکنه که ممکنه خروجیش یک موتور باشه یا یک lcd یا هر چیز دیگری که با الکتریسیته کار بکند. حالت دیگری هم میتونه باشه که فقط میکروکنترلر بر مبنای برنامه ای که به اون دادیم عمل کند و خروجیش رو فقط بر اساس برنامه بگیرد.
ساختمان دخلی میکروکنترلر:
کامپیوتری که الان بر روی اون دارین کار انجام میدین دارای یک پردازنده مرکزیه به نام cpu که از کنار هم قرار گرفتن چندین ملیون ترانزیستور تشکیل شده و بر روی اطلاعات پرداژش انجام میده . میکرو کنترلر هم عینا دارای یک پردازنده مرکزی به نام cpu است که دقیقا کار cpu کامپیوتر رو انجام میده با این تفاوت که قدرت و سرعت پردازشش از cpu کمتره که به اون میکروپرسسور میگن در بخش بعدی فرق میکرو پرسسور و میکروکنترلر را بررسی میکنیم. میکروکنترلر علاوه بر cpu دارای حافظه است که ما برنامه ای که بهش میدیم در اون قرار بگیره در کنار حافظه در میکروکنترلرهای امروزی تایمرها برای تنظیم زمان کانتر ها برای شمردن کانال های آنالوگ به دیجیتال پورت های برای گرفتن و دادن اطلاعات و امکاناتی دیگر که بعدا مفصل راجع به هر کدام توضیح داده میشه تشکیل شده و همه اینها در یک چیپ قرار گرفته که تنکنولوژی جدید اونو تو یک تراشه به اندازه یک سکه قرار داده.
تفاوت میکروپروسسور و میکروکنترلر:
میکروپرسسور همانطور که گفته شد یک پردازنده است و برای کار باید به آن چیپ های حافظه و چیز های دیگری را به اون اضافه کرد این امکان به درد این میخورد که بر حسب کارمان حافظه مناسب و دیگر قطعات را مانند تایمرها و غیره به صورت بیشتری استفاده کنیم ولی مدار خیلی پیچیده میشود و از لحاظ هزینه هم هزینه بیشتر میشود به همین دلیل امروزه از میکروپرسسورها کمتر استفاده میشود اما این روزها میکرو کنترلر های جدید با حافظه های زیاد تعداد تایمر زیاد پورت های زیاد و تنوع بسیار زیاد انها بر حسب این امکانات دست ما را باز گذاشته است تا دیگر میکروپرسسورها را فراموش کنیم.
آیا میکروکنترلر چیز جدیدی را با خود آورده است ؟
جواب منفی است تمام کارهایی که ما با میکروکنترلر میتوانیم انجام بدهیم با قطعات دیگر هم میتوانیم انجام بدهیم چون ما قبلا هم تایمر داشتیم هم کانتر هم حافظه هم پردازنده و... . در واقع میکروکنترلر قطعه ای است با تمام این امکانات که به صورت یک آی سی آماده شده است و هزینه پیچیدگی و حجم را به نحوه قابل ملاحضه ای کاهش میدهد.
عیب میکروکنترلر:
میکروکنترلر با این همه مزایا که گفتیم دارای یک عیب کوچیک است .و آن سرعت پایین ! است آیا سرعتی معادل یک ملیونیوم ثانیه سرعت کمی است ؟ سرعت کمی نیست ولی یک مثال شاید بحثو بهتر باز کند
یک گیت منطقی رو در نظر بگیرین که با توجه به ورودی خروجیشو تنظیم مکنه سرعت عمل این گیت منطقی 10 به توان منفی 9 ثانیه است یعنی نانو ثانیه ولی اگر ما بخواهیم این گیت رو با میکروکنترلر کار کنیم سرعتی معادل میکرو ثانیه داریم پس از لحاظ سرعت برای کاربردهای خیلی محدودی میکروکنترلر مناسب نیست.
اگر کسی از دوستان عیب دیگری از میکروکنترلر میدونه لطف کنه ممنون میشم.
خب حالا این میکروکنترلر را با این همه کاربرد کی ساخته؟
حدود 4 دهه پیش در سال 1971 میلادی شرکت اینتل اولین میکروکنترلر را ساخت و اولین میکروکنترلر را با نام 8080 در اوایل سال 1980 روانه بازار کرد .همین شرکت اینتلی که الان در ساخت cpu یکه تاز دنیاست .اما بعدا این امتیاز رو به شرکت های دیگری واگذار کرد و شرکت های زیادی در حال حاضر میکروکنترلر های مختلف تولید میکنند
معرفی انواع میکروکنترلر
تمام میکروکنترلرها جزء این 5 قسمت هستنند:
1) 8051
2) Pic
3) Avr
4) 6811
5) Z8
البته مدل های 6811 ساخت شرکت موتورلا و z8 ساخت شرکت زایلوگ حداقل در ایران خیلی کم استفاده می شوند و رقابت اصلی بین سه نوع دیگر است.
تا به امروز هر میکروکنترلری که ساخته شده زیر مجموعه یکی از این5 نوع است. البته کارخانه های خیلی زیادی با مارک های مختلف میکرو کنترلر تولید میکنند ولی همه اونها زیر مجموعه یکی از این 5 قسمت هستنند .شما برای هر کدام از این5 نوع میکروکنترلر میتوانید میکروکنترلر های مختلفی از شرکت های مختلفی را پیدا کنید.(البته در بازار ایرن کمی با مشکل).
اما خوشبختانه همه میکروکنترلر هایی که جزء هر کدام از 5 نوع بالا باشند از یک برنامه پیروی میکنند. بدین معنا که اگر شما کار با یکی از مدل های آن میکرو را یاد گرفته باشید مثل اینکه کار با تمام میکروکنترلرهای آن نوع را یاد گرفته اید.مثلا شما اگر با یکی از مدل های میکروکنترلر avr مثلا atmega8 را یاد گرفته باشید دیگر با صد ها مدل دیگر میکروکنترلر avr مشکلی ندارید وتقریبا بدون هیچ مشکلی میتوانید با دیگر مدل های این میکرو کار کنید.
اما یه مشکل که در میکروکنترلر ها وجود دارد این است که این5 نوع از لحاظ برنامه نویسی به هیچ وجه با هم دیگر سازگاری ندارند . به طور مثال اگر شما میکروکنترلر های avr و 8051 را کامل یاد گرفته باشید حتی ساده ترین برنامه رو روی یک میکروکنترلر pic نمیتوانید اجرا کنید. واین یکی از بزرگترین عیب و مشکل برای یاد گیری میکرو است .بنابراین از همون اول باید یک انتخاب درست داشته باشید و میکروکنترلر مناسب را برگزینید تا با یادگیری آن میکروکنترلر بتوانید بعدا به سادگی پروژه های خود را اجرا کنید . البته بسیاری از دوستان هستنند که کار با چند میکروکنترلر را میدونند و حتما این هم از هوش بالای ایرانی هاست. ولی اگر به صورت خیلی حرفه ای نخواهید وارد این بحث بشوید باید یکی از این میکروکنترلرها را انتخاب کنید و کار با آن را آغاز کنید. در قسمت بعدی شما را برای این انتخاب کمک خواهم کرد.
معایب و مزایای میکروکنترلر های مختلف نسبت به هم
از آن جای که 6811 و z8 خیلی کمتر استفاده میشوند به معرفی سه نوع دیگر میپردازم.
1) : اول از 8051 که اولین میکروکنترلری بود که به دست بشر ساخته شد شروع میکنیم . همانطور که در مقاله قبلی گفته شد ابتدا این میکروکنترلر توسط شرکت بزرگ intel ساخته شد .اما بعدا intel این امکان را به دیگر شرکت ها داد که این میکروکنترلر را تولید کنند و شرکت هایی مانند ATMEL , PHILIPS , SIEMENS , DALLAS و... به تولید این میکروکنترلر پرداختنند یکی از شرکت هایی که به صورت گسترده به تولید این تراشه پرداخت ATMEL بود که مدل های مختلف میکروکنترلر ساخت این شرکت در سرار جهان و در ایران به خوبی یافت می شود. اما اگربخواهیم به صورت کلی سیر پیشرفت این نوع میکروکنترلر رو در نظر بگیریم اولین میکروکنترلر هایی که ساخته شد با جدیدترین میکروکنترلرهای 8051 که الان تولید میشود با توجه به این پیشرفت شگفت در تمام زمینه ها که صنایع دیگر در دنیا دارند پیشرفت زیادی ندارد به طور مثال AT89S5X که میکروکنترلر 8051 جدید ساخت ATMEL است نسبت به مدل های اولیه 8051 پیشرفت آنچنانی ندارد . امکانات این میکرو نسبت به AVR و PIC قابل مقایسه نیست . به صورتی که که همین مدل جدید 8051 تقریبا حافظه ای برابر یک صدم (0.001 ) میکروکنترلر های AVR را دارد و سرعتش 4 برابر کمتر از میکروکنترلر های PIC و 12 بار کمتر از میکروکنترلر های AVR است . از لحاظ امکانات دیگر هم چنین ضعفی احساس میشود. اما برای کارهای ساده تر که پیچیدگی زیادی در آن نباشد به خاطر قیمت بسیار پایینی که این میکروکنترلر دارد بسیار مناسب است . قیمت همین مدل جدید AT89S5X حول و حوش 1000 تومان است که قیمت بسیار مناسبی است.
این میکرو کنترلر از زبان اسمبلی و C پشتیبانی میکند که زبان برنامه نویسی اصلی آن اسمبلی است که واقعا نوشتن با این زبان برنامه نویسی نسبت به زبان های برنامه نویسی دیگر هم مشکل تر و هم طولانی تر است. در کل این میکروکنترلر امروزه دیگر توانای رقابت با AVR و PIC رو ندارد و امروزه رقابت اصلی بین این دو میکروکنترلر است.
2) میکروکنترلر PIC
واقعا میکروکنترلر خیلی قوی است که بر اساس بعضی آمار ها بیشترین کاربر را به خود اختصاص داده است البته متذکر شوم که در ایران این آمار به نفع AVR است. این میکروکنترلر ساخت شرکت میکرو چیپ است که PIC رو در مدل های خیلی زیادی با امکانات مختلف برای کارهای مختلف میسازد . این میکروکنترلر با مدل های مختلفPIC16XXX و PIC12XXXX که به جای X دوم از چپ به راست حروف C ,X,E,F قرار میگره که هر کدام مفهوم خاصی داره که چون بحث ما آموزش AVR است از روی اون سریع میگزریم X های بعدی هم اعدادی هستنند که نشان دهنده مدل های مختلف هستنند.
3)میکروکنترلر AVR
به میکروکنترلر AVR میرسیم که به نظر من و خیلی از دیگر بهترین میکروکنترلر موجود در بازار است البته خود من با 8051 و AVR بخصوص AVR خیلی کار کردم ولی تجربه ای با PIC ندارم و قضاوت من ممکنه یه طرفه باشه ولی این نظر بسیاری از کسانی است که با AVR کار کرده اند .به دلایلی.....
اول از همه سرعت این میکروکنترلر بسیار بالاست و به قولی دستوراتی که بهش داده میشه در یک سیکل کلاک انجام میده در صورتی که این سیکل کلاک برای 8051 باید تقسیم بر12شودو برای PIC باید تقسیم بر 4 بنابراین AVR سریعترین میکروکنترلر موجود در بازار است . AVR از زبان های برنامه نویسی سطح بالا یا به اصطلاح (HIGH LEVEL LANGUAGE) HLL پشتیبانی میکند که باعث تولید کدهای بیشتری میشود که در کل برنامه نوشته شده نسبت به برنامه هایی که برای 8051 و PIC نوشته میشود کوتاهتر است. امکانات جانبی این میکروکنترلر بسیار مناسب است و شما را از خرید بعضی لوازم جانبی مانند چیپ های آنالوگ به دیجیتال (ADC) , مقایسه گر آنالوگ و... راحت میکند .در ضمن AVR از بسیاری از استاندارد های ارتباطی مانند SPI,UART,12C,JTAG پشتیبانی میکند که به راحتی میتوان این میکروکنترلر را با میکروکنترلر دیگر یا و سایل دیگر وصل کرد و با وسایل دیگر به راحتی ارتباط برقرار کند. قیمت این میکروکنترلر هم به نسبت امکانات فراوانی که داره بسیار پایین است به طوری که یک میکروکنترلر AVR تقریبا پیشرفته رو با قیمت حول و حوش 3 تا 4 هزار تومان خرید .
خلاصه من که خیلی با این میکرو ور رفتم و پروژه های خیلی زیاد و پیچیده ای رو باهاش اجرا کردم بسیار راضی هستم و هیچ مشکلی باهاش نداشتم.اگر هم مشکلی بوده از جانب من بوده نه میکروکنترلر . خلاصه اگر برنامه نویسی و کار با این میکروکنترلر رو خوب یاد بگیرید هر کاری رو میتونید باهاش انجام بدید.
پروگرام میکروکنترلر
شاید تا حالا به نظرتون رسیده باشه که این میکروکنترلر رو چگونه میشه برنامه ریزی کرد تا کار مورد نظرمان را انجام بده در صورتی که یک میکروکنترلر برنامه ریزی نشده هیچ کاری رو نمیتونه انجام بده و هیچ کاربردی نداره در واقع برنامه هر میکرو روح وجانی است که در اون دمیده میشه و اون رو زنده میکنه.
برای برنامه ریزی میکروکنترلر نیاز به دستگاه یا بردی هست به نام پروگرامر که یه پل ارتباطیه بین کامپیوتر و میکروکنترلر . پروگرامر را هم میشه از بازار تهیه کرد و هم میشه اون رو ساخت.
البته پروگرامرهای مختلفی در بازار هستنند که متانسب با کاربردشان قیمت های مختلفی دارند بعضی ها فقط چند مدل رو پروگرام میکنند بعضی از پروگرامر ها همه فن حریفند و تمام میکروکنترلر های 8051,
اولین ریز پردازنده ای که با موفقیت عملی به بازار عرضه شد محصول شرکت اینتل در سال 1971 با نام 8080 بود بعد از آن بازار رقابت میکرو پروسسوری گرم شد و شرکت های دیگری همچون RCA ,ZILOG,MOS technology ریز پردازنده های خود را به بازار عرضه کردند.
کم کم با ورود کامپیوتر به صنعت ،وجود تکنولوژی دیگری نیز احساس شد . تکنولوژیی که از میکرو پروسسور جمع و جور تر و کند تر بود اما هزینه را خیلی پایین می آورد .این تکنولوزی میکرو کنترلر نام گرفت و کار آن نظارت و کنترل یک سری اعمال بود که توسط برنامه نویسی انجام می شد.
امروزه میکرو کنترلر حوزه های وسیعی از زندگی مارا اشغال کرده است بی آنکه بدانیم که سیستم به کار رفته در آنها میکرو کنترلری است و به اشتباه همه ی آنها را کامپیوترمی نامیم.برای مثال ماشین لباسشویی که اتمام کار خود را با نواختن آهنگی اعلام میکند یا اجاق گازی که خاموش شدن شعله را با آهنگ گوشزد می کند و یا خودروی سمندی که باز بودن در خودرو را با جمله ی" در ب خودرو باز است."یاد آوری می کند( البته با فرکانس بالاتر از فرکانس صدای من!!!)همگی نمونه های ملموسی از سیستم های میکرو کنترلری هستند که روزانه بار ها با آنها سر و کار داریم.
ملزومات یک سیستم کامپیوتری:
اما واحد های استاندارد یک سیستم کامپیوتری :
1-واحد پردازش مرکزیcup :
همان مغز سیستم است و فعالیت های سیستم را کنترل می کند و عملیات هایی را بر روی داده ها انجام می دهد . Cup مجموعه ای از مدارات منطقی است که به طور متناوب دستورات را واکشی و اجرا می کنند.
Cup خود دارای چند قسمت می باشد:
الف- ALU یا واحد محاسبه و منطق که مسئول انجام اعمال محاسباتی نظیر جمع و تفریق و ... و اعمال منطقی مانند مقایسه And و OR و ... می باشد
ب – واحد کنترل که مسئول رمز گشایی و تعیین نوع عملیاتی است که ALU باید انجام دهد.
ج- ثبات ها جهت ذخیره موقت داده ها قبل از رفتن به ALU و همچنین نگه داری نتایج پردازش به کار میروند.
د – PC یا شمارنده برنامه که آدرس دستورالعمل بعدی که CPU باید از حافظه بخواند را در خود نگه می دارد.
ه- IR یا ثبات دستور العمل که مسئول ذخیره قسمت عملیاتی دستورالعمل فعلی می باشد
بعد از معرفی دیگر واحد ها به تفصیل در مورد واکشی دستور بحث می کنیم.
2. حافظه :
حافظه محل ذخیره اطلاعات است . حافظه ها را بر اساس مشخصه های مختلفی می توان طبقه بندی کرد . معمولترین طبقه بندی ، طبقه بندی بر اساس حافظه های اولیه و ثانویه است .
حافظه های اولیه حافظه هایی هستند که در اختیار سیستم هستند و سیستم برای انجام اعمال پردازشی به آنها احتیاج دارد ROM و RAM از حافظه های اولیه هستند .
ROM (رام) یا حافظه فقط خواندنی توسط کارخانه برنامه نویسی شده و محتویات آن توسط کاربر یا برنامه نویس تغییر نمی یابد. در حقیقت ROM یک بار برنامه نویسی شده و بارها و بارها می توان آن را خواند .محتویات ROM ثابت است و با قطع برق از بین نمی رود.
RAM (رم) حافظه با دستیابی تصادفی است که CPU اطلاعات را در آن ذخیره می کند و محتویات آن توسط برنامه نویس هم می تواند تغییر داده شود محتویات آن با قطع جریان برق هم از بین می رود.
حافظه های ثانویه ، حافظه هایی هستند که ما اطلاعات را بر روی آنها ذخیره می کنیم تا بعدا دوباره آن اطلاعات را مورد استفاده قرار دهیم و با قطع برق هم محتویات آنها از بین نمی رود .در حقیقت حافظه های ثانویه ترکیبی از خصوصیات Rom و Ram هستند . پایداری خود در مقابل قطع برق را از ROM و توانایی تغییر محتویات توسط کاربر را از RAM به ارث برده اند .برای حافظه های ثانویه می توان از HARD DISK و FLOPPY نام برد
3- گذرگاه یا باس:
مجموعه ای از سیم ها که اطلاعات را با یک هدف مشترک حمل می کنند.در معماری کامپیوتر از سه باس می توان نام برد:
الف – باس آدرس :برای هر عمل خواندن یا نوشتن CPU آدرس (موقعیت) داده را با قرار دادن یک آدرس روی باس آدرس به حافظه ارسال می کند.
ب - باس کنترل :با قرار دادن آدرس بر روی باس آدرس یک سیگنال کنترلی بر روی گذرگاه کنترل قرار می گیرد که مشخص می کند که عملیات مورد نظر خواندن است یا نوشتن در حافظه.
ج- گذرگاه داده : برای عملیات خواندن یک بایت داده بر روی گذرگاه داده توسط حافظه قرار داده می شود و برای عمل نوشتن یک بایت داده توسط CPU بر روی گذرگاه داده قرار می گیرد .
علاوه بر سیگنالهای کنترلی READ و WRITE سیگنال کنترلی دیگری هم با نام CLOCK وجود دارد که برای هم زمان کردن واحدها به کار می رود.
4 – واحد های ورودی و خروجی :
این واحد مسئول ارتباط با دنیای خارج است و توانایی اتصال سیستم ها را به کامپیوتر می دهد .
از کامپیوتر با نام ماشین برنامه پذیر نام بردیم . حال ببینیم برنامه چه تعریفی دارد.
برنامه:
به مجموعه ای از دستور العمل ها که ترتیب اجرای مشخصی دارند و دارای نقطه شروع و پایان مشخصی هستند که به منظور انجام عمل خاصی نوشته شده اند یک برنامه می گویند.
از تعریف بالا نتیجه گرفته می شود که واحد ساختمانی برنامه دستور العمل است درست مانند یک ساختمان که به وسیله آجر ساخته می شود برنامه هم با قرار دادن دستور العمل ها پهلوی هم ساخته می شود.
عمل خواندن دستور العمل ها از حافظه توسط CPU را واکشی گویند.دستور العملها پشت سر هم واکشی شده و توسط CPU اجرا می شوند تا زمانی که برنامه اتمام برسد و آن هدفی را که برنامه نویس مد نظرش بوده است انجام شود.
CPU تنها با داده های باینری کار می کند بنابراین هر دستور العمل نوشته شده توسط برنامه نویس باید به مقدار معادل باینری (همان زبان ماشین) آن تبدیل شود و سپس اجرا شود.
یک سیکل واکشی دستور به صورت زیر می باشد:
1- مقدار PC یا شمارنده برنامه بر روی گذرگاه آدرس قرار می گیرد .
2- سیگنال کنترلی READ بر روی گذرگاه کنترل قرار می گیرد
3- داده ( کد عملیاتی دستورالعمل) از حافظه خوانده می شود و روی گذرگاه داده قرار می گیرد
4- کد عملیاتی در ثبات IR قرار می گیرد
5- شمارنده برنامه به ابتدای دستور بعدی اشاره میکند( اغلب گفته می شود که شمارنده برنامه یک واحد افزایش می یابد اما گاهی اوقات 2 واحد و گاهی 3 واحد افزایش پیدا می کند در حقیقت شمارنده برنامه به اندازه طول دستور فعلی افزایش پیدا می کند.)
مرحله ی اجرا شامل کد گشایی و ایجاد سیگنالهای کنترلی لازم برای باز کردن ثات های CPU و قرار دادن محتویات آنها در ALU و مجددا قرار دادن نتیجه عملیات در ثبات ها است.
مقایسه ریز پردازنده و میکرو کنترلر :
ریز پردازنده یک IC است که فقط شامل CPU است اما میکرو کنترلر مدارات اضافی دیگری در داخل همان IC قرار داده شده است که میکرو کنترلر را تبدیل به یک میکرو کامپیوتر کرده است ( البته در مقیاس کمتر) مدارات دیگری همانند ROM,RAM, timer, و رابط سریال و پردازش وقفه و...
اما برای اینکه یک میکروپروسسور به عنوان یک میکرو کامپیوتر عمل کند به مدارات ذکر شده بالا در خارج IC نیازمندیم که این مدارات هم حجم و هم هزینه را به طور نمایی افزایش می دهند .
اما ریز پردازنده و میکرو کنترلر از نظر معماری داخلی به هیچ وجه قابل مقایسه نیستند ریز پردازنده برای انجام اعمال پردازشی بسیار پیچیده در سرعت بالا طراحی شده است و نتیجتا معماری آن بسیار پیچیده تر از معماری میکرو کنترلر خواهد بود .
تفاوت دیگر میکرو کنترلر و میکرو پروسسور در مصرف توان آنهاست .میکرو کنترلر توان بسیار کمتر از توان مصرفی میکرو پوسسور لازم دارد چون مدارات آن نسبت به میکروپروسسور بسیار کمتر است و این یک مزیت برای طراحی مدارات می باشد.
سير تكاملي ميكرو كنترلرها
اولين ميكرو كنترلرها در اواسط دهه 1970 ساخته شدند. اين ميكرو كنترلرها در ابتدا پردازنده هاي ماشين حساب بودند كه داراي حافظه برنامه كوچكي از نوع ROM ، حافظه داده از نوع RAM و تعدادي درگاه ورودي/خروجي بودند.
با توسعه فناوري سيليكون ، ميكرو كنترلرهاي 8 بيتي قويتري ساخته شدند. در اين ميكرو كنترلرها علاوه بر بهينه شدن دستورالعمل ها، تايمر/شمارنده روي تراشه، امكانات وقفه و كنترل بهينه شده خطوط I/O نيز به آنها اضافه شده است. حافظه موجود بر روي تراشه هنوز هم محدود مي باشد و دربسياري موارد كافي نيست.يكي از پيشرفتهاي قابل توجه در آن زمان، قابليت استفاده از حافظة EPROM قابل پاك شدن با اشعه ماورا بنفش، روي تراشه بود. اين قابليت، زمان طراحي و پياده سازي محصول را بطور محسوسي كاهش داد و نيز براي اولين بار امكان استفاده از ميكرو كنترلر ها را در كاربردهايي كه حجم توليد پاييني دارند، فراهم ساخت.
خانواده8051 در اوايل دهه 1980 توسط شركت اينتل معرفي گرديد. از آن زمان تاكنون8051 يكي از
محبوبترين ميكرو كنترلرها بوده و بسياري از شركتها ديگر نيز به توليد آن اقدام كرده اند. در حال حاضر
مدل هاي مختلفي از 8051 وجود دارد كه در بسياري از آنها امكاناتي نظير مبدل آنالوگ به ديجيتال حجم
نسبتاً بزرگ از حافظه برنامه و حافظه داده، مدولاتور عرض پالس (PWM) در خروجيها و حافظه فلش
Flash)) كه امكان پاك كردن و برنامه ريزي مجدد آن توسط سيگنالهاي الكتريكي وجود دارد، تعبيه شده است.
ميكرو كنترلرها اكنون به سمت 16 بيتي شدن در حركت هستند. ميكرو كنترلر هاي 16 بيتي، پردازنده هايي با كارايي بالا (نظير پردازش سيگنالهاي ديجيتال ) مي باشند كه در كنترل فرايندهاي بلادرنگ و در مواردي كه حجم زيادي از عمليات محاسباتي مورد نياز است، به كار برده مي شوند.
بسياري از ميكرو كنترلرهاي 16 بيتي، امكاناتي نظير حجم زياد حافظه برنامه و حافظه داده، مبدل هاي آنالوگ به ديجيتال چند كانالي، تعداد زيادي درگاه I/O، چندين درگاه سريال، عملكردهاي بسيار سريع رياضي و منطقي و مجموعه دستورالعمل هاي بسيار قدرتمند با قابليت پردازش سيگنال را دارا مي باشند.
معماري داخلي ميكرو كنترلرها
ساده ترين معماري ميكرو كنترلر، متشكل از يك ريز پردازنده، حافظه و درگاه ورودي/خروجي است. ريز پردازنده نيز متشكل از واحد پردازش مركزي (CPU) و واحد كنترل (CU) است.
CPU درواقع مغز يك ريز پردازنده است و محلي است كه در آنجا تمام عمليات رياضي و منطقي ،انجام مي شود. واحد كنترل ، عمليات داخلي ريز پردازنده را كنترل مي كند و سيگنال هاي كنترلي را به ساير بخشهاي ريز پردازنده ارسال مي كند تا دستورالعمل ها ي مورد نظر انجام شوند.
حافظه بخش خيلي مهم از يك سيستم ميكرو كامپيوتري است. ما مي توانيم بر اساس به كارگيري حافظه، آن را به دو گروه دسته بندي كنيم: حافظه برنامه و حافظه داده . حافظه برنامه ، تمام كد برنامه را ذخيره مي كند. اين حافظه معمولاً از نوع حافظه فقط خواندني (ROM) مي باشد. انواع ديگري از حافظه ها نظير EPROM و حافظه هاي فلش EEPROM براي كاربردهايي كه حجم توليد پاييني دارند و همچنين هنگام پياده سازي برنامه به كار مي روند . حافظه داده از نوع حافظه خواندن / نوشتن (RAM) مي باشد . در كاربردهاي پيچيده كه به حجم بالايي از حافظه RAM نياز داريم ، امكان اضافه كردن تراشه هاي حافظه بيروني به اغلب ميكرو كنترلر ها وجود دارد.
درگاهها ورودي / خروجي (I/O )به سيگنال هاي ديجيتال بيروني امكان مي دهند كه با ميكرو كنترلر ارتباط پيدا كند. درگاههاي I/O معمولاً به صورت گروههاي 8 بيتي دسته بندي مي شوند و به هر گروه نيز نام خاصي اطلاق مي شود. به عنوان مثال ، ميكروكنترلر 8051 داراي 4 درگاه ورودي / خروجي 8 بيت مي باشد كه P3, P2, P1, P0 ناميده مي شوند. در تعدادي از ميكرو كنترلر ها ، جهت خطوط درگاه I/O قابل برنامه ريزي مي باشد. لذا بيت هاي مختلف يك درگاه را مي توان به صورت ورودي يا خروجي برنامه ريزي نمود. در برخي ديگر از ميكروكنترلرها (از جمله ميكروكنترلرهاي 8051) درگاههاي I/O به صورت دو طرفه مي باشند. هر خط از درگاه I/O اين گونه ميكرو كنترلرها را مي توان به صورت ورودي و يا خروجي مورد استفاده قرار داد . معمولاً ، اين گونه خطوط خروجي ، به همراه مقاومتهاي بالا كش بيروني به كار برده مي شوند.
خانواده 8051
خانواده 8051 يك خانواده ميكرو كامپيوتر (ميكرو كنترلر ) 8 بيتي تك تراشه اي استاندارد است كه بسيار محبوب و عامه پسند مي باشد و توسط سازندگان مختلف با قابليت هاي متفاوت توليد مي گردد. اين آي سي استاندارد اصلي كه اولين عضو اين خانواده مي باشد، 8051 است كه يك ميكرو كنترلر 40 پايه مي باشد.
هم اكنون اين آي سي با پيكربندي هاي مختلف موجود مي باشد. 80C51 نوع cmos و كم مصرف اين خانواده است. 8751 داراي حافظه برنامه از نوع EPROM است كه عمدتاً در هنگام پياده سازي به كار برده مي شود.
89c51 نيز داراي حافظه فلش قابل برنامه ريزي و پاك شدن (PEROM) است لذا بدون نياز به پاك كردن با اشعه ماورابنفش ، مي توان حافظه برنامه را برنامه ريزي كرد.8052 عضو بهينه شده اين خانواده مي باشد و حافظه RAM آن بيشتر بوده و تعداد تايمر/شمارنده آن نيز بيشتر است. انواع مختلفي از خانواده 40 پايه وجود دارد كه داراي مبدل هاي آنالوگ به ديجيتال ، مدولاتورهاي عرض پالس و نظاير آن هستند. در بخش پايين خانواده 8051 ، ميكرو كنترلر هاي 20 پايه قرار دارند كه از لحاظ كد ، سازگاري كاملي با انواع 40 پايه دارند و اين ادوات 20 پايه براي كاربردهايي با پيچيدگي كمتر كه نياز به خطوط I/O كمتري دارند و نيز براي كاربردهايي كه بايد مصرف توان كمتري داشته باشند (مثل سيستم هاي قابل حمل)،ساخته شده اند.
آي سي هاي AT89C2051 و AT89C1051 (ساخت شركت Atmel)چنين ميكرو كنترلرهايي هستند كه از لحاظ كد سازگاري كاملي با خانواده 8051 دارند و مصرف توان آنها نيز كمتر است.
خانواده 8051
8051 يك ميكرو كنترلر 8 بيتي با مصرف كم و قابليت زياد است. تعداد زيادي از اعضاي خانواده 8051 داراي معماري مشابهي هستند و هر يك از اعضا با اعضاي ديگر سازگار مي باشند . قابليت هاي ميكرو كنترلر 8051 استاندارد به شرح زير مي باشد:
· 4 كيلو بايت حافظه برنامه
· 8*256 حافظه داده RAM
· 32 خط I/O قابل برنامه ريزي
· دو عدد تايمر / شمارنده 16 بيتي
· 6 منبع وقفه
· درگاه UART سريال قابل برنامه ريزي
· قابليت اتصال به حافظه بيروني
· بسته بندي 40 پايه استاندارد
GSM
اين استاندارد در حال حاضر توسط بيش از 2 ميليارد نفر در 212 كشور استفاده ميشود كه در نوع خود يك رقم باورنكردني است و باعث ميشود تا كاربران با استفاده از قابليت Roaming يا امكان حضور همزمان در دو نقطهي متفاوت ارتباطي، بتوانند از گوشي همراه خود در هر شهر و كشوري استفاده كنند. اين استاندارد با نمونههاي مشابه قبلي خود تفاوتهايي عمده دارد و از جملهي آنها ميتوان به كيفيت ديجيتالي برقراري مكالمات با تلفن همراه اشاره كرد كه به عبارتي يك سيستم نسل دوم تلفن همراه تلقي ميشود.
اين واقعيت، مويد آن است كه ارتباطات دادهيي به وسيلهي جياسام، براي استفاده در پروژهي مشترك نسل سوم گوشيهاي همراه نيز كاربرد خواهد داشت.
از ديدگاه اكثر مصرف كنندگان و كاربران، مزيت اصلي و عمدهي GSM در افزايش كيفيت برقراري تماسهاي تلفني و همچنين كاهش نرخ مكالمات و نيز سرويسهاي جانبي مثل پيام كوتاه يا SMS است.
همچنين از ديد اپراتورهاي شبكه، مزيت و برتري اين استاندارد، امكان به كارگيري لوازم و تجهيزات جانبي گوشيهاي همراه با ماركهاي مختلف در يك مجموعه است چرا كه طراحي باز اين استاندارد به عملكرد چندوجهي ارتباطي كاربر كمك ميكند.
همزمان با گسترش و توليد نسخههاي جديدي از اين استاندارد، همخواني و كارآيي مناسب با گوشيهاي اوريجينال و استانداردهاي قديميتر GSM نيز حفظ شده است براي مثال قابليتهاي ارسال داده به شكل بستهيي در نسخهي 97 جي اس ام نيز به مجموعهي امكانات قبلي اضافه شده و از ابزارهاي GPRS يا سرويس راديوي عمومي همراه استفاده نموده است. سرعت ارسال و انتقال بالاتر دادهها نيز همراه با تكنولوژي جديد EDGE يا نسخهي آزمايشي بستهي سرعت انتقال دادهي افزايش يافته براي GSM در 99 امين توليد اين استاندارد براي كاربران ارايه شده است.
تاريخچهي GSM
گسترش گوشيهاي سلولي تلفن همراه در اوايل دههي هشتاد ميلادي در اروپا، رو به زوال نهاد. عدم وجود استانداردسازيهاي تكنولوژيكي، سران اجلاس وزراي ارتباطات و فناوري اطلاعات كشورهاي اروپايي را در سال 1982 با هدف توسعهي يك استاندارد واحد براي گوشيهاي همراه كه در سراسر قاره، قابل استفاده باشد، وادار ساخت تا به ساخت گروه ويژهي تلفن همراه (GSM) مبادرت ورزند.
نخستين شبكهي استاندارد جياسام نيز در سال 1988 و در فنلاند افتتاح شد. در سال 1989، مسووليت مديريت استاندارد به موسسهي استانداردهاي ارتباطات سيار اروپا (ETSI) واگذار شد و فاز نخست راهاندازي شبكههاي GSM در سراسر قاره نيز به سال 1990 بهرهبرداري شد.
در پايان سال 1993، بالغ بر يك ميليون كاربر از طريق 70 سرويس دهنده در 48 كشور از سرويسهاي در سراسر اروپا از سرويسهاي جياسام استفاده ميكرد
این رشته با توجه به ارتباط نزدیک خود با الکترونیک در تحول ادوات و قطعات الکترونیکی نقش به سزایی داشتهاست.به طوری که مدارات در مقیاس مخابراتی رامی توان حاصل کوشش در طراحی مدارات پیشرفته الکترونیک جستجو کرد.این رشته در گرایش سیستم از این ادوات پیشرفته الکترونیکی در طراحی سیستمهای پیچیده مخابراتی استفاده مینماید. به نظر مي آيد بهتر است بیشتر به سمت مخابرات سیستم حرکت نماییم.
این رشته در دانشگاههای ایران به پنج گرایش تقسیم میشود که عبارتاند از:
به تازگی دانشگاه صنعتی شریف گرایش سیستمهای دیجیتال را به ۵ گرایش فوق اضافه کردهاست و در این دانشگاه مهندسی برق در مقطع کارشناسی در ۶ گرایش تدریس میشود. در ایران مهندسی قدرت نسبت به بقیه بازار بهتری دارد و بیشتر شرکتها این مهندسی را بیشتر اعلام نیاز مینمایند. در برخی از دانشگاههای کشورهای اروپایی و آمریکا، دانشکدهٔ کامپیوتر هم جزیی از دانشکدهٔ برق میباشد.
- ۱ گرایشهای مقطع کارشناسی در ایران
- ۲ آینده شغلی، بازار کار، درآمد
- ۳ وضعیت ادامه تحصیل در مقاطع بالاتر از کارشناسی
- ۴ درسهای تخصصی مهندسی برق – الکترونیک
- ۵ درسهای تخصصی مهندسی برق- مخابرات
- ۶ درسهای تخصصی مهندسی برق- قدرت
- ۷ درسهای تخصصی مهندسی برق- کنترل
- ۸ نکات تکمیلی
- ۹ گرایشهای مهندسی برق در دیگر دانشگاههای جهان
- ۱۰ جستار وابسته
- ۱۱ پیوند به بیرون
این یک مقاله با چند مثال ساده برای برنامه نویسی به زبان C توسط کامپایلر avr-gcc است. Download File
نرم افزار فونت ساز فارسی و انگلیسی برای میکرو این نرم افزار اکثر فونتهای ویندوز را به فرمت ارایه بیتی تبدیل میکند Download File
این روز ها مد شده برای ارتباط با کامپیوتر سراغ پورت های قدیمی نمی رن و علاقه مندان به پورت USB هم زیاد شدن این پورت هم بر خلاف بقیه دردسر زیادی نیاز به درایور داره و ... برای همین کار کردن باهاش راحت نیست ولی برنامه های آماده هم برای این کار زیاد شده این هم یکی از اونهاست که تقریبا همه کارهای شما رو راه می ندازه عملی هم هست خودم هم تست کردم اون رو
قبلا در همین سایت مداری بود که توسط آن میتوان با میکروی AVR کارکترهای را بر روی مانیتور یا تلویزیون نشان داد .
حالا توسط این مدار می توان بازی TENIS را بر روی تلویزیون بازی کرد . کیفیت تصویری بازی 48 * 30 پیکسل و تعداد رنگ های قابل نمایش 2 بیتی است ( یعنی 4 رنگ ) .
از میکرو AT90S8515 استفاده شده است و برای کنترل بازی نیز از دو دسته 8 کلیدی استفاده شده است . Download File
یك ایرانی سریعترین «ترانزیستور» جهان را ساخت
به گزارش ایسنا، مقاله مربوط به طرح ابتكاری دكتر فرشید رییسی كه در مجله معتبر بینالمللی Applied Physics Letters آمریكا نیز ارائه شده، بازتاب وسیعی در نشریات و رسانههای علمی فیزیك جهان داشته است.
دكتر رییسی با بیان این مطلب اظهار كرد: در طراحی این ترانزیستور به جای «الكترون» از «سالیتان» (بستههای امواج الكترومغناطیسی) كه با سرعت نور حركت میكند، استفاده شده است.
عضو هیات علمی گروه الكترونیك دانشگاه دانشگاه صنعتی خواجه نصیرالدین طوسی در خصوص مزیت این طرح نسبت به ترانزیستورهای معمولی گفت: ترانزیستور «سالیتانی» (SOLITON TRANSISTOR ) میتواند صدها برابر سریعتر از ترانزیستورهای معمولی كه توسط نیمه هادیها ساخته میشوند، عمل كند.
دكتر رییسی افزود: این ترانزیستور در ابعاد 8 دهم میلیمتر ساخته شده و سرعتی حدود 8 گیگا هرتز دارد كه در مقایسه با ترانزیستورهای معمولی (حدود 5/2 گیگا هرتز) سه برابر بیشتر است و هر چه ابعاد آن كوچكتر باشد، سرعت ترانزیستور افزایش مییابد.
دكتر رییسی با اشاره به این كه قطعات مورد نیاز این ترانزیستور از خارج كشور تهیه میشود، اظهار كرد: تولید این ترانزیستور به آزمایشگاههای ساخت قطعات نیمه هادی نیازمند است كه متاسفانه در كشور وجود ندارد، در حالی كه هزینه تهیه یك آزمایشگاه ساخت ترانزیستور «سالیتانی» نسبت به هزینه آزمایشگاههای ساخت ترانزیستورهای كنونی بسیار كمتر است.
وی افزود: در صورت تجهیز آزمایشگاه ساخت قطعات نیمه هادی در كشور، با تهیه ترانزیستورهای سالیتانی در ابعاد صد نانومتر، میتوان سرعت فركانسی آن را به حدود 200 تا 300 گیگا هرتز رساند تا در مواردی نظیر ابررایانهها و فعالیتهای دفاعی كه سرعت ترانزیستور اهمیت دارد، به كار رود.
این پژوهشگر در پایان خاطر نشان كرد: ترانزیستور «سالیتانی» علاوه بر سرعت سه برابر بیشتر نمونه اولیه آن نسبت به سریعترین ترانزیستورهای موجود در بازار، از لحاظ هزینه تولید از ترانزیستورهای نیمه هادی با كاربری در CPUها بسیار ارزانتر است.
گفتنی است، دكتر رییسی تحصیلات كارشناسی خود را در رشته مهندسی الكترونیك در دانشگاه ایالتی «لوییزیانا» و تحصیلات كارشناسی ارشد و دكتری خود را در دانشگاه ویسكانسین - مدیسون آمریكا به پایان برده، علاوه بر این طرح، تحقیقات و مقالات علمی متعددی داشته كه در معتبرترین نشریات و كنفرانسهای بینالمللی فیزیك ارائه شده است.
پسورد:
پاتوقی برای مهندسی برق