Micro PIC18F452

میکرو پیک

Micro PIC18F452

میکرو پیک

تفاوت AVR با PIC

سلام
در کل این دو خانواده تفاوت زیادی با هم ندارند . AVR ها از نظر سرعت کاری در حالت بهتری نسبت به PIC ها قرار دارند ، اما PIC ها از نظر مقاومت در برابر نویز دارای استقامت بیشتری هستند . و همچنین AVR ها دارای قیمت پائین تری هستند که یه قسمتی از این به خاطر پائین بودن کیفیت میکروهای وارد شده هست و حافظه نسبتا بالاتری هم دارند ، اما PIC ها دارای تنوع خیلی بیشتر و ماژول های داخلی بیشتری هستند .
اما تو باقی موارد میشه گفت در یک سطح قرار داند .
AVR سری tiny رو داره ، PIC هم در مقابل PIC 12 XXX رو داره .
AVR سری AT90S رو داره ، PIC هم در مقابل PIC 16 XXX رو داره .
AVR سری MEGA رو داره ، PIC هم در مقابل PIC 18 XXX رو داره .

علاوه بر اینها PIC ها سری 10 رو هم دارند که میکروهای 6 پایه هستند + میکروهای پردازش سیگنال دیجیتال (dsPIC) و میکروهای مجهز به فرستنده رادیویی داخلی هستند (rfPIC) .
البته AVR هم تا حدی در مورد فرستنده رادیویی پیشرفت کرده (البته به گفته یکی از دوستان) و مدل های مخصوصی برای کار های شبکه و .. هم دارند .

به جز این موارد هر دو خانواده میکروهای 16 و 32 بیتی هم دارند . که در کل تفاوت زیادی ندارند و بیشتر بستگی به شرایط ، بودجه کاری ، نیاز مدار و ... داره که چه میکرویی انتخاب بشه .

و در مورد سادگی کار هم باید گفت که باز هم تفاوتی نداره ، چون این کامپایلر و زبان برنامه نویسی هست که سختی یا راحتی رو تعیین میکنه و سخت افزار تو این حالت دخالتی چندانی نداره و بیشتر به برنامه نویسی اسمبلی مربوط میشه که در حال حاضر کمتر کسی به اسمبلی برنامه می نویسه . کما اینکه اگر اسمبلی هم بود باز هم تفاوت زیادی بین این دو نبود .
در مورد تعداد دستور العمل های PIC هم باید گفت که برای هر سری فرق داره که از پائین به ترتیب اضافه میشه . مثلا سری 10 و 12 کمترین تعداد دستور العمل را دارند ، اما سری 18 در حدود 75 دستور العمل دارند .
در مورد سرعت هم در سری 18 و بالاتر به خوبی جبران شده . به صورتی که تا حدود 50 مگ هم بال رفته و حتی با اسیلاتور داخلی هم میشه فرکانس 15 مگ رو تولید کرد .
در مورد A/D و استانداردهای ارتباطی هم PIC تعداد بیشتری ماژول داخلی نظیر A/D و ... داره و همچنین استاندارهای بیشتری رو هم پشتیبانی می کنه (تقریبا همه استانداردهای مورد نیاز) .
در مورد اجرای دستورات به صورت تک سیکلی ، AVR هم به همین صورت عمل می کنه که مربوط به معماری RISC هست .


میکرویی مثل PIC16F877A هم که از نظر امکانات در سطح خیلی پائین تری نسبت به سری 18 هست ، قیمت 3000 تومان داره ، اما امکاناتی که داره به این صورت هست :
- 6 حالت برای اسیلاتور که دو حالت اسلاتور RC داخلی از نوع کالیبره شده هست .
- حداکثر فرکانس اسیلاتور 20 مگ که در اصل میشه 5 مگ
- 15 ورودی وقفه
- WDT با اسیلاتور داخلی و پرسکالر مخصوص که عملکرد بسیار مناسبی داره و بر خلاف اکثر میکروها دیگه که بعد از ریست wdt ، اطلاعات موقت هم از بین میره ، تنها رجیسترهای کنترلی به مقدارهای پیش فرض بر می گردند ، اما مقادیر تایمرها و ... حفظ میشه .
- ولتاژ کاری 2 تا 5.5 ولت
- حالت پروگرام کردن SPI در مدار
- 2 تایمر 8 بیتی با منابع داخلی و خارجی برای کلاک و پرس کالر و پست اسکالر مخصوص و یک تایمر 16 بیتی با پرس کالر و منابع کلاک مختلف و همچنین قابلیت استفاده از اسیلاتور LP مخصوص برای خود .
- مبدل آنالوگ به دیجیتال با 8 کانال ورودی و دقت 10 بیت .
- 5 پورت ارتباطی ساده (35 پایه i/o) .
- پورت موازی تابع یا PSP برای یک ارتباط موازی و دو طرفه با سرعت و اطمینان بالا بین میکرو ها و یا پورت پرینتر و ...
- ماژول داخلی ارتباطات سریال MSSP برای پیاده سازی SPI و I2C به صورت پیشرفته و با دقت و سرعت بالا
- ماژول AUSART برای ارتباطات سریال همزمان و غیر همزمان با دقت بالا و همراه با آدرس دهی .
- ماژول مقایسه کننده های داخلی (2 مقایسه گر آنالوگ) .
- ماژول CCP برای پیاده سازی حالت های مقایسه ، کپی گیری و تولید پالس های PWM و 2 کاناله با کمک تایمرها .
- حالت capture با حداکثر زمان پاسخ دهی 12.5 نانو ثانیه
- حالت compare با حداکثر زمان پاسخ دهی 200 نانو ثانیه
- و حالت PWM با دقت 10 بیت .
- 8KW حافظه برنامه (معادل 14KB) از نوع فلش و با قابلیت برنامه ریزی حداقل 1000 بار .
- 256 بایت eeprom داخلی که اطلاعاتش تا 40 سال هم محفوظ می مونه و قابلیت 1.000.000 بار پاک و نوشته شدن رو داره .
- حالت محافظت از کدهای داده و برنامه (CPD و CP) که دارای امنیت بسیار عالی هست .
- 368 بایت حافظه ram داخلی
- قابلیت نوشتن و خواندن اطلاعات از حافظه برنامه که این امکان رو میده تا خود میکرو برنامه کاری خودش رو تغییر بده و یا به یک قطعه دیگه ارسال کنه .
- آشکار ساز حالت کم بودن تغذیه
- جریان بالای پایه برای راه اندازی مستقیم LED (ورودی 25 میل و خروجی 20 میل)
- power up timer
- حالت پروگرام شدن با ولتاژ پائین
- مقاومت های پول آپ داخلی برای پایه های I/O
- قابلیت تشخیص انواع ریست هایی که رخ میده
- جریان حالت کاهش توان در حدود 0.7 میکرو آمپر

حالا این یک میکروی معمولی از خانواده PIC هست که در حد رقابت با AT90s هست نه MEGA . حالا میکروهای سری 18 از نظر قدرت و ماژول های داخلی و ... در سطح بالاتری هستند .
در مورد قیمت هم درسته ، اما PIC مرتب داره قیمتش کم میشه و البته آی سی های وارده کیفیت خیلی بهتری نسبت به AVR های وارده به ایران دارند . حدود 3 سال پیش همین میکرو 877 ، 5000 تومن قیمتش بود ، اما الان رسیده به 3000 تومن . با همون کیفیت و ...




نقل قولی بود از حامد مظاهری

میکروکنترلرهای خانوادهء PIC

میکروکنترلرهای خانوادهء PIC
عبارت PIC از سر کلمه های Programmable Interface Controller گرفته شده که به معنای کنترل کننده های ارتباطی برنامه پذیر است . این میکروکنترلرها ساخت کمپانی میکروچیپ (www.microchip.com) می باشند که در ادامه به طور مختصر بر روی آنها بحث خواهد شد .

میکروکنترلرهای سری 10 : این نوع تراشه ها از نوع 8 بیتی و 6 پایه هستند که دارای امکاناتی نظیر مقایسه کننده های داخلی ، مبدل آنالوگ به دیجیتال ، اسیلاتور داخلی و قابلیت غیر فعال کردن پایه ریست ، امکان پروگرام کردن در مدار و ... می باشند . حافظه برنامهء این میکروکنترلرها با حجم 250W تا 500W و حافظه داده آنها بین 16 تا 24 بایت (رم) طراحی شده است .




میکروکنترلرهای سری 12 : این نوع تراشه ها از نوع 8 بیتی و 8 پایه هستند که دارای امکانات بیشتری نسبت به سری 10 هستند . مبدل آنالوگ به دیجیتال ، مقایسه کننده داخلی ، تایمر WDT ، تایمر0 ، تایمر 1 با قابلیت استفاده از اسیلاتور LP خارجی ، اسلاتور داخلی ، غیر فعال کردن ریست ، امکان پروگرام کردن در مدار و ... از امکانات تراشه های سری 12 می باشد .
حافظه برنامه این تراشه به صورت فلش و PROM و با حجم 0.5Kw تا 2Kw و حافظه داده آنها شامل 16 تا 128 بایت حافظه EEPROM و 25 تا 128 بایت حافظه قابل دسترس می باشد .

میکروکنترلرهای سری 14 ، 16 ، 17 و 18 : تراشه های 8 بیتی و دارای امکاناتی نظیر مبدل آنالوگ به دیجیتال ، مبدل دیجیتال به انالوگ ، MSSP ، تایمر 0 ، تایمر 1 ، تایمر 2 ، تایمر 3 ، تایمر 4 ، CCP ، WDT ، مقایسه گرهای داخلی ، PSP ، USART ، USB ، رگلاتور ولتاژ داخلی ، اسیلاتور داخلی ، امکان غیر فعال کردن ریست ، منابع وقفه متعدد ، راه انداز داخلی سون سگمنت ، امکان به کار گیری بوت لودر ، حالت پروگرام کردن در مدار ، LIN ، CAN و ... هستند که هر تراشه با توجه به سری ساخت و همچنین برخی از مشخصات ، تعدادی از این امکانات را داراست (در رده بندی قدرت کاری ، ابتدا 18 ، سپس 17 ، 16 و 14 قرار دارند و به همین ترتیب امکانات داخلی نیز در سری 18 بیشتر است) .
تعداد پایه های تراشه ها نیز از 8 تا 100 پایه می باشد . حافظه برنامه تراشه ها نیز از 1KW تا حدود 32KW و در انواع فلش و ... قابل دسترس است . حافظه های رم و EEPROM نیز در رنج های مختلف برای هر تراشه های هر سری وجود دارد .
فرکانس اسیلاتور قابل اتصال به تراشه نیز از 10 تا 48 مگا هرتز پیش بینی شده است .




میکروکنترلرهای سری 24 : تراشه های 16 بیتی هستند که علاوه بر دارا بودن بسیاری از امکانات داخلی گفته شده ، از امکانات داخلی نظیر ماژول ساعت – تقویم ، حافظه برنامه با حجم بالا ، رجیسترهایی با امکان دوبل شدن (32 بیتی) و ... بهره می برند .

تراشه های سری DS : از نوع 16 بیتی و مخصوص پردازش دیجتال سیگنال ها (Digital Signal Processing) هستند که دارای قدرت فوق العاده و به همراه امکانات داخلی نظیر کانال های متعدد PWM هستند .




تراشه های سری rf : تراشه های 8 بیتی هستند که از از نظر امکانات همانند سری 12 می باشند ، با این تفاوت که به مجهز به ماژول فرستندهء UHF داخلی هستند که در فرکانس های 290 تا 930 مگاهرتز قابل دسترس هستند .


برای اطلاعات بیشتر در مورد این تراشه ها و یا دریافت دیتاشیت های انها می توانید به آدرس زیر مراجعه کنید :
www.microchip.com

آموزش صفر تا 100 pic18f452

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

مثال دوم

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



    دانلود

مثال اول

امروز با یک مثال کوچک پا در میان pic میگذاریم

این مثال خیلی ساده است و برای شروع هم مفید ... .


     دانلود