PDA

نسخه کامل مشاهده نسخه کامل : تاپيك ويژه ميكروكنترلر 8051



صفحه ها : 1 [2]

shaham
14-05-2008, 11:20
سلام به تمامی دوستان
من تازه عضو این فروم شده ام
من نیاز فوری به برنامه ماشین حساب با میکرو AT89c51 دارم البته به زبان اسمبلی و با طراحی نرم افزار پروتؤس.
با تشکر از کسانی که به من در این زمینه کمک کنند.

nassiri10727
16-05-2008, 07:23
salam, in site ro ke dadin, che shekli bayad berim va poroject ro peyda konim va file hex ro doenload konim, man mikham project 12 ro bardaram vali nemidonam chi kar konam

teamori
28-05-2008, 11:13
با سلام من نيازمند برنامه هايي كه گفتيد براي امتحان هستم اگر امكان دارد برنامه هايي شبيه به تايمرها، ماشين حساب كه 4 عمل اصلي را انجام دهد ، آسانسور و ... را براي من به ايميل teamori@gmail‌ارسال فرماييد .
با سپاس تيموري

مهرداد پرویز
02-06-2008, 20:56
سلام دوستان عزیز

همانطور که می بینید من تازه عضو شدم.

واقعیت اینه که من تازه شروع به کار در مورد میکرو کنترلرهای 8051 کردم و مشکلی که دارم اینه که نمی دونم چطور باید میکروکنترلر رو پروگرم کنم . منظورم خود پروگرمر نیست یکی خریدم. در واقع نمی دونم تو چه محیطی باید برنامه رو بنویسم و چطور اون رو وارد پروگمر کنم. لطفا اگر ممکنه برنامه های مربوطه و طریقه کار کردن باهاشون رو برام بگذارید . پیشاپیش ممنون.

talot
15-07-2008, 13:00
شروع کار با AVR به همراه ساخت STK200

به نام خدا


این مطلب برای کسانی نوشته شده که تا حالا حتی یک بار هم کار عملی با میکروکنترلر نکردند و نمی دانند باید از کجا شروع کنند.
برای شروع کار باید یک پروگرامر و منبع تغذیه تهیه کنید که روی هم 300 تومان هزینه داره. می گی نه نگاه کن.

ساخت پروگرامر STK200 :
این پروگرامر اصلا مدار نداره و برای ساخت آن فقط به یک فیش DB25 با یک کابل 5تایی یک متری نیاز است . فیش DB25 همان فیشی است که به پورت پرینتر متصل می شود مدار زیر طریقه وصل کردن سیمها به این فیش رو نشون می دهد. البته من مقاومت ها را حذف کردم و مدار همچنان عالی کار می کنه.








در زیر تصویر پروگرامر ساخته شده را می بینید :



پس از بستن قاب مخصوص فیش (در شکل زیر می بینید) در انتهای سیمهای پروگرامر تک سیمهای مفتولی بچسبانید تا به راحتی داخل بردبرد بروند (این کار ضرورتی ندارد و برای راحتی خودتان توصه می شود).






اکنون پروگرامر کامل شده و نوبت به منبع تغذیه می رسد.
به اطراف خود نگاه کنید . دم دست ترین و حرفه ای ترین منبع 5 ولتی در نزدیکی شما قرار دارد . در کامپیوتر شما !!!
نترسید ، درب کیس را باز کنید و مطابق شکل یک سیم بلند را سری با یک مقاومت 1ohm به سیم قرمز یکی از فیش های آزاد پاور وصل کنید.


توجه توجه

همان طور که در شکل می بینید من در حال حواس پرتی سیم را به سیم زرد وصل کردم که 12 ولت است و این اشتباه من یک ATmega16 قربانی گرفت.




پس از اینکه مقاومت را داخل فیش کردید دور آن چسب بپیچید تا اتصال نکند.
نیازی به سیم منفی یا همان GND نیست پون که از پروگرامر یک سیم منفی می آید.





حالا نوبت به پروگرام کردن آی سی می رسد. ابتدا پروگرمر رو به آی سی وصل کنید. اگه به سیم بندی پروگرامر نگاه کنید می بینید که
هر سیم اسمی دارد.
(MOSI , MISO , SCK , RESET , GND)
پایه هایی همنام با سیم هایی که نام برده شد در تمام AVR ها وجود دارد با رجوی ع به دیتاشیت آی سی مربوطه آن ها را پیدا کنید. در زیر پایه های ATmega16 و ATmega32 نمایش داده شده است که همان طور که می بینید ( MOSI=6 , MISO=7,SCK=8,RESET=9 ) و GND=11 و VCC=10 می باشد .




در حالت عادی AVR نیازی به کریستال ندارد و با یک اسیلاتور داخلی 1MHz کار می کند ، مگر اینکه فیوز بیتهای آن را تغییر داده باشید( در مورد فیوز بیتها بعدا توضیح می دهم اگه با فیوز بیتها کاری نداشته باشید اونها هم با شما کاری ندارند . بعد از اینکه سیمهای پروگرامر را به آی سی وصل کردید تغذیه 5 ولت را که از کیس گرفتید را هم به آن وصل کنید(مراقب باشید که هر اشتباهی در مورد تغذیه آی سی موجب سوختن آن می شود . ولی در مورد سیمهای پرو گرامر اینطور نیست).





نرم افزار:
حالا که کارهای سخت افزاری تمام شد . نوبت نرم افزار رسیده. برنامه ای که با آن کار می کنیم برنامه ponyprog است که یک شیر پاک خورده ای به نام Claudio Lanconelli که فکر کنم ایتالیایی باشه اونو نوشته و مجانی روی اینترنت گذاشته و کار خیلی ها رو کساد کرده . این برنامه رو میتوانید از لینک زیر دانلود کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته ممکنه ورژن جدیدتری هم داشته باشه که با مراجعه به آدرس های زیر می توانید دانلود کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بعد از نصب اگر برای اولین بار برنامه رو اجرا کنید به شما دو پیام می ده که باید اولا نوع پروگرامرتون رو انتخاب کنید ، ثانبا برنامه رو کالیبره کنید.
برای این دو کار اول فیش پروگرامر رو به کامپوتر وصل کنید و بعدا به منوی setup رفته و گزینه interface setup رو بزنید. سپس پنجره باز شده را به شکل زیر در آورید و دکمه prob را بزنید اگر پیغام Test Failed. داد یعنی یا گزینه هارو اشتباه تنظیم کردید یا آن دو سیمی را که از خود فیش به خود فیش پروگرامر وصل می شوند (پایه های 2و3و11و12) رو اشتباه زدید. بعد از رفع مشکل اگر دوباره دکمه prob رو بزنید به شما پیغام Test OK را می دهد . دکمه OK را زده پنجره را ببندید.





به منوی setup بروید و گزینه Calibration را بزنید و به سوال جواب مثبت دهید بعد از چند ثانیه پیغامی می آید که Calibration OK .
بعد از این دو کار می توانید از برنامه برای پروگرام کردن آی سی استفاده کنید.

نحوه پروگرام کردن با pony prog :
- به منوی File\Open Program(Flash) file را بزنید و فایل hex مورد نظر را برای پروگرام کردن روی آی سی آدرس دهی کنید.
- از منوی Device\AVR Micro\??? آی سی مورد نظر را برای پروگرام شدن انتخاب کنید.(بهتر است گزینه AVR Auto را انتخاب کنید)
- از منوی Command گزینه Write Program(Flash) را بزنید و منتظر شوید تا عملیات به پایان برسد.
- اکنون آی سی شما پروگرام شده ، اگر آی سی شروع به کار نکرد سیم Reset پروگرامر را از آی سی جدا کنید.
- هرگونه پیغام error در مرحله پروگرام کردن به معنای اشتباه در وصل کردن سیمهاست.

talot
15-07-2008, 13:20
يك ميكرو كنترلر چيست؟

ميكرو كنترولر در واقع يك كامپيوتر تك تراشه اي ارزانقيمت ميباشد . كامپيوتر تك تراشه اي بدين معني است كه كل سيستم كامپيوتر در داخل تراشه مدار مجتمع جاي داده شده است . نخستين ويژگي ميكروكنترلر قابليت ذخيره سازي و اجراي برنامه است ( كه مهمترين ويژگي آن به شمار ميرود) . ميكرو كنترلر داراي يك CPU (واحد پردازشگر مركزي ) ، حافظه RAM ، حافظه ROM ، خطوط I/O ، (خطوط ورودي و خروجي ) ، درگاهاي سريال و موازي و زمان سنج است و برخي اوقات نيز شامل ادوات جانبي نظير مبدل A/D (مبدل آنالوگ به ديجيتال ) و مبدل D/A (مبدل ديجيتال به آنالوگ ميباشد .

چرا از ميكروكنترلر استفاده ميشود ؟

همان گونه كه قبلا توضيح داده شد ميكروكنترلر ها ، كامپيوتر هاي ارزانقيمت هستند . قابليت ذخيره سازي و اجراي برنامه هاي منحصر به فرد ، موجب شده است تا ميكرو كنترلر ها بسيار انعطاف پذير شوند . به عنوان مثال شخص ميتواند ميكروكنترلر را به گونه اي برنامه ريزي كند كه بر اساس شرايط از پيش تعيين شده (وضعيت خطوط ورودي و خروجي )، تصميم گيري نمايد . قابليت انجام عمليات رياضي و منطقي موجب شده است تا ميكرو كنترلر بتواند عملكرد مدارهاي منطقي پيچيده و مدارهاي الكترونيكي را تقليد كند.

برنامه هاي ديگر ميتوانند موجب شوند كه ميكرو كنترلر مشابه يك مدار در شبكه عصبي و يا به صورت يك كنترل كننده با منطق فازي عمل كند . ميكروكنترلر ها وظيفه هوش مصنوعي را در دستگاهاي مربوط به "حسابهاي هوشمند " در فروشگاهها بر عهده دارند.

آينده الكترونيك مختص ميكرو كترلر ها ميباشند :

اگر به مجله هاي الكترونيكي كه در كشورمان و در ساير كشورها چاپ ميشوند توجه كنيد مقاله هايي را مشاهده خواهيد كرد كه در طراحي مدارهاي آنها به طور مستقيم و يا به صورت تركيبي از ميكروكنترلر ها استفاده شده است . ميكروكنترلر ها به دليل انعطاف پذيري زيادي كه دارند با صرف هزينه اندك ميتوانند قدرت زياد ، كنترل و انتخابهاي مختلفي را ارائه كنند . به همين دليل است كه مهندسين الكترونيك و افرادي كه علاقه مند به كارهاي الكترونيكي هستند برنامه ريزي ميكروكنترلر ها را فر ميگيرند تا از مزاياي ميكروكنترلر ها در مدارات خود بهره ببرند و سطح كيفي مدار خود را در حد بالايي حفظ كنند .

اگر دستگاهاي الكترونيكي خانگي را بررسي كنيد خواهيد ديد كه از ميكروكنترلر ها تقريبا در تمامي آنها استفاده شده . اين نيز دليل ديگري براي آشنايي با ميكروكنترلر هاست .

سير تكاملي ميكرو كنترلر ها :

اولين ميكزوكنترلر ها در اواسط دهه 1970 ساخته شدند . اين ميكروكنترلر ها در ابتدا پردازنده هاي ماشين حساب بودند كه داراي حافظه برنامه كوچكي از نوع Rom ، حافظه داده بسيار محدود از نوع RAM و تعدادي درگاه ورودي خروجي بودند.

با توسعه فناوري سيليكن ، ميكروكنترلرهاي 8 بيتي قويتري ساخته شدند در اين ميكرو كنترلرها علاوه بر بهينه شدن دستور العمل ها تايمر/ شمارنده روي تراشه ، امكانات وقفه و كنترل بهينه شده خطوط I/O نيز به آنها اضافه شده است.

خانواده 8051 در اوايل دهه 1980 توسط شركت اينتل معرفي گرديد و از آن زمان 8051 به عنوان يكي از محبوبترين ميكروكنترلر ها بوده و بسياري از شركت هاي ديگر نيز به توليد آن اقدام كردند . امكاناتي نظير مبدل آنالوگ به ديجيتال ، حجم نسبتا بزرگ از حافظه برنامه و حافظه داده ، مدولاتور عرض پالس (PWM) در خروجي ها و حافظه فلش كه امكان پاك كردن و برنامه ريزي مجدد آن توسط سيگنال هاي الكتريكي وجود دارد ،در آن تعبيه شده است .

با توجه به اهميت و گسترش روز افزون كاربردهاي ميكرو كنترلر ها و محدوديت هائي كه ميكرو كنترلر ها ي خانواده MCS51 ايجاد ميكرد . شركت Microchip نسل جديدي از ميكرو كنترلر ها با عنوان PIC به بازار عرضه كرد . با توجه به قابليت بسيار زياد اين ميكروكنترلرها ، به سرعت مورد استقبال قرار گرفت و تحول بزرگي در استفاده از ميكروكنترلر ها ايجاد كرد .

كلمه PIC سرنام كلمات Programmable Interface Controller ميباشد كه شركت Microchip Technology آن را به عنوان علامت تجاري بر گزيده و از آن براي مشخص كردن ميكرو كنترلر هاي خود استفاده ميكند.

talot
15-07-2008, 17:32
میکرو کنترلر چیست ؟
1- معرفی میکروکنترلرها :
به آی سی هایی که قابل برنامه ریزی می باشد و عملکرد آنها از قبل تعیین شده میکروکنترلرگویند میکرو کنترل ها دارای ورودی - خروجی و قدرت پردازش می باشد .
2- بخشهای مختلف میکروکنترلر :
میکروکنترلر ها از بخشهای زیر تشکیل شده اند
Cpu واحد پردازش
Alu واحد محاسبات
I /O ورودی ها و خروجی ها
Ram حافظه اصلی میکرو
Rom حافظه ای که برنامه روی آن ذخیره می گردد
Timer برای کنترل زمان ها
و . . .
3- خانواده های میکروکنترلر
خانواده : Pic - AVR - 8051
4- یک میکروکنترلر چگونه برنامه ریزی میشود .
میکرو کنترلر ها دارای کامپایلرهای خاصی می باشد که با زبان های Assembly basic, c می توان برای آنها برنامه نوشت سپس برنامه نوشته شده را توسط دستگاهی به نام programmer که در این دستگاه ای سی قرار می گیرد و توسط یک کابل به یکی از در گاه های کامپیوتر وصل می شود برنامه نوشته شده روی آی سی انتقال پیدا میکند و در Rom ذخیره می شود .
5- با میکرو کنترلر چه کارهایی می توان انجام داد .
این آی سی ها حکم یک کامپیوتر در ابعاد کوچک و قدرت کمتر را دارند بیشتر این آی سی ها برای کنترل و تصمیم گیری استفاده می شود چون طبق الگوریتم برنامه ی آن عمل می کند این آی سی ها برای کنترل ربات ها تا استفاده در کارخانه صنعتی کار برد دارد .
6- امکانات میکرو کنترلرها :
امکانات میکرو کنترلرها یکسان نیست و هر کدام امکانات خاصی را دارا می باشند و در قیمت های مختلف عرضه می شود .
7- شروع کار با میکرو کنترلر:
برای شروع کار با میکرو کنترلر بهتر است که یک زبان برنامه نویسی مثل c یا basic را بیاموزید سپس یک برد programmer تهیه کرده و برنامه خود را روی میکرو ارسال کنید سپس مدار خود را روی برد برد بسته و نتیجه را مشاهده کنید.
چنان چه در مدارهای الکترو نیکی تجربه ندارید بهتر است از برنامه های آ موزش استفاده کنید.
8- مقایسه خانواده های مختلف میکرو وکنترلرها:
خانواده 8051 :
این خانواده از میکرو کنترولر ها جزو اولین نوع میکرو کنترولر ها یی بود که رایج شده و جزو پیشکسوتان مطرح میشود . معروف ترین کامپایلر برای این نوع میکرو keil یا franklin می باشد میکرو های این خانواده به نوسان ساز نیاز مند هستند و درمقابل خانواده pic یا AVR از امکانات کمتری برخور دار می باشد معروف ترین آی سی ها این خانواده 89S51 یا 89C51 می باشد .
خانواده AVR :
این خانواده از میکرو کنترلرها تمامی امکانات 8051 را دارا می باشد و امکاناتی چون ADC (مبدل آنالوگ به دیجیتال) – نوسان ساز داخلی و قدرت و سرعت بیشتر – EEPROM (حافظه) از جمله مزایای این خانواده می باشد مهم ترین آی سی این خانواده Tiny و Mega است.
خانواده pic :
این خانواده از نظر امکانات مانند AVR میباشد و در کل صنعتی تر است .
9- مزایای میکرو کنترلر نسبت به مدار های منطقی :
1- یک میکرو کنترلر را می توان طوری برنامه ریزی کرد که کار چندین گیت منطقی را انجام دهد.
2- تعداد آی سی هایی که در مدار به کار میرود به حداقل میرسد .
3- به راحتی می توان برنامه میکرو کنترلر را تغییر داد و تا هزاران بار میتوان روی میکرو برنامه های جدید نوشت و یا پاک کرد .
4- به راحتی میتوان از روی یک مدار منطقی کپی کرد و مشابه آن را ساخت ولی در صورتی که از میکرو کنترلر استفاده شود و برنامه میکرو را قفل کرد به هیچ عنوان نمی توان از آن کپی گرفت .

talot
15-07-2008, 17:33
میکرو کنترلر در اصطلاح به ریز پردازنده هایی گفته می شود که بجز CPU حداقل شامل سیستم های ورودی و خرو جی (I/o) حافظه و مدارات ارتباط با حافظه در داخل تراشه اصلی هستند و نیازی به مدارات واسطه بیرونی جهت ارتباط با سیستم های جانبی را ندارد. البته امکانات همه میکرو کنترلر ها هشابه و یکسان نمی باشد و برخی از میکرو کنترلر ها علاوه بر امکانات فو ق العاده شامل مبدل های دیجیتال به آنالوگ و آنالوگ به دیجیتال و یا حتی امکانات بیشتر و اختصاصی تر می باشند.

میکرو کنترلر MC68HC7058 ساخت شرکت MOTOROLA نمونه ای از میکرو کنترلر های مدرن می باشد که امروزه در ساختمان مانیتور های پارس از آن استفاده شده است. قلب این میکرو کنترلر را ریز پردازنده 6805 تشکیل می دهد و حافظه آن شامل 3.75 کیلو بایت حافظه ROM جهت ذخیره کردن نرم افزار اجرایی و 256 بایت حافظه RAM جهت ذخیره سازی مو قت می باشد.

نرم افزار ذخیره شده در حافظه این میکرو کنترلر تحت امتیاز شرکت هیوندای کره جنوبی بوده و قابل دسترسی یا دخل و تصرف ننی باشد و فقط مختص 15 اینج مدل HL -5870 می باشد. از و ضایف اصلی میک رو کنترلر می توان به موارد زیر اشاره کرد:
1- کنترل دکمه های جلوی مانیتور در صنعت ساخت
2- ایجاد ولتاژ های DC جهت کنترل قسمت های مختلف مدار
3-ارتباط با حامظه none volatile جهت ذخیره سازی و باز خوانی اطلاعات.
4- ارتباط با سیستم تغذیه جهت مدیریت توان مصرمی
5- ارتباط با سیستم مولد OSD
6- ارتباط با سیستم تنظیم گر خودکار
7- تنظیم اعو جاجات و تصحیح خطاها
8- مضناتیس جدایی
9- پردازش سیگنال های همزمانی
10- کنترل پیچش تصویر

talot
15-07-2008, 17:35
میکروکنترلر چیست

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

کلمه میکروکنترلر:

این کلمه از دو کلمه 1- میکرو -2 کنترلر تشکیل شده

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

*کنترلر : که همه معنی و مفهومشو میدونین . یعنی کنترل کننده به تعبیری یعنی "مغز " البته بدون تفکر فقط دستوراتی که به اون داده میشه به نحو احسن انجام میده.

حالا چرا این کلمات ؟

به نظر من کلمه میکرو به دو منظور استفاده شده منظور اول و مهم سرعت عمل میکروکنترلر است که میتواند تا یک ملیونیوم ثانیه باشد و دستوارتی که به اون میدیم با این سرعت انجام بده به همین خاطر واژه میکرو رو به اون اختصاص دادن البته معنی دوم آن شاید کوچیکی این قطعه باشد که تا یک ملیونیوم متر کوچیک شده شاید باور کردنی نباشه ولی در یک تراشه ممکنه بیش از یک ملیون تراتزیستور به کار رفته باشه. این کلمه وقتی اهمیتش کامل میشه که با واژه کنترلر عجین بشه تا معنیش کامل بشود .

حالا نحوه انجام دادن کار میکروکنترلر را به صورت کلی بررسی میکنیم :

تا حالا همه شما با ماشین حساب کار کردین تا حالا به نحوه کار کردنش فکر کردین شما اطلاعاتتون را که همون عملیات ریاضی هست به وسیله صفحه کلید به اون میدید بعد ماشین حساب این اطلاعات رو بر مبنای دستوراتی که قبلا به اون داده شده پردازش میکند و جواب را روی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,AVBR , PIC , رو برنامه ریزی میکنند به طبع قیمت زیادتری دارند.
اما میشه براحتی برای میکروکنترلری که داریم یه پروگرامر ساخت اغلب نقشه هایی هستنند که میشه یه پروگرامر ساخت که در همین سایت آقا حامد نقشه مدل STK300-200 رو توضیح داده.
ولی توصیه من اینه که خودتون رو به دردسر نندازین و برای همیشه یه پروگرامر بخرین ارزششو داره چون همیشه کاربرد داره و همیشه به اون احتیاج دارین.

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

اگر برگه اطلاعاتی atmega32 نوشته شرکت atmel (بزرگترین شرکت تولیکننده میکروکنترلر avr )
رو دیده باشید این مطالب در صفحه اول آن درج شده است :

Features
• High-performance, Low-power AVR® 8-bit Microcontroller
• Advanced RISC Architecture
– 131 Powerful Instructions – Most Single-clock Cycle Execution
– 32 x 8 General Purpose Working Registers
– Fully Static Operation
– Up to 16 MIPS Throughput at 16 MHz
– On-chip 2-cycle Multiplier
• Nonvolatile Program and Data Memories
– 32K Bytes of In-System Self-Programmable Flash
Endurance: 10,000 Write/Erase Cycles
– Optional Boot Code Section with Independent Lock Bits
In-System Programming by On-chip Boot Program
True Read-While-Write Operation
– 1024 Bytes EEPROM
Endurance: 100,000 Write/Erase Cycles
– 2K Byte Internal SRAM
– Programming Lock for Software Security
• JTAG (IEEE std. 1149.1 Compliant) Interface
– Boundary-scan Capabilities According to the JTAG Standard
– Extensive On-chip Debug Support
– Programming of Flash, EEPROM, Fuses, and Lock Bits through the JTAG Interface
• Peripheral Features
– Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes
– One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture
Mode
– Real Time Counter with Separate Oscillator
– Four PWM Channels
– 8-channel, 10-bit ADC
8 Single-ended Channels
7 Differential Channels in TQFP Package Only
2 Differential Channels with Programmable Gain at 1x, 10x, or 200x
– Byte-oriented Two-wire Serial Interface
– Programmable Serial USART
– Master/Slave SPI Serial Interface
– Programmable Watchdog Timer with Separate On-chip Oscillator
– On-chip Analog Comparator
• Special Microcontroller Features
– Power-on Reset and Programmable Brown-out Detection
– Internal Calibrated RC Oscillator
– External and Internal Interrupt Sources
– Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby
and Extended Standby
• I/O and Packages
– 32 Programmable I/O Lines
– 40-pin PDIP, 44-lead TQFP, and 44-pad MLF
• Operating Voltages
– 2.7 - 5.5V for ATmega32L
– 4.5 - 5.5V for ATmega32
• Speed Grades
– 0 - 8 MHz for ATmega32L
– 0 - 16 MHz for ATmega32
• Power Consumption at 1 MHz, 3V, 25°C for ATmega32L
– Active: 1.1 mA
– Idle Mode: 0.35 mA
– Power-down Mode: < 1 µA

talot
15-07-2008, 17:36
(High-performance, Low-power AVR® 8-bit Microcontroller) :
ترجمه : میکروکنترلر AVR 8 بیتی با کارایی بالا و توان کم
میکرو 8 بیتی اشاره به این دارد که این میکروکنترلر حداکثر با 8 بیت کار میکند و این میکرو حداکثر 8 بیت را به صورت همزمان میتواند انتقال دهد. اکثر میکروهایی که تا کننون ساخته شده اند 8 بیتی هستنند این توان هم برای کارهای عمومی و پیشرفته به صورت کامل جوابگوست ولی برای کارهای فوق پیشرفته به نسبت توان انتقال پایینی است .

در رابطه با کارایی بالا این میکروها در مقاله های قبل بحث شده در ضمن میکروکنترلر های avr توان خیلی کمی مصرف میکنند که در ادامه مقاله خواهیم دید.

2-( Advanced RISC Architecture ) :
ترجمه : دارای طراحی پیشرفته RISC
کلمه RISC ((REDUCED INSTRUCTION SET COMPUTER به معنای طراحی CPU که مجموعه دستورات آن حاوی دستورات سریع و ساده است که نوشتن برنامه را مشکل ولی سریعتر میکند. اما طراحی پیشرفته RISC در میکروکنترلرهای AVR ضمن این که دستورات ساده وسریع هستنند، نوشتن برنامه هم راحت و بدون مشکل است.

3-(131 Powerful Instructions – Most Single-clock Cycle Execution ):
ترجمه : دارای 131 دستور العمل قوی که بیشترشان در یک سیکل کلاک اجرا می شوند. اشاره به همان معماری
RISC دارد که دستورات سریع اجرا میشوند.
یعنی برای ATMEGA32 که دارای سرعت 16 MHZ است. این میکرو میتواند در هر ثانیه تقریبا 16 ملیون دستور را اجرا کند.

4- ( 32*8 GENERAL Purpose Working Registers ) :
ترجمه : با 8*32 ثبات عمومی کار میکند.

5-(Fully Static Operation) :
ترجمه : عملکر کاملا ثابت .

6-(Up to 16 MIPS Throughput at 16 MHz ) :
ترجمه : تا 16 ملیون (MIPS) توان عملیاتی در 16MHZ
چند خط بالا دربارش توضیح داده بودم.

7- (On-chip 2-cycle Multiplier ) :
ترجمه : تقویت کننده 2 سیکل بر روی چیپ.

Nonvolatile Program and Data Memories


حافظه ، برنامه و داده غیر فرار

8- (32K Bytes of In-System Self-Programmable Flash
Endurance: 10,000 Write/Erase Cycles)
ترجمه : 32KB حافظه داخلی FLASH قابل برنامه ریزی . ماندگاری : 10000 بار نوشتن و پاک کردن.

حافظه FLASH نوعی حافظه غیر فرار مشابه EEPROM که با بلاکهای داده کار میکند. حافظه FLASH این میکروکنترلر قابلیت 10000 بار نوشتن و پاک کرن را دارد که برای تمرین و آزمایش بسیار عالیست.
از لحاظ حجم هم 32 کیلو بایت میتواند نیاز های ما را برآورده کند و در بین سایر میکروکنترلر ها به نسبت حجم خوبی است.در واقع شما باید برنامه را در این حافظه بنویسید.
هر BIT شامل یک (0و1) میشود ،هر BYTE ،1024 BIT است و هر KB (KILO BYTE ) 1024
BYTE است.
(هر حرف یک BYTE است.)

9- Optional Boot Code Section with Independent Lock Bits
In-System Programming by On-chip Boot Program
True Read-While-Write Operation

ترجمه : تعقیر اختیاری برنامه بوت با برنامه ریزی مستقل فیوز بیت ها در دستگاه درست وقتی که دستورعمل ها را میخوانیم یا مینویسم.
اشاره به تعقیر اختیاری فیوز بیت ها دارد که به راحتی میتوانیم این کار را انجام بدهیم.
فیوز بیت : این ها یک سری بیت کلی هستنند که منطق 0 به معنای برنامه ریزی شدن و منطق 1 به معنای برنامه ریزی نشدن بیت است.
اساسا کار این بیت ها تعقیر مشخصات سخت افزاری میکروکنترلر است و هر مدل از میکروکنترلر به نسبت طراحی دارای فیوز بیت های مختلفی است.
به فرض مثال اگر فیوز بیت به نام EESAVE برنامه ریزی شود محتویات حافظه EEPROM در زمان پاک کردن میکروکنترلر محفوظ میماند ولی اگر این بیت برنامه ریزی نشود حافظه EEPROM در زمان پاک شدن میکرو پاک میشود.

10- (1024 Bytes EEPROM) :
: ( Endurance: 100,000 Write/Erase Cycles)

ترجمه : 1024 بایت حافظه EEPROM . ماندگاری : 100000 بار نوشتن و پاک کردن.
اکثر مدل های میکروکنترلر AVR دارای حافظه EEPROM داخلی میباشند که یکی از مزیت های خوب این میکروکنترلر هاست . در این حافظه که اطلاعات داخلش تا حدود 100 سال باقی میماند میشود به اکرار (صد هزار بار) نوشت و پاک کرد و میتوانیم اطلاعات زیادی رو در این حافظه قرار بدهیم.
این حافظه را در هنگام اجرای برنامه میتوان نوشت و خواند و بر گرفته از اول کلمات ELECTRICALLY ERASABLE READ ONLY MEMORY است.

11- (2K Byte Internal SRAM) :
ترجمه : 2 کیلو بایت حافظه SRAM داخلی
این نوع از حافظه یک حافظه با دسترسی تصادفی است. مثل حافظه RAM کامپیوتر.

12- ( Programming Lock for Software Security) :
ترجمه : قفل برای برنامه برای ایمنی

JTAG (IEEE std. 1149.1 Compliant) Interface

قابلیت اتصال با پروتکل JTAG تحت استاندارد IEEE


یکی از چندیدن پروتکل میکروکنترلر است . که به لحاظ سرعت انتقال و قابلیت برنامه ریزی انواع حافظه ها و فیوزها به یکی از بهترین پروتکل های ارتباطی بین میکروکنترلر ها تبدیل شده است.

13-(Boundary-scan Capabilities According to the JTAG Standard ):
ترجمه : امکان مقایسه برخی از ثبات ها در استاندارد JTAG

14- ( Extensive On-chip Debug Support) :
ترجمه : پشتیبانی چیپ از یک اشکل زدایی گسترده

15-( Programming of Flash, EEPROM, Fuses, and Lock Bits through the JTAG Interface ) :
ترجمه : برنامه ریزی حافظه های FLASH , EEPROM و FUSES و فیوز بیت ها با پروتکل .JTAG

امکان خوبی که این پروتکل ارتباطی دارد این است که انواع حافظه ها و فیوز بیت ها را میتوان با آن برنامه ریزی کرد از این رو پروگرامرهای زیادی با استفاده از این پروتکل کار میکنند.

talot
15-07-2008, 17:38
این مطلب رو از جایی کپی کردم
کتابخانه حافظه های 24Cxx به زبان C
سلام این کتابخانه برای تمام آی سی های byte addres و word address سری 24Cxx کار می کنه و در WinAvr نوشته شده.
اگه حوصله کنم برای CodeVision هم تغییرش می دم.
آی سی هایی که این کتابخونه ساپورت می کنه:
24C00
24C02
24C04
24C08
24C16
24C32
24C64
24C128
24C256
24C512
کار کردن با این کتابخونه خیلی راحته و کلا کتابخونه توپیه.
برای اینکه آی سی مورد نظر رو انتخاب کنبد فایل 24Cxx.h رو باز کنید و در بالاهای فایل آی سی مورد نظر رو define کنید.
البته تمام آی سی هایی که ساپورت می شن رو نوشته و کافی است که نام اونها رو کپی کنید مثل پایین:
#define _24C16
بعد از اون می تواند با پنج تابع این کتابخونه کار کنید:
تابع ioinit باید یک بار در آغاز برنامه فراخوانی شود . تا رجیستر های پورت twi را مطابق کتابخانه تنظیم شود.
توابع ee24xx_read_bytes و ee24xx_write_bytes برای خواندن و نوشتن به صورت بایتی است.
توتبع ee24xx_read_byte و ee24xx_write_byte برای خواندن و نوشتن به صورت چند بایتی یا همان آرایه ای است.

talot
15-07-2008, 17:41
سیر تکاملی میکروکنترلر

اولین میكرو كنترلرها در اواسط دهه 1970 ساخته شدند. این میكرو كنترلرها در ابتدا پردازنده های ماشین حساب بودند كه دارای حافظه برنامه كوچكی از نوع ROM ، حافظه داده از نوع RAM و تعدادی درگاه ورودی/خروجی بودند.
با توسعه فناوری سیلیكون ، میكرو كنترلرهای 8 بیتی قویتری ساخته شدند. در این میكرو كنترلرها علاوه بر بهینه شدن دستورالعمل ها، تایمر/شمارنده روی تراشه، امكانات وقفه و كنترل بهینه شده خطوط I/O نیز به آنها اضافه شده است.
حافظه موجود بر روی تراشه هنوز هم محدود می باشد و در بسیاری موارد كافی نیست. یكی از پیشرفتهای قابل توجه در آن زمان، قابلیت استفاده از حافظه EPROM قابل پاك شدن با اشعه ماورا بنفش، روی تراشه بود. این قابلیت، زمان طراحی و پیاده سازی سخت افزار را بطور محسوسی كاهش داد و نیز برای اولین بار امكان استفاده از میكرو كنترلر ها را در كاربردهایی كه حجم تولید پایینی دارند، فراهم ساخت.
خانواده8051 در اوایل دهه 198۰ توسط شركت اینتل معرفی گردید. از آن زمان تاكنون 8051 یكی از محبوبترین میكرو كنترلرها بوده و بسیاری از شركتهای دیگر نیز به تولید آن اقدام كرده اند. در حال حاضر مدل های مختلفی از 8051 وجود دارد كه در بسیاری از آنها امكاناتی نظیر مبدل آنالوگ به دیجیتال حجم نسبتاً بزرگ از حافظه برنامه و حافظه داده، مدولاتور عرض پالس (PWM) در خروجیها و حافظه فلش (Flash) كه امكان پاك كردن و برنامه ریزی مجدد آن توسط سیگنالهای الكتریكی وجود دارد، تعبیه شده است.

میكرو كنترلرها اكنون به سمت 16 بیتی شدن در حركت هستند. میكرو كنترلر های 16 بیتی، پردازنده هایی با كارایی بالا (نظیر پردازش سیگنالهای دیجیتال ) می باشند كه در كنترل فرایندهای بلادرنگ و در مواردی كه حجم زیادی از عملیات محاسباتی مورد نیاز است، به كار برده می شوند. بسیاری از میكرو كنترلرهای 16 بیتی، امكاناتی نظیر حجم زیاد حافظه برنامه و حافظه داده، مبدل های آنالوگ به دیجیتال چند كانالی، تعداد زیادی درگاه I/O ، چندین درگاه سریال، عملكردهای بسیار سریع ریاضی و منطقی و مجموعه دستورالعمل های بسیار قدرتمند با قابلیت پردازش سیگنال را دارا می باشند .

نکته: تعدادی از میکروکنترلرهای خانواده ی 8051 که دارای حافظه ی Flash هستند برای پروگرام شدن نیازی به پروگرامر ندارند و از طریق پورت موازی (پرینتر) قابل پروگرام شدن هستند.

talot
15-07-2008, 17:41
میکروکنترلر 8051

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 رو ندارد و امروزه رقابت اصلی بین این دو میکروکنترلر است.

تمام میکروکنترلرهای بازار یکی این 5 تا هستنند:

1) 8051
2) Pic
3) Avr
4) 6811
5) Z8

talot
15-07-2008, 17:44
فعلا اینا رو داشته باشین
سوالی داشتین بپرسین من جواب میدم ضمن اینکه اگه کسی به لاظ سخت افزاری مشکل داشت هم در خدمتم
هم تهیه هم ساخت سخت افزارهای مورد نیاز

W.Bush
18-07-2008, 15:29
در اين پروژه تركيب پروژه هاي 1 و 2 را مشاهده مي كنيم . اگر 2 مورد قبلي را ديده باشيد اين مدار براحتي براي شما قابل تحليل است. ذكر نكات زير لازم است :
1. اولا پورت 0 ميكرو رو بايستي Pull up بكنيم يعني توسط مقاومت 10k انرا به ولتاژ 5 ولت متصل كنيم . اما من در اين مدار اين كار را نكردم و جواب داد اما اين نكته رو براي اين گفتم كه بدونيم اين يك قانون كلي است و بايد رعايت بشه (گاهي به دليل عدم رعايت اين مسئله مدار جواب نميده )
2. در اين صفحه كليد * نقش پاك كردن كل صفحه و # نقش پاك كردن آخرين كليد را انجام مي دهد .
بقيه مطالب در مدار مشخص است.
دانلود فايل هگز و اسمبلي و شماتيك مدار :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

دوستان اگه اين پروژه ها براشون به درد بخور هست لطفا نظر هم بدن !!
بعد از ارايه چند پروژه مقدماتي ديگه به بحث هاي نيمه حرفه اي هم مي رسيم ! پروژه هايي كه تو دانشگاه خودمون انجام داديم و به عنوان پروژه درس ارايه كرديم مثل : ماشين حساب - ساعت ديجيتالي - روبات - تابلو روان - آسانسور
و .... اگه اين جور پروژه ها خوب هست لطفا نظرتون رو هم بگيد !!

شكل مدار رو هم ببينيد :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

سلام دوست عزیز
مرسی از زحماتتون
ولی لینکی که گداشتید فکر کنم وقتش تموم شده و Not Valid میده
میشه این مدار رو به ایمیلم ارسال کنید
واقعاً بهش احتیاج دارم.
مرسی
Email: Sattar.m2012@gmail.com

Nakh0d4
02-08-2008, 20:16
#include <reg51.h>
static unsigned char a;
void delay(void);
void up1(void);
void EXTERNAL0() interrupt 0
{
up1();
TCON=0;
IE=0;
}
void main(void)
{
unsigned char i;
IP=0x01;
IE=129;
up:
switch(a){
case 0:
for (i=0;i<80;i++){
P1=0xff;
delay();
P1=0x00;
delay();
}
case 1:
for(i=0;i<120;i++){
P1=0x0f;
delay();
P1=0xf0;
delay();
}
case 2:
for(i=0;i<120;i++){
P1=85;
delay();
P1=170;
delay();
}
case 3:
for(i=0;i<120;i++){
P1=9;
delay();
P1=P1<<2;
delay();
P1=P1<<2;
delay();
P1=P1<<2;
delay();
P1=P1<<2;
delay();
}
default:
a=a%4;
}
goto up;
}
void delay(void)
{
unsigned int w;
for(w=0;w<32000;w++);
}
void up1 (void){
a++;
}

یه برنامه ی سادست مثل این چراغ چشمک زنها که بعد از 30-40 ثانیه روش روشن خاموشش عوض می شه
اشکال برنامه بالا کجاست؟؟؟ من می خوام با وقفه 0 تعداد خاموش شدن کلیدو محاسبه کنم تا حالت خاموش روشن شدن Led ها غوض شه ولی نمی شه

farzadsw
15-08-2008, 00:30
فعلا اینا رو داشته باشین
سوالی داشتین بپرسین من جواب میدم ضمن اینکه اگه کسی به لاظ سخت افزاری مشکل داشت هم در خدمتم
هم تهیه هم ساخت سخت افزارهای مورد نیاز

سلام talot جان!
ابتدا به لینک زیر یه سری بزن

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اینطور که مشخصه شما هم مثل من طرفدار avr هستید.پس باتوجه به اینکه این تاپیک مربوط به 8051 میشه نه avr اگه مایلید یه تاپیک جدید برای این avr فلک زده درست کنیم :10: تا مزاحم دوستان در 8051 نشیم!

farzadsw
19-08-2008, 17:49
سلام talot جان!
ابتدا به لینک زیر یه سری بزن

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اینطور که مشخصه شما هم مثل من طرفدار avr هستید.پس باتوجه به اینکه این تاپیک مربوط به 8051 میشه نه avr اگه مایلید یه تاپیک جدید برای این avr فلک زده درست کنیم :10: تا مزاحم دوستان در 8051 نشیم!

این پست رو جدی نگیرید! من که بی خیال شدم:31:

amin 3gp
02-09-2008, 01:46
اقایون 8051 به تاریخ پیوسته .پیشنهاد میکنم برید pic یا حداقل avr یاد بگیرید.اونایی هم که مهندس الکترونیک هستند FPGA کار کنن.

Sha7ab
14-10-2008, 16:05
ما که فعلا دارن بهمون همینو 8051 تدریس میکنن. کسی یه جزوه خوب از یه دانشگاه معتبر برای میکروکنترل (8051) داره؟؟

mehdi parsafar
02-11-2008, 13:06
سلام
دوست من پروژهات خوب بودن دستت درد نکنه
ولی اگه میتونی 8051 رو به زبان بیسیک آموزش بدی خیلی خوبتر میشه
ممنون

lovelykid
03-11-2008, 20:09
دوستان اين ميكرو ديگه از دور خارج شده تو رو خدا بيخيالش بشيد!

123456za
04-11-2008, 22:04
· دماسنج 8 کاناله با قابلیت تنظیم دما و نمایش به رویPC      دفعات بازدید:[1133]
· كالر آي دي با 8051      دفعات بازدید:[940]
· ساعت با 8051       دفعات بازدید:[636]
· آي تستر TTL با 8051      دفعات بازدید:[516]
· کنترل از راه دور توسط تلفن ( 8051 )      دفعات بازدید:[940]
· SMS از طریق تلفن ( 8051 )       دفعات بازدید:[1232]
· ساعت ديجيتالي كنترل شده از راه دور (8051)      دفعات بازدید:[929]
· تستر قطعات الکترونیکی ( 8051 )      دفعات بازدید:[811]
· سیستم امنیتی منزل ( 8051 )      دفعات بازدید:[951]
· کنترل دما با فن( 8051 )      دفعات بازدید:[714]
· کنترل stepموتوربا8051       دفعات بازدید:[51]
· کنترل موتور DCبا 8051       دفعات بازدید:[49
· برنامه ریزی AT2402با 8051       دفعات بازدید:[36]
· اتصال EEprom های خارجی به میکرو      دفعات بازدید:[42]
· قفل رمز با 8051(2)       دفعات بازدید:[58]
· قفل رمز با 8051(1)      دفعات بازدید:[56]
· ماشین حساب با 8051      دفعات بازدید:[65]
· نمایش به وسیله سون سگمنت8051      دفعات بازدید:[16]
· چراغ راهنمایی با 8051      دفعات بازدید:[17]
· آموزش کامل 8051 به زبان اسمبلی      دفعات بازدید:[16]

دانلود کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Electronic Boy
09-11-2008, 00:12
سلام میشه جدول کارنو یکی از سون سگمنت ها رو هم واسمون رسم کنی پیش پیش ممنون

LiLi jan
17-11-2008, 15:54
[QUOTE=Gabana;249510]در اين پروژه تركيب پروژه هاي 1 و 2 را مشاهده مي كنيم . اگر 2 مورد قبلي را ديده باشيد اين مدار براحتي براي شما قابل تحليل است. ذكر نكات زير لازم است :
1. اولا پورت 0 ميكرو رو بايستي Pull up بكنيم يعني توسط مقاومت 10k انرا به ولتاژ 5 ولت متصل كنيم . اما من در اين مدار اين كار را نكردم و جواب داد اما اين نكته رو براي اين گفتم كه بدونيم اين يك قانون كلي است و بايد رعايت بشه (گاهي به دليل عدم رعايت اين مسئله مدار جواب نميده )
2. در اين صفحه كليد * نقش پاك كردن كل صفحه و # نقش پاك كردن آخرين كليد را انجام مي دهد .
بقيه مطالب در مدار مشخص است.
دانلود فايل هگز و اسمبلي و شماتيك مدار :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

دوستان اگه اين پروژه ها براشون به درد بخور هست لطفا نظر هم بدن !!
بعد از ارايه چند پروژه مقدماتي ديگه به بحث هاي نيمه حرفه اي هم مي رسيم ! پروژه هايي كه تو دانشگاه خودمون انجام داديم و به عنوان پروژه درس ارايه كرديم مثل : ماشين حساب - ساعت ديجيتالي - روبات - تابلو روان - آسانسور
و .... اگه اين جور پروژه ها خوب هست لطفا نظرتون رو هم بگيد !!
.----------------------------------------------------------------------------------------------------------------
#14
سلام

مرسي از زحماتتون ولي نشد لينك را باز كنم.
براي من هم بفرستين لطفا.
vd.azimi@gmail.com

shahbaran
07-12-2008, 10:43
سلا م به من يك پروژه دادن كه اصلا بلد نيستم گفتن با يك سنسور حرارتي دما رو رو يك lcd نمايش بديم البته با كمك 8051 كسي ميتونه كمك كنه تا شبه بعد تحويل پروژه دارم plsssssssssss

shahbaran
07-12-2008, 10:48
راستي برنامه هم بايد به زبان اسمبلي باشه طراحي مدارشم ميخوام اگه كسي داشت به اين آدرس ميشه ايميل بزنه ؟sasha_774@yahoo.com

shazdeh23
14-12-2008, 01:43
سلام
من پروژه ساعت دیجیتال با میکروکنترلر رو میخوام.
ممنون میشم هر چه سریعتر پاسخ بدید.
یا حق

shazdeh23
14-12-2008, 02:20
1 سوال داشتم از دوستان
من فایلهایی با پسوند dsn و hex رو با چه برنامه ای میتونم باز کنم؟
ممنون

ehsanrahimi
24-12-2008, 00:08
سلام
شما میتونی این فایلا رو با franklin باز کنی.

ساعت دیجیتالی با میکرو را میتونی از این لینک زیر دانلود کنی.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

imdo2
31-12-2008, 01:43
سلام.
لطفا کمک کنید خیلی فوری هست تا جمعه 13 دی این رو میخوام
برای میکرو 8051 باید یکی از دو تا برنامه زیر رو برای این میکرو بنویسیم.
و فایل هگزش رو تو پروتیوس نشون بدیم و اجرا کنم.
لطفا کسی که میخواد کمک کنه به زبان ساده بنویسه که فقط دستورات ساده و ابتدایی مثل djnz -jnb-و از این کاراکتر های ابتدایی استفاده کنه.
ممنون میشم کمک کنین.
یکی از دو تا برنامه زیر هر کدوم رو که خواستین رو بنویسین.
ممنون از لطفتون:

برنامه اي بنويسيد که اعداد 1 تا 9 را به صورت رونده روي چهار سونسگمنت نشان دهد.

یا

برنامه اي بنويسيد که حاصل جمع دو عدد دسيمال دو رقمي را محاسبه کند و مراحل اين عمليات را (به صورت ماشين حساب هاي معمولي) روي ال سي دي نمايش دهد

از کمکتون واقعا ممنون.

اگه بتونین فایلشو تو پروتیوس هم بهم بدین دیگه واقعا عالی میشه اما اگه نشد خودم این کار رو میکنم.
بازم ممنون

نادر فلاح زاده
31-12-2008, 13:04
سلام.من یخورده اطلاعات در مورد ای سی 74175 میخاستم.کسی اطلاع داره؟

anti_girl
05-01-2009, 11:43
سلام دوستان
به این لینک یه سر بزنین چیزای جالبی داره....!


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

jnicou
07-01-2009, 01:04
آموزش میکروکنترلر ۸۰۵۱ به زبان فارسی

اینم یه آموزش میکروکنترلر دیگه که به زبان فارسی و حدود ۶۱ صفحه است که به آموزش کار با آی سی ۸۰۵۱ پرداخته.
موضوعاتی که توی این کتاب وجود داره:
- ملزومات یک سیستم کامپیوتری
- مقایسه ریزپردازنده و میکروکنترلر
- پیه ها
- ثبات ها
- انواع آدرس دهی
-تشریح مد های ارتباط سریال
- و…


دانلود :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


حجم : 6.6 mb


منبع : [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

jnicou
07-01-2009, 01:07
سلام.
لطفا کمک کنید خیلی فوری هست تا جمعه 13 دی این رو میخوام
برای میکرو 8051 باید یکی از دو تا برنامه زیر رو برای این میکرو بنویسیم.
و فایل هگزش رو تو پروتیوس نشون بدیم و اجرا کنم.
لطفا کسی که میخواد کمک کنه به زبان ساده بنویسه که فقط دستورات ساده و ابتدایی مثل djnz -jnb-و از این کاراکتر های ابتدایی استفاده کنه.
ممنون میشم کمک کنین.
یکی از دو تا برنامه زیر هر کدوم رو که خواستین رو بنویسین.
ممنون از لطفتون:

برنامه اي بنويسيد که اعداد 1 تا 9 را به صورت رونده روي چهار سونسگمنت نشان دهد.

یا

برنامه اي بنويسيد که حاصل جمع دو عدد دسيمال دو رقمي را محاسبه کند و مراحل اين عمليات را (به صورت ماشين حساب هاي معمولي) روي ال سي دي نمايش دهد

از کمکتون واقعا ممنون.

اگه بتونین فایلشو تو پروتیوس هم بهم بدین دیگه واقعا عالی میشه اما اگه نشد خودم این کار رو میکنم.
بازم ممنون


دوست من اينجا يه سري بزن ، فكر كنم به دردت ميخوره :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

paryaa
10-01-2009, 17:37
سلام من به کمک فوری نیاز دارم
2 برنامه تقریبا در سطح بالا میخوام به همراه فایل hex شون
ممکنه جواب بدین
با تشکر

jnicou
11-01-2009, 00:15
دوست عزيز ، من اين چند تا پروژه رو واستون جمع آوري كردم . اميدوارم به دردت بخوره

1-يك ساعت ديجيتال كامل(ساعت،دقيقه،ثانيه) با سون سگمنت و صفحه كليد به همراه آلارم (هم زمان روشن شدن و هم زمان خاموش شدن آلارم قابل تنظيم است)

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

2-يك قفل رمز ديجيتال با EEPROM و LCD . همانطور كه از نام آن مشخص است به زبان C.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

3-يك قفل رمز با صفحه كليد و يك اسپيكر براي پيغام هاي صوتي بصورت بوق.بدون صفحه نمايش (فقط دو تا LED).
ذخيره رمز روي EEPROM و آژير خطر در صورت اشتباه وارد كردن رمز براي 5 بار.
بعد از 5 بار اشتباه زدن رمز ميكرو كنترلر قفل ميكند و هيچ دستورالعملي اجرا نميكند تا زماني كه رمز ثانويه يه آن داده شود

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

همگي پروژه هاي سطح بالا و خوبي هستند .

هميشه موفق باشي [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

shahramzare
26-01-2009, 20:31
مقاله
شبیه سازی

samansat
01-02-2009, 16:13
اینم یه مقاله مفید واسه علاقمندان میکروکنترلرهای 8051

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


حجم : 531 KB

mohammad ms
06-02-2009, 15:46
دوست عزيز ، من اين چند تا پروژه رو واستون جمع آوري كردم . اميدوارم به دردت بخوره

1-يك ساعت ديجيتال كامل(ساعت،دقيقه،ثانيه) با سون سگمنت و صفحه كليد به همراه آلارم (هم زمان روشن شدن و هم زمان خاموش شدن آلارم قابل تنظيم است)

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

2-يك قفل رمز ديجيتال با eeprom و lcd . همانطور كه از نام آن مشخص است به زبان c.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

3-يك قفل رمز با صفحه كليد و يك اسپيكر براي پيغام هاي صوتي بصورت بوق.بدون صفحه نمايش (فقط دو تا led).
ذخيره رمز روي eeprom و آژير خطر در صورت اشتباه وارد كردن رمز براي 5 بار.
بعد از 5 بار اشتباه زدن رمز ميكرو كنترلر قفل ميكند و هيچ دستورالعملي اجرا نميكند تا زماني كه رمز ثانويه يه آن داده شود

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

همگي پروژه هاي سطح بالا و خوبي هستند .

هميشه موفق باشي [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


لینک خرابه

hea886
08-02-2009, 21:34
سلام
مولد موج سینوسی 10مگ با میکرو میخوام
لطفا کمکم کنین!!!

samanajan
03-03-2009, 20:18
یک مدار میخواهم با میکروکنترلر

در حد معمولی

ولی شکل مدار با پشت فیبر و غیره باشه با تشکر

hsa936
29-04-2009, 15:45
دوستان سلام
من مي خوام يه حافظه 8 پايه ايتوپرام را به 8051 متصل كنم
نحوه اتصال و نحوه برنامه نويسي اسمبلي براي دسترسي به بايتهاي آن و ريختن اطلاعات درون بايتها را بلد نيستم
اگه به من كمك كنيد ممنون ميشم...

payam
05-05-2009, 19:49
پروگرامر سري 8051 (AT89c51, AT89c52, AT89c55,AT89S51,AT89S52)


تو اينترنت خيلي ها دنبال چنين پروگرامري مي گردند و خود من هم يكي از اونها بودم كه با جستجو هاي زياد در اينترنت آخرش رو يه سايت خارجي نقشه و كد هگز و برنامه اصلي كه به زبان c مي باشد رو دانلود كردم و خودم اونو مونتاز كردم و كاملا جواب داده البته يه مشكلاتي هم داشت كه بر طرف كردم از جلمه اينكه رابط سريال اون با يه آيسي بود كه به اين راحتي تو بازار گير نمي آمد و من با max232 يا همون hin232 يه تغييراتي توش دادم. اين پروگرامر تمامي ميكرو هايي كه در بالا ذكر شد را مي تواند برنامه ريزي كند. در ضمن برنامه اي كه اين كد هگز رو تو ميكرو مي ريزه تحت ويندوز مي باشد نه داس و كار با اون خيلي راحت مي باشد.
توضيحات سخت افزار:
اول از همه شما بايد يه ميكرو كنترولر at89c51 خام تهيه كرده و برنامه اصلي(CODE HEX EZ52 (MGH)) رو توي اون كپي كنيد. كه براي اين كار بايد يه پروگرامر ديگه قرض بگيرد و اين كار رو انجام بديد كه براي اولين و آخرين بار شما اين كار را انجام خواهيد داد چون بعد از اون شما ديگه يه پروگرامر خواهيد داشت. در صورتي كه آيسي رابط سريال DS275 پيدا كرديد اين مدار را مونتاز كنيد.
براي واضح تر بودن نقشه مدار آن را ذخیره کرده و در کامپیوتر خود آن را مشاهد فرمایید.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اگه آيسي DS275 پيدا نكرديد مي توانيد از همون آيسي معروف يعني MAX232 يا همون HIN232 كه تو بازار با اين اسم مي شناسند پروگرامر رو بسازيد. حال در مدار بالا قسمتي كه به پايه هاي 3 و 4 DS275 وصل شده را حذف كرده و به جاي اون مدار زير را قرار دهيد.
در ضمن پایه ۱۵ این آیسی را به زمین وصل کرده و پایه ۱۶ آن را به مثبت ۵ ولت وصل کنید این دوپایه تغذیه این آیسی می باشند.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
پايه 14 آيسي به پين 2 پورت COM وصل شود و پايه 13 آيسي به پين 3 پورت COM وصل شود و پين 5 پورت COM را به زمين مدار وصل كنيد.
--------------
دانلود كد هگز برنامه ، دانلود برنامه به زبان C ، نرم افزار EZ52

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


توضيحات نرم افزار:
كار كردن با اين نرم افزار بسيار آسان مي باشد. شما ابتدا بايد پورت COM را مشخص كنيد يعني اينكه بعضي از مادر بوردها يك پورت COM دارند و بعضي ها دو پورت COM دارند پس اگه پروگرامر رو به پورت COM1 وصل كرديد توي اين نرم افزار اين پورت رو براش انتخاب مي كنيد تا سخت افزار رو شناسايي كند بعد از شناسايي سخت افزار شماره قطعه اي كه رو ZIF PIN قرار داده ايد رو شناسايي مي كند اكنون شما مي توانيد با كليد كردن روي send كد هگز رو انتخاب كنيد برنامه ابتدا به طور اتوماتيك حافظه ميكرو را پاك مي كند بعد از پاك كردن شروع به نوشتن برنامه جديد رو ميكرو مي كند. اگه بخواهيد كد هگزي كه توي يه ميكرو مي باشد رو يه كپي ازش بزنيد (يعني برنامه شو بقاپيد) گزينه read را كليد كرده و آدرس يه مكاني از هارد ديسك رو روي كامپيوتر بهش بديد تا از برنامه توي ميكرو يه كپي بزنه.
البته اگه قبلا تيك lock code را تو اون ميكرو زده باشند به شما اجازه كپي از محتويات ميكرو رو نخواهد داد.MGH
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

نقشه پروگرامر سري 8051 100% عملي , این مطلب یعنی نقشه پروگرامر سري 8051 100% عملي در وبلاگ
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید می باشد.

lofboys
06-05-2009, 14:28
از دوستان کسی سخت افزار میخونه ؟ میخوام یه مدار که با میکرووکنترلر طراحی میشه رو برام طراحی کنه ...
اگه کسی هست ممنون میشم کمک کنه :11:

roknedin
06-05-2009, 22:32
سلام
اگه لطف کنید پروگرمر 8051 بزارید ممنون میشم!!

payam
12-05-2009, 21:06
سلام
اگه لطف کنید پروگرمر 8051 بزارید ممنون میشم!!

سلام دوست من . توی پست 294 معرفی شده :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

شاد باشی :)

ماراتون
17-05-2009, 22:44
سلام ممنون دوست من - منتظر كمك و ارايه پروژه هات هستم
مباحث بعدي به قرار زير است :

1. ارتباط 8051 با key pad و نمايش كليد فشرده شده بر روي 7 سگمنت

2. ارتباط LCD و 8051

3. ارتباط key pad و LCD از طريق يك 8051

4. ارتباط سريال 2 تا 8051

تا آخر هفته آينده اين 4 مبحث رو مي گم و مداراتش رو با نرم افزار PROTEUS مي گذارم
دوستاني كه اين تاپيك رو ميبينن خواهشن نظر بدن
(در مورد 4 مبحث بعدي و اگر پروژه اي هم دارن بگذارن)
ممنون
خدا نگه دار

آقا اگه يك زحمتي بكشيد و دوباره پروژه هاي بالا رو آپلود كنيد خيلي ممنون ميشم. آخه لينكش خراب هست.
در ضمن اگه ممكنه در مورد تلفيق شماره 3 و 4 هم توضيح بديد يا سورسش رو بگذاريد. يعني ارتباط KeyPad با يك 8051 و ارتباط سريال با يكي ديگه و در نهايت ارتباط LCD با 8051 شماره 2
ممنون

payam
18-05-2009, 20:47
آقا اگه يك زحمتي بكشيد و دوباره پروژه هاي بالا رو آپلود كنيد خيلي ممنون ميشم. آخه لينكش خراب هست.
در ضمن اگه ممكنه در مورد تلفيق شماره 3 و 4 هم توضيح بديد يا سورسش رو بگذاريد. يعني ارتباط KeyPad با يك 8051 و ارتباط سريال با يكي ديگه و در نهايت ارتباط LCD با 8051 شماره 2
ممنون

سلام . بر خلاف AVR ؛ پروژه های آماده ی 8051 مقداری کم هستند توی نت . با این حال سایت های خارجی هنوز در زمینه ی 8051 فعالیت هایی دارند چون با وجود برتری نسبی AVR ؛ 8051 هنوز هم کارایی های خاص خودش رو داره . پس شما به این لینک ها سری بزن .


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشید :)

vahidsport
21-05-2009, 18:01
سلام به همه

من چنتا از پروژه های ساده 8051 که مربوط به LCD و Flasher ,...میشن رو که با C نوشته شده باشه و اگه شد فایل های مریوط به برنامه پروتئوس و خود برنامه رو هم داشته باشه

vahidsport
21-05-2009, 18:02
اين پروژه تقريبا آسونه و ميشه سريع بستش.
فايل هگز و اسمبلي و شماتيك رو هم در آدرس زير گذاشتم
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
بايد بگم كه پروژه بعدي تركيب اين دو پروژه هست
دوستاني كه به اين تاپيك سر مي زنند لطفا نظر هم بدن
شكل مدار رو هم ببينيد :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


اگه این پروژه رو هم بزارید خیلی خیلی ممنون میشم

payam
21-05-2009, 20:19
سلام خدمت دوستان عزیزم . از اونجا که اکثرا میدونیم ؛ فراوانی پروژه های اماده ی 8051 در نت ؛ به نسبت AVR بسیار کمتره . اونم به رغم پرکاربرد بودن و روی کار بودن AVR در این سال های اخیر بوده .
پس پروژه های عملی با 8051میکرو کنترلر در سایت های پارسی زبان بسیار کمیاب هستند .

نتیجه میگیریم که به سایت های لاتین رجوع کنیم ؛ البته تعداد پروژه ها محدود هستند . من سایت


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدرو معرفی میکنم . با رفتن به لینک بالا لیستی از پروژه های آماده ؛ به همراه فایل هگز و شبیه سازی شده با پروتئوس در اختیارتون قرار میگیره .

روی هر کدوم یکی از پروژه ها که مد نظرتون بود میتونید کلیک کنید ؛ و در صفحه ی جدید گزینه ی


Download the Source codeو


Download the PCBرو انتخاب کنید . شروع به دانلود میکنه .

پایدار باشید .

vahidsport
22-05-2009, 13:45
اگه این پروژه رو هم بزارید خیلی خیلی ممنون میشم

کسی این پروژه رو نداره که بزبان C نوشته شده باشه یا یه Flasher ساده که به زبان C نوشته باشه بد جور جور دنبالشم

payam
22-05-2009, 14:02
کسی این پروژه رو نداره که بزبان C نوشته شده باشه یا یه Flasher ساده که به زبان C نوشته باشه بد جور جور دنبالشم

دوست من ؛ حتما فلاشر با 8051 میخواین ؟ با AVR باشه و به زبان C به کارتون نمیاد ؟

vahidsport
22-05-2009, 20:25
دوست من ؛ حتما فلاشر با 8051 میخواین ؟ با AVR باشه و به زبان C به کارتون نمیاد ؟

نه avr بکارم نمیاد 8051 میخوام

ممنون

mora66
23-05-2009, 11:35
ببخشيد.
يه برنامه براي انتقال ديتا به پورت كام ميخوام..
سورسشو هم ميخوام..

اگه با يه برنامه ي ويژوال نوشته شده باشه خيلي بيشتر ممنونتون ميشم...

واسه فرستادن ساعت به LCD بايد يه برنامه براي اين كار داشته باشم.

خيلي لطف ميكنيد....

ssas
26-05-2009, 18:19
سلام.
برنامه چراغ راهنمایی رو می خواستم.
ممنون

payam
26-05-2009, 21:32
سلام.
برنامه چراغ راهنمایی رو می خواستم.
ممنون

سلام دوست عزیز .

چراغ راهنما با 8051 ، خدمت شما :

دانلود

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشید :)

rasoul2005
26-05-2009, 21:37
سلام.
برنامه چراغ راهنمایی رو می خواستم.
ممنون

سلام دوستان

منم دنبال این مدار هستم ولی با این تفاوت که من دو تا چراغ راهنمایی میخوام که قابل تنظیمم باشد یعنی بعد از چند ثانیه چراغ بعدی روشن بشد از دوستان اگه کسی چیزی بلده ممنون میشم جواب بدد

این ترم اخریه بیشترش تو کار پروزه رفتم

ممون

payam
29-05-2009, 20:36
سلام . خدمت دوستان بازدید کننده عرض کنم که :

مدارات و پروژه های آماده ی AVR ؛ در تاپیک زیر

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشید :)

جعفرزاده
05-06-2009, 12:54
ازاینکه درفکر دیگران هستید سپاسگزارم.

vahidsport
07-06-2009, 10:17
سلام

من یه مشکل دارم و اونم اینکه تو برنامه Franklin میخوام از دستور ftoa استفاده کنم گیر میده بهش اگه کسی میدونه چطور باید ازش استفاده کنم یه لطفی کنه بهم بگه عصاب نزاشته برام

یه سوال دیگه کسی با برنامه mikroC 8051 کار کرده

و یه سوال دیگه بهترین برنامه برای 8051 با زبان C کدون برنامه هست تا من برم به اون کار کنم


خیلی خیلی ممنون

hreza66
07-06-2009, 13:01
سلام
دوستان من یه پروژه ماشین لباسشویی با 8051 می خوام
کسی می تونه کمک کنه؟
خیلی بهش احتیاج دارم

payam
08-06-2009, 07:42
سلام
دوستان من یه پروژه ماشین لباسشویی با 8051 می خوام
کسی می تونه کمک کنه؟
خیلی بهش احتیاج دارم

سلام . خوبین ؟ بابا این که پروژه ی سختیه ؛ کسی که انقدر واسش زحمت کشیده که نمیاد مجانی بزاره توی نت ! من بودم نمیزاشتم .

hreza66
08-06-2009, 17:04
سلام . خوبین ؟ بابا این که پروژه ی سختیه ؛ کسی که انقدر واسش زحمت کشیده که نمیاد مجانی بزاره توی نت ! من بودم نمیزاشتم .

سر قیمت کنار میایم :31:
خیلی نمی خوام پیچیده باشه
مثلا :
1-به مدت 1 دقیقه آبگیری و پودر
2-بعد به مدت مثلا نیم ساعت هر 1 دقیقه یکبار به سمت راست و چپ بچرخه
3- بعدش آب و کف رو خالی کنه
4-آخرشم 1 دقیقه به راست و 1 دقیقه به چپ بچرخه تا آب لباسا گرفته یشه

vahidsport
08-06-2009, 18:09
سلام

من یه مشکل دارم و اونم اینکه تو برنامه Franklin میخوام از دستور ftoa استفاده کنم گیر میده بهش اگه کسی میدونه چطور باید ازش استفاده کنم یه لطفی کنه بهم بگه عصاب نزاشته برام

یه سوال دیگه کسی با برنامه mikroC 8051 کار کرده

و یه سوال دیگه بهترین برنامه برای 8051 با زبان C کدون برنامه هست تا من برم به اون کار کنم


خیلی خیلی ممنون


خیلی خیلی ممنون

amin khan
10-06-2009, 16:14
سلام دوستان
من میخوام با 8051 سرعت یه جسم رو اندازه بگیرم:18:
.
.
.
به این شکل که با دو تا سنسور مادون قرمز مدل cny70 این کار رو بکنم
یعنی وقتی که جسم از جلوی سنسور اول رد بشه تایمر میکرو فعال و وقتی که از جلوی دومی رد شد تایمر میکرو از کار بیفته و با مسافت و زمان سرعتش به دست بیاد
ولی میخواستم بدونم که سنسور چه سیگنالهایی رو ارسال میکنه و اصلا برای این کار مناسب هست؟
از نظر برد تا چقدر میتونه جسم رو حس کنه؟
A/D میخواد یا مستقیم وصل کنم به میکرو؟
با سون سگمنت میشه سرعت رو نشون داد یا حتما باید ال سی دی باشه؟
کلا یه سری توضیحاتی بدین ممنون میشم به خصوص در مورد سنسور مناسب

samira3601
27-06-2009, 01:05
در اين پروژه تركيب پروژه هاي 1 و 2 را مشاهده مي كنيم . اگر 2 مورد قبلي را ديده باشيد اين مدار براحتي براي شما قابل تحليل است. ذكر نكات زير لازم است :
1. اولا پورت 0 ميكرو رو بايستي Pull up بكنيم يعني توسط مقاومت 10k انرا به ولتاژ 5 ولت متصل كنيم . اما من در اين مدار اين كار را نكردم و جواب داد اما اين نكته رو براي اين گفتم كه بدونيم اين يك قانون كلي است و بايد رعايت بشه (گاهي به دليل عدم رعايت اين مسئله مدار جواب نميده )
2. در اين صفحه كليد * نقش پاك كردن كل صفحه و # نقش پاك كردن آخرين كليد را انجام مي دهد .
بقيه مطالب در مدار مشخص است.
دانلود فايل هگز و اسمبلي و شماتيك مدار :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

دوستان اگه اين پروژه ها براشون به درد بخور هست لطفا نظر هم بدن !!
بعد از ارايه چند پروژه مقدماتي ديگه به بحث هاي نيمه حرفه اي هم مي رسيم ! پروژه هايي كه تو دانشگاه خودمون انجام داديم و به عنوان پروژه درس ارايه كرديم مثل : ماشين حساب - ساعت ديجيتالي - روبات - تابلو روان - آسانسور
و .... اگه اين جور پروژه ها خوب هست لطفا نظرتون رو هم بگيد !!

شكل مدار رو هم ببينيد :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
به نظرم خیلی عالیه
اگه میشه پروژه اسانسورم بزارید خیلی ممنون میشم
واقعا بهش نیاز دارم
مرسی

payam
27-06-2009, 11:52
به نظرم خیلی عالیه
اگه میشه پروژه اسانسورم بزارید خیلی ممنون میشم
واقعا بهش نیاز دارم
مرسی

سلام . خوش اومدین

مدار آسانسور رو واستون اینجا قرار دادم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

امیدوارم استفاده کرده باشید .

یا حق

fazarbadegan
01-09-2009, 03:58
سلام

چه جوری میشه با 8051 یه صفحه کلید رو شبیه سازی کرد؟؟؟ صفحه کلیدی که نیاز دارم 9-0 و A-F علاوه بر Enter , BackSpace رو قراره پوشش بده نه چیز دیگه ای رو.

باید از پورت سریال استفاده بشه؟؟؟

اگه قرار باشه یک cmos ram 32k,8-bit و یه LCD هم علاوه بر این صفحه کلید به این میکرو 8051 وصل کنیم...
با پروتئوس چه شکلی میشه؟؟؟؟
من مشکل دارم نمیدونم چه جوری باید پورت ها رو تخصیص بدم به ورودیهای هر قطعه

مثلا:
اگه پورت صفر و دو رو برای حافظه خارجی بگیریم... دو تا پایه از پورت سه هم که گرفته میشه... برای کنترل ها
برای ال سی دی هم که بیایم پورت یک رو در نظر بگیریم و با سه تا از پایه های پورت سه کنترلش بکنیم....
سه تا پایه از پورت سه بیشتر خالی نمی مونه...

بعد حالا این صفحه کلید رو چه جوری قراره شبیه سازی کنیم؟؟؟
صفحه کلید اسکن کد میده درسته؟؟؟؟
بعد این یعنی چی؟؟؟؟
یعنی مثلا من باید بیام با یه پورت سریال که در نظر میگیرم... بیت به بیت با کلاک زدن جداگانه خودم اسکن کد ها رو بهش بدم بعد توی برنامه بهش بگم که تبدیلش کنه به حرف مورد نظرم؟؟؟ و روی ال سی دی نشون بده؟؟؟ تبدیلش کنم به کد اسکی و بدم به ال سی دی؟؟؟

یا بیام یه ماتریس درست کنم و صفحه کلید رو روش پیاده سازی کنم؟؟؟؟
بعد اگه بخوام از این روش استفاده کنم دو تا پورت میخوام... برای هر سطر و ستونی... درسته؟؟؟؟
بعد اینا رو چی کار کنم؟؟؟ از کدوم پورت ها استفاده کنم؟؟؟؟

بعد من نمیدونم چیکار کنم...
میشه لطفا یکی راهنمایی کنه؟؟؟؟

asheghe0khasteh
22-10-2009, 15:10
با سلام.از مطالب خیلی مفیدتون متشکرم
من یک میکروکنترلر 80c52 دارم که برنامه ریزی شده و وقتی دستگاه رو روشن می کنم یه متنی می اد حالا می خواد این متن رو حذف کنم.لطفا راهنمایی ام کنید

payam
22-10-2009, 23:30
شما بايد برنامه اي رو كه داخل آي سي هست رو داشته باشيد .

و با اعمال تغييرات روي برنامه ؛ آي سي 80c52 رو مجددا پروگرام كنيد و در مدار دستگاه قرار بديد .

ramin005
30-10-2009, 21:58
با سلام خدمت اساتید
من نیاز به دو پروژه ی پروتوس 8051 زیر دارم
متاسفانه اطلاعات کافی در این زمینه ندارم و میخوام به استاد تحویل بدم
ممنون میشم اگه این پروژه ها رو با مقداری توضیح در اختیارم بزارید:

- پروژه اول: کنترل ترافیک ( بشه دو چراغ راهنمایی رو کنترل کرد، طوری که وقتی یکی سبز شد اون یکی قرمز شه و بعد از چند ثانیه هر دو زرد و بعد یکی قرمز و اون یکی سبز شه)

- پروژه دوم: شامل LCD و یه صفحه کلید(keypad) است، توی LCD ابتدا چند رشته مثلا اسم و فامیل و ایمیلو به ترتیب نشون بده بعد با زدن دکمه ی 1 روی صفحه کلید ساعت و دکمه 2 روی صفحه کلید تاریخو نشون بده.

با سپاس فراوان
ایمیل: rmn6586 @ yahoo . com

payam
02-11-2009, 12:03
با سلام خدمت اساتید
من نیاز به دو پروژه ی پروتوس 8051 زیر دارم
متاسفانه اطلاعات کافی در این زمینه ندارم و میخوام به استاد تحویل بدم
ممنون میشم اگه این پروژه ها رو با مقداری توضیح در اختیارم بزارید:

- پروژه اول: کنترل ترافیک ( بشه دو چراغ راهنمایی رو کنترل کرد، طوری که وقتی یکی سبز شد اون یکی قرمز شه و بعد از چند ثانیه هر دو زرد و بعد یکی قرمز و اون یکی سبز شه)

- پروژه دوم: شامل LCD و یه صفحه کلید(keypad) است، توی LCD ابتدا چند رشته مثلا اسم و فامیل و ایمیلو به ترتیب نشون بده بعد با زدن دکمه ی 1 روی صفحه کلید ساعت و دکمه 2 روی صفحه کلید تاریخو نشون بده.

با سپاس فراوان
ایمیل: rmn6586 @ yahoo . com

سلام دوست من . پروژه ی کنترل ترافیک ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]), نمایش متن بر روی LCD ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])اما از اونجایی که خودم تا به حال با 8051 کار نکردم نمیتونم توی ادیت برنامه هاش کمکت کنم . . .

__SONY__
02-11-2009, 21:46
با سلام
اول از همه از تمامی دوستان به خاطر پست های مفیدشان تشکر میکنم
من دانشجوی کاردانی الکترونیک هست
در کلاس میکروکنترولر استاد گفت همه باید یک برنامه بنویسند و با اسمبلر تبدیل کرده و فابل Hex و List را برام بیارید
تنها راهنمایی هم که کرد گقت برای پیدا کردن اسمبلر در اینترنت سرچ کنید windows xp assembler 8051 و من هم هر چی سرچ کردم به نتیجه ای نرسیدم
حالا از شما درخواست دارم که یک اسمبلر و نحوه کار با آن را برام بزارید
البته تو پستها گشتم یکی دیدم و لینک دانلودش خراب بود
ممنون ار همه شما فقط هر کی میتونه سری کمکم کنه که عجله دارم
:40:

payam
02-11-2009, 23:49
با سلام
اول از همه از تمامی دوستان به خاطر پست های مفیدشان تشکر میکنم
من دانشجوی کاردانی الکترونیک هست
در کلاس میکروکنترولر استاد گفت همه باید یک برنامه بنویسند و با اسمبلر تبدیل کرده و فابل Hex و List را برام بیارید
تنها راهنمایی هم که کرد گقت برای پیدا کردن اسمبلر در اینترنت سرچ کنید windows xp assembler 8051 و من هم هر چی سرچ کردم به نتیجه ای نرسیدم
حالا از شما درخواست دارم که یک اسمبلر و نحوه کار با آن را برام بزارید
البته تو پستها گشتم یکی دیدم و لینک دانلودش خراب بود
ممنون ار همه شما فقط هر کی میتونه سری کمکم کنه که عجله دارم
:40:

سلام .



خوب ؛ شما اینجوری ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]=en&source=hp&q=8051+assembler&aq=0&aqi=g3g-s1g6&oq=8051+assem&fp=320112a0390797f6) هم میتونستید سرچ کنید .
این ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) هم یک اسمبلر برای 8051
برنامه ای هم خواستید میتونید اینجا ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) دنبالش بگردید

موفق باشی :31:

__SONY__
03-11-2009, 12:29
سلام .



خوب ؛ شما اینجوری ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]=en&source=hp&q=8051+assembler&aq=0&aqi=g3g-s1g6&oq=8051+assem&fp=320112a0390797f6) هم میتونستید سرچ کنید .
این ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) هم یک اسمبلر برای 8051
برنامه ای هم خواستید میتونید اینجا ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) دنبالش بگردید

موفق باشی :31:


ممنون از لطفتون
فقط اگر میشه نحوه کار باهاش را هم برام توضیح بده
آخه باره اوله که با اینجور برنامه ها میخواهم کار کنم

payam
03-11-2009, 23:29
من خودم هم با 8051 کار نمیکنم والا ؛ طرز کار با اسمبلرش رو هم نمیدونم !

__SONY__
04-11-2009, 10:15
آقا ممنون فهمیدم چه جوری باید باهاش کار کرد
فقط اگر کسی میدونه بهم بگه که چرا برنامه ای را که اسمبل میکنه چند تا error هم پیدا میکنه
حتی این برنامه ی ساعت دیجیتال هم که خودتان قرار دادید برای این هم error میده
کسی میتونه راهنماییم کنه؟
ممنون:40:

__SONY__
08-11-2009, 06:40
با سلام میخواستم ببینم کسی میتونه منو راهنمایی کنه؟
برنامه ای بنویسید که یک عدد 8 بیتی را از پرت P0 دریافت کند,در صورتی که عدد مورد نظر یک باشد پرت P1 را با تاخیر 1ثانیه روشن و خاموش کند,درصورتی که عدد گرفته شده برابر 2 باینری باشد همان پرت را با تاخیر 2 ثانیه روشن و خاموش کند و در صورتیکه هیچ کدام از این 2 عدد نباشد P1 را با تاخیر 3 ثانیه روشن و خاموش کند؟؟؟؟
راهنمایی:
گرفتن از پرت P0 :
MOV A,P0

تاخیر 1 ثانیه:
00000001

تاخیر 2 ثانیه:
00000010

تاخیر 3 ثانیه:
به غیر از دو عدد بالا (1 و 2 باینری)باشد

ممنون میشم هر کسی میتونه این برنامه را برام بنویسد
با تشکر:40:

ramin005
24-11-2009, 11:59
با سلام

من یه پروژه دارم:
شامل LCD و یه صفحه کلید(keypad) است، توی LCD ابتدا چند رشته مثلا اسم و فامیل و ایمیلو به ترتیب نشون بده بعد با زدن دکمه ی 1 روی صفحه کلید ساعت و دکمه 2 روی صفحه کلید تاریخو نشون بده

الان میتونم تو LCD اسم و فامیلو ... نشون بدم اما نتونستم ساعتو بهش اضافه کنم!
لطفا راهنمایی کنید که چطوری میتونم ساعتو بهش اضافه کنم جوری که با زدن کلید 1 ساعتو نشون بده( کی پدو میتونم اسکن کنم یعنی با زدن کلید 1 یه رشته رو به جای ساعت میتونم نشون بدم(مثلا اسم) فقط اضافه کردن ساعت مونده )

:40:
لـــطفـــــا کمــــــــک کنــــــــــــید :11:
:40:

mashin01
25-11-2009, 12:09
merc kgaili mamnon

محمد خوشنواز
02-12-2009, 22:42
این پروژها چه جوری دانلود میشه؟

محمد خوشنواز
02-12-2009, 22:49
این پروژها چه جوری دانلود میشه؟

mohsen.pc
04-12-2009, 00:41
با سلام
من یک پروژه اسمبلی با 8051 دارم. تقویم فارسی بر روی LCD با یک حافظه . کسی میتونه به من کمک کنه. ممنون میشم

el.naderi
16-12-2009, 11:32
با سلام
من می خوام بین یک فرستنده وتعداد زیادی گیرنده ارتباط برقرار کنم برای هر گیرنده هم یک ادرس تعریف کنم
تعداد 32بیت برای اینکار در نظر گرفتم که 8 بایت بشه تا حسابی برای ادرس دهی دسم باز باشه
حالا باید چیکار کنم
خواهش می کنم کمکم کنید

Null
27-12-2009, 15:25
سلام
یه برنامه چراغ ورود ممنوع رو میخام که از حداکثر 32 let تشکیل شده باشه و led ها به تریج روشن بشن یعنی اول دایره یه صورت تدریجی روشن بشه وبعد خط عمودی هم به صورت تدریجی روشی بشه(با تاخیر)
برای میکروکنترلر 8052 به زبان C باشه بهتره
ممنون میشم راهمنایی کنید

کوکا
31-12-2009, 19:18
چجوری دانلود کنم ؟

shadi_87
01-01-2010, 21:00
من یه تمرین باید تحویل بدم:برنامه ای بنویسید که تعداد وقایع سیگنالT1 را در مدت زمان 20 میکرو ثانیه اندازه گرفته و در ACC بریزددر ضمن من تازه این درس و برداشتم اگه سوالم آسونه مسخرم نکنین!!!!!!

NEDA SH
01-01-2010, 23:48
سلام من یک پروژه دارم :طراحی یک فرکانس متر که یک موج sin را بگیرد و بتواند فرکانس ان را از رنج 1Hz تا 1khz اندازه بگیرد.
ممکنه کمک کنید ؟

LORD HAMED
08-02-2010, 20:23
با سلام خدمت دوستان
یه پروژه لازم دارم لطفا سرع کمک کنید
یه چراغ راهنمایی میخوام که زمانه شمارشش رو بشه دستی تنظیم کرد
در ضمن اگه خط به خط برنامه رو هم توضیح فارسی بدین فوق العاده ممنون میشم

LORD HAMED
08-02-2010, 23:51
دوستان کسی نیست جواب بده
من باید این پروژه رو یک هفته ای تحویل بدم
لطفا کمک کنید

martin_superhuman
14-05-2010, 18:07
سلام دوستان
من دنبال پروژه چراغ راهنما با AT89S51 میگردم،
ممنون میشم کمکم کنید

با سپاس فراوان:11:

rosajalali
22-05-2010, 19:09
chejoori bayad proje ha ro dl kard?

mbsh
25-05-2010, 17:15
سلام دوستان عزيز
من كار با ميكروها رو تازه شروع كردم و خيلي ناواردم. مخصوصا تو قسمت وقفه و تايمر و ممنون مي شم اگه كسي كمكم كنه تا اين دو مبحثو ياد بگيرم.
الان مي خوام كاربرد تايمر و وقفه رو ياد بگيرم. مي خوام يه برنامه بنويسم كه دو تا ميكرو توش باشه كه به اوليش دو تا كليد وصل باشه كه با هر بار فشردن كليد اول كانتر داخلي يه دونه بهش اضافه بشه و بعد تعداد اين فشار دادنا رو هم همش تو يه 7 سگمنت نشون بده.
كه اصلا نمي دونم كانتر داخلي با چي نشون داده مي شه كه بعد بهش اضافه كنم.
ادامه برنامه اين طوريه كه وقتي دست رفت رو كليد 2 تايمر طول زماني كه دست رو كليد 2 هست رو نشون بده.
اصلا من چه جوري بايد بنويسم؟بايد اول دستورات روتين يك برنامه رو مثلا با تايمر 2 مود 1 شروع كنم و ارتباط سريال و بعد بگم هر چي كه هر وقت كه پورت متصل به كليد 2 يك شد، چي بشه؟
و بعد اين كه اگه يه دفعه وقفه فشردن كليد 1 اومد رو هم چه جوري نشون بدم(با چه دستوري) و هم چه جوري به كانتر اضافه كنم؟
ممنون مي شم اگه بهم ياد بديد. راستي شكل پروتيوسم هم فكر كه نه، يه چيزي بيشترش احتمالا نادرسته. اگه لطف كنيد نواقصشو بهم بگيد ممنون مي شم.

rosajalali
26-05-2010, 20:01
ارتباط سریال 2 میکرو با قابلیت نمایش روی lcd

rosajalali
29-05-2010, 21:04
سلام ممنون دوست من - منتظر كمك و ارايه پروژه هات هستم
مباحث بعدي به قرار زير است :

1. ارتباط 8051 با key pad و نمايش كليد فشرده شده بر روي 7 سگمنت

2. ارتباط LCD و 8051

3. ارتباط key pad و LCD از طريق يك 8051

4. ارتباط سريال 2 تا 8051

تا آخر هفته آينده اين 4 مبحث رو مي گم و مداراتش رو با نرم افزار PROTEUS مي گذارم
دوستاني كه اين تاپيك رو ميبينن خواهشن نظر بدن
(در مورد 4 مبحث بعدي و اگر پروژه اي هم دارن بگذارن)
ممنون
خدا نگه دار
ina kojan?

shakiba69
06-06-2010, 12:55
salam kheili kheili aliye az zahamatetoon mamnon

sh_jojo360
08-06-2010, 14:36
سلام دوستان
من مدار چراغ راهنمایی را لازم دارم
لینکهای دانلود قبلی باز نمیشن
لطفا کمکم کنید:11:ممنونم

samaneh_27944
09-06-2010, 11:17
salam
source ghoflo kilido ba 8051 v be zabane asembeli darid?

jodye
15-06-2010, 00:58
jodye=من شکل مداری ساعت دیجیتال با آی سی 8051 وسون سگمنت رو لازم دارم

دشسثقشسشیه20
18-06-2010, 00:29
سلام
من یک مدار زاویه سنج میخوام

rezaec
21-06-2010, 18:28
سلام Gabana عزیز
ممنون به خاطر همه چی ، واقعا آدم به وجد میاد از این همه تسلط.
من یه پروژه خیلی مهم دارم، خیلی هم باهاش ور رفتم...
میشه یه راهنمایی بکنی؟
میخوام با استفاده از 8255 یه keyboard 4*4 رو به 8088 وصل کنم و عدد 4 رقمی فشرده شده رو به 4 تا 7سگمنت ببرم.
پیشاپیش از لطفت ممنون.

moin8778
21-07-2010, 16:06
سلام به همه دوستان من الکترونیک خوندم الان میخام به میکرو 8051 یک lcd وصل کنم و در اون یه چیزایی تایپ کنم هر کی میتونه یک مدار اتصال میکرو به lcd و یک برنامه آزمایشی ساده که بشه تو lcd نشون داد رو بهmoin8778@yahoo.com (بهmoin8778@yahoo.com) ارسال کنه ممنون از همه دوستان . برنامه ازمایشی مثلا کلمه خدمات کامپیوتری رو تایپ کنه

mansuoor
19-08-2010, 17:24
سلام من كتاب PDF آموزشي ساخت گام به گام تابلو روان را دارم متشكرم

ebimeebime
23-08-2010, 18:03
دوست عزیز ، من برنامه اسمبلی و فایل هگز اد یک نمونه از برنامه ای که شما خواستید
را در آدرس های زیر قرار داده ام میتوانید استفاده کنید این برنامه کلمه EBRAHIM را بصورت متحرک بر روی LCD از طریق میکرو کنترلر 8051 نشان می دهد فایل تصویری را هم می توانید ببینید

برنامه اسمبلی:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

فایل هگزاد این برنامه:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

فایل تصویری:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

شما براحتی می توانید همه اینها را آز آدرس های بالا download کنید اگه یکبار نتونستید دوباره تکرار کنید حتما موفق میشید من با اینترنت اکسپلورر upload بعد برای اطمینان download کردم

ebimeebime
24-08-2010, 18:33
من اتصال یک نمونه lcd به میکرو 8051 را به email شما ارسال کردم به همراه فایل اسمبلی و هگزاد

merymercury
24-10-2010, 19:51
سلام
از بين پروژه هايي كه گذاشتم تنها پروژه اول اونم تازه 2 بار دانلود شده !!!
حداقل دانلود نمي كنيد نظرتون رو بگيد كه ادامه بدم يا نه ...


كسي دانشجوي سخت افزار نيست ؟

سلام دوست عزیز خسته نباشی
خیلی ممنون بابت پروژه هایی که گذاشتی
من تو گوگل دنبال پروژه میگشتم که با سایت شما آشناشدم

استاد ما گفته یه رقص نور با سون سگمنت با 89s51 درست کنیم،برای شنبه هفته آینده لازمش دارم
بطوریکه اگه باDIP SW صفر بدیم رقص نوری از چپ به راست(a,b,c,d,e,f) اگه یک بدیم از راست به چپ(a,f,e,d,c,b)
اگه 2بدیم(b,c+e,f)چشمک بزنه و اگه 3 بدیم (a,g,d)چشمک بزنه:19::sad:
میشه خواهش کنم تو برنامه نویسیش کمک کنی
خودش بعنوان راهنمایی گفته که باید از 4 تا look up table استفاده کنید برای هر حالتش....

sogandhoda
10-12-2010, 00:22
من با برنامه پروتئوس کار ميکنم و ميخوام بازبان اسمبلي وکاربا 8051 برنامه هاي زير را بنويسم
وعجله دارم خواهش ميکنم کمکم کنيد
زيادبا اسمبلي کار نکردم
ميدونم اين برنامه ها ساده است ولي بدادم برسيد ديگه

برنامه اي بنويسيد که کلمات زيررا باتاخيرهاي ده ثانيه اي دروسط
lcd
نمايش دهد واين کارراتکرارنمايد
micro
processor
lab
برنامه اي بنويسيدکه بافشردن کليد 1‍‍ کلمه
micro
وبافشردن کليد2 کلمه
processor
وبافشردن کليد3 کلمه
lab
وباکليد4 هرسه کليدوبادکمه 5صفحه را پاک نمايد:19:

sogandhoda
10-12-2010, 00:32
من با برنامه پروتئوس کار ميکنم و ميخوام بازبان اسمبلي وکاربا 8051 برنامه هاي زير را بنويسم
وعجله دارم خواهش ميکنم کمکم کنيد
زيادبا اسمبلي کار نکردم
ميدونم اين برنامه ها ساده است ولي بدادم برسيد ديگه

برنامه اي بنويسيد که کلمات زيررا باتاخيرهاي ده ثانيه اي دروسط
lcd
نمايش دهد واين کارراتکرارنمايد
micro
processor
lab
برنامه اي بنويسيدکه بافشردن کليد 1‍‍ کلمه
micro
وبافشردن کليد2 کلمه
processor
وبافشردن کليد3 کلمه
lab
وباکليد4 هرسه کليدوبادکمه 5صفحه را پاک نمايد

Amin_ar
29-01-2011, 22:05
با سلام خدمت دوستان عزیز

من یه emulator ساده برای 8051 لازم دارم، برای درس زبان ماشین.در واقع اسمبلی. خیلی search کردم یه Emulator 8051 V1.0 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) و JSIM-51 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) پیدا کردم که لینک دانلودش قابل دسترس نیست. اگه امکان داره منو راهنمایی کنید.

با تشکر.

m52sadeghi
02-12-2011, 13:40
با سلام لطفا راهنمایی کنید با استفاده از یک DAC و میکرو 8051 مداری طراحی کنید که سرعت یک موتور DC موازی را با تغییر اندازه میدان آن تغییر دهد. عدد سرعت از روی یکی دیگر از پورتهای 8051 به میکرو به صورت باینری داده می شود.

alia68z
19-06-2012, 23:05
سلام من یک پروژه دارم که روی ال سی دی دارم که نمیدونم که این اعدادی که این برنامه به ورودی p1می دهد نمیدانم که چه کار میکند کسی میتونه راهنماییم کنه.
با تشکر:40:

amin khan
12-07-2012, 19:03
سلام
کسی کتابی چیزی برای آموزش فارسی 8051 به زبان c ( نه اسمبلی) و یا آموزش فارسی فرانکلین نداره؟
ممنون میشم اگه لینک بدین

lvliti
20-08-2012, 14:36
سلام
یه پروژه (مدار) میخواستم که با 2 سنسور دفعات ورود و خروج رو به یک مرکز شمارش کنه و مقادیر رو در یک LCD نمایش بده :( با استفاده از میکروکنترل 8051 و زبان اسمبلی .

kesi has komak kone ? :sad:

z522msn
03-05-2013, 09:21
سلام کد زیر برای تولید سیگنال صوتیه ولی نمیدونم که چرا ارور میده کسی میدونه چرا؟؟؟






برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

mad86
04-05-2013, 15:05
دوست عزيز برنامه شما اسمبلي هست واقعا ديباگ كردنش به اين آسوني ها هم نيست ... در ضمن بايد اطلاعات اوليه مثل اينكه از چه ميكرويي داريد استفاده ميكنيد و غيره رو بديد...

منظورتون از سيگنال صوتي چه هست؟
اينجوري كه ظاهر برنامه برمياد يك لوپ داره و زيرتابع بنام آلارم كه با تكرار اون تو لوپ يك تن صوتي ايجاد ميكنه...فكر ميكنم منظورتون ايجاد آژير يا الارم خطر بوده ؟
بهتره از ديباگر استفاده كنيد (چه نرم افزاري توسط خود برنامه سيمولاتور يا ترجيحا ديباگرهاي سخت افزاري توليد خود شركت توليد كننده ميكرو ، دقيقا خط اشكال رو ميتونيد راحت پيدا كنيد)

اگر مسلط نيستيد به اسمبلي ، از نرم افزارهاي مثل بيسيك اينكارو بكنيد بسيار ساده تر خواهد شد مثلا فرمان sound تو بيسيك و يا حتي نرم افزارهاي سطح بالاتر...ميتونيد صدايي كه ميخوايد توسط توابعي كه داره (فركانس تن و ميزان تكرار و...) ايجاد كنيد

اگر هم منظورتون ايجاد صدا بمعني صداي انسان و...نه اين موضوع بسيار پيچيده تر هست ، موضوعي كه بايد به DSP و پردازش صوت و ...تسلط داشته باشيد، براي ايجاد خود صدا هم از تكنيك هاي هايpwm استفاده ميكنند

ازا
08-05-2013, 22:24
سلام میشه پروژه ساخت ساعت با داده پیش فرض میکرو 8051 رو بزارید؟اگه میشه کامل با نقشههاش

ساعد7
01-01-2014, 00:45
سلام. دوست عزیز کار شما بسیار پسندیده و عالیه لطفا بی درنگ ادامه بدید روی کمک ما هم حساب کنید در خدمتیم، و ضمنا اگر مقدور بود براتون پروژه ساعت با سون سگمنت شش تایی در 8051 رو هم بذارید. ممنون میشم.
موفق باشید

ra1372
14-04-2014, 20:47
سلام دوستان:n01:
کسی پروژه keypadو نمایش روی سون سگمنت رو داره؟که تو ادرس [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]هست
اگه کسی پروژه رو داره یا بلده لطفا راهنمایی کنه!:n29:

zeynab 8051
16-05-2020, 22:05
سلام من چندتا سوال و باید بزنم به اسمبلی.اگر دارین فایلشونو میشه بفرستین برام؟
یکی کد اسمبلی برای led چشمک زن که پایه چهار از پورت یک چشمک بزنه
راه اندازی سون سونسگمنت و.... میشه کم کم بپرسم برام بفرستین؟

memariyanm
02-01-2022, 00:40
سلام اين لينك ها غير فعال شده ؟از كجا ميتونم پروژه هارو دانلود كنم ؟

memariyanm
02-01-2022, 00:47
Salam momkene ba man tamas begirid ?09127088957