PDA

نسخه کامل مشاهده نسخه کامل : آموزش ميكروكنترلر Pic



m_p811
17-07-2006, 08:23
سلام منm_p811 در زمينه ميكروهاي pic كار ميكنم . اميدوارم در اين زمينه بتونم به دوستان كمك كنم . :cool:

register
23-07-2006, 23:13
در مورد فرق pic با avr توضيح مي دين و اينكه كدوم بهترن؟
قيمتشون؟
برنامه ريزي شون؟
عملكردشون؟
امكاناتشون؟
سرعتشون؟
يه مختصري هم در مورد پروگرامرش توضيح بدين ممنون مي شم...

Reza Alimadadi
24-07-2006, 03:29
سلام! زحمت دارم برات ! من ميخوام براى 17 تا Servo Motor كه بشود با ميكروكنترولرها كنترولشون كرد برنامه بنويسم . اگه امكان راهنمايي و كمكي داشته باشيد ممنون خواهم شد

SEAHCHALE
02-08-2006, 07:49
اگه ممکن در مورد برنامه نویسی یک pic براي ساخت يك black lister تلفن كمي راهنماي بكنيد.

hdhamedmail
21-08-2006, 13:59
اگر ممکنه اطلاعات بیشتری از این میکروکنترلر بنویسید
ممنون
فعلا bye

hdhamedmail
21-08-2006, 14:02
راستی یادم رفت در مورد ميكروكنترولرهای دیگر هم بنویسید

the bay bay

badyani
29-08-2006, 16:09
salam
mikhastam dar morede rahandazie LCD graphic tavasote micro PIC mano rahnamaie konid
ba tashakor

mohsen mokafat
22-02-2007, 19:06
در مورد فرق pic با avr توضيح مي دين و اينكه كدوم بهترن؟قيمتشون؟برنامه ريزي شون؟عملكردشون؟امكاناتشون؟ سرعتشون؟يه مختصري هم در مورد پروگرامرش توضيح بدين ممنون مي شم...

alibeigi
23-02-2007, 22:17
سلام! زحمت دارم برات ! من ميخوام براى 17 تا Servo Motor كه بشود با ميكروكنترولرها كنترولشون كرد برنامه بنويسم . اگه امكان راهنمايي و كمكي داشته باشيد ممنون خواهم شد

کنترل سرو موتور ها با PIC خیلی ساده است! فقط کافیه بتوانی روی PIN ها پالس تولید کنی
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

mojtaba tabandeh
12-03-2007, 08:49
سلام
من به یک پروژه در مورد اموزش بچه های ابتدایی یا راهنمایی در هر زمینه (فرقی نداره)احتیاج دارم که باید با میکرو باشه.لطفا دریابید.

moji643
17-03-2007, 14:41
سلام من اطلاعات ساده ي ميكرو كنترلر مي خواستم.(ميكروكنترلر چيست؟)اگر كمكم كنيد ممنون مي شوم.

twelve
14-04-2007, 21:18
با توجه به درخواست زیاد دوستان اطلاعات اندک ولی مفیدی دارم امید وارم به دردتان بخوره
************************************************** ******************
میکرو کنترلر به تراشه قابل برنامه ریزی گفته می شود که پروگرام (برنامه ریزی) شده ومورد استفاده قرار می گیرد
میکرو به 5 خانواده تجزیه می شود:
1- 8051
2- َAVR
3-PIC
4_6811
5_Z8
__________________________________________________ ____________________________________

6811 و z8 در ایران بسیار اندک و امروزه رایج نیست.
از نظر خیلی ها AVR بهترین و کارآمدترین است. از 8 پایه(tiny) تا 40 پایه (mega) یافت می شود
از دیگر برتری AVR سرعت آن است . یک دستور العمل در 1 ثانیه (بسته به نوع فرکانس) انجام می شود
AVR ها بسیاری از امکانات را در خود دارد . نظیر:تایمر-واسط سریال-مقایسه گر آنالوگ - فلگها و...
ساده ترین نوع AVR مدل AT90S1200 است و تا تراشه های پیشرفته مثل:AT90S2313 ادامه دارد

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

مقایسه AVR با PIC

از طرفی AVR دارای حافظه فلش است و به دفعات قابل بازنویسی است و مستقل است
در حالی PIC بین انواعش ارتباط و سازگاری بینشان زیاد است
سرعت انجام فرمان در PIC چهار برابر کمتر از AVR است
رجیستر ها در PIC به طور مستقیم قابل دسترسی است که در َAVR این طور نیست
دستور العمل ها بین 90 تا 120 تاست. که البته به نظر من 50 دستور متمایز وجود دارد
************************************************** *****************************
در ضمن این یک مهارت تخصصی برای بچه های برق است . برای یادگیری صحیح باید پیش نیاز :دیجیتال-ریاضی قوی باشد

نظر هم بدید خوبه!
ادامه بدیم؟

hasanizade
21-06-2007, 12:37
:8: :27: آموزش protues رو میخوام کامل لطفا کمک کنید :2:

MHRM.ELECTRONIC
30-06-2007, 14:40
دوستان سلام
هگه ممکنه یه کتاب خوب در مورد آموزش pic به من معرفی کنید
ممنون

haamoon
07-07-2007, 13:50
سلام من منادی حقوق PIC نیستم ولی این micro می تونه با فرکانس 20MHZ هر دستور رو در 20ns اجرا کنه یعنی 5 میلیون دستور در ثانیه(نه یکی!) و همه ی PIC ها 35 دستور اسمبلی دارن (RISC) در محیط صنعتی و پرنویز ََAVR اصلا کار نمی کنه و تنها از PIC استفاده می شه(البته تو ایران) برای همین قیمتش گرونتره اونم بخاطر کیفیت تراششه. کتاب خوب برای pic کتاب easy pic است به زبان انگلیسی ولی اگر قبلا با میکرو ی دیگه ای کار کردین dataSheet ها کاملا کافی ان. دقت کنید این که تعداد دستور ها کمن یعنی اسمبلی نوشتن کار بسیار طاقت فرسایی است. من با C کار می کنم که کامپیلر های HightTech , MikroC,IAR خوبن ولی IAR خیلی حرفه ای است . من خودم از MikroC استفاده می کنم . محیط گرافیکی عالی و کلی تابع از پیش نوشته شده که LCD های گرافیکی و کارکتری انواع کی بورد I2C bus , ADC ها رو پشتیبانی می کنه keyGenش هم هست . help ش هم خیلی کافی فقط کافی C بلد باشین . در ضمن اگر بیسیک کار می کنین mikroBasic هم هست. نگین لینک دانلود بزار! برید تو mikroe.com هر کامپیلری می خواین دانلود کنید به حساب من تنها محدودیتش 2kb program word هست که فقط تو پروژه های بزرگ محدودیت ایجاد می کنه اگر لازم شد keygen میزارم.

proteus کتاب نداره ولی من تو ج*مهوری کلاساشو دیدم شاید جزوه داشته باشه ولی شروع کار باهاش مثل آب خوردنه کم کم حرفه ای می شی .PROTEUS 7.1 SP2 خیلی توپ کرک شده و انواع میکروها رو ساپورت می کنه لینک دانلودش رو تو forum.persiantools.com گذاشتم.برای یاد گرفتنش دو چیز توصیه می شه:
1.ور
2.فشار دادن F1 در محیط برنامه.

behzad amoo
14-07-2007, 02:56
be nazare man avr ha az pic ha kheli behtaran

kamalm
07-04-2010, 18:22
سلام
منم خیلی به pic ها علاقه دارم
چند تا کلیپ آموزشی هم که آدمو با محیط mikroc آشنا میکنه و یه برنامه هایی هم مینویسه با کلی درد سر گیر اوردم
حدود 50 تا pdf هم دارم(دوستان اگه خواستن بگن تو 4shared آپلود میکنم)

ولی هیچ کدوم از اینا به اندازه یه پروژه کامل آدمو را نمیندازه
از همه دوستان عاجزانه درخواست میکنم اگر پروژه ای انجام دادن بزارن:11:
خیر ببینید!:40:

Peji2010
08-04-2010, 19:47
سلام.
من هم علاقه ی زیادی به میکروهای PIC دارم. به نظر من تنوعی که این میکروها دارند از AVR بیشتره.شما تقریبا هر مداری که بخای درست کنی(با میکرو) حداقل یک PIC هست که کارتو راه میندازه!مثلا اگر یه مدار ساده میخای PIC16f84A به دردت میخوره,اگه در حد متوسط میخای PIC16F877A هست.اگه سطح خیلی خیلی بالا بخای PIC18F8722 هست که تقریبا همه چی داره! از فلش 128 کیلو بایتی و رم 4 کیلوبایتی گرفته تا ECCP و EUSART و MSSP و ... اگر بخای با USB کار کنی PIC18F4550 و چند تا دیگه هستند(مثلا برای ساخت موس).
دوست عزیزی اشاره کرد که PIC ها با سرعت 20M کار میکنن و 35 دستورالعمل دارن.این مشخصات فقط شامل میکروهای سری PIC16 میشه و میکروهای سری PIC18 میتونن با کریستال 40M کار کنن و 10 میلیون دستور در ثانیه اجرا کنند و 75 دستورالعمل دارند.اگه خیلی اینکاره باشید و مثلا بخاید یک روبات خیلی سطح بالا و بسیار قدرتمند بسازید یک سری به نام digital signal controllers) dspic30) وجود داره که میتونه 30 میلیون دستور در ثانیه اجرا کنه با 89 دستورالعمل!! و اما قدرتمند ترین میکروکنترلرهایی که من سراغ دارم سری dspic33 هستند که سرعتشون 40 میلیون دستور بر ثانیه است!!!! با ویژگیهایی مثل 16PWM بیتی(مخصوص کنترل موتور) , اجرای همزمان دو دستور(dualfetch) , ارتقاع حافظه فلش تا 4M , تقسیم کننده 32 بیتی و ...همچنین میکروهای سری rfpic هم موجودند که مخصوص ساخت فرستنده_گیرنده هستن(مدولاسیون ASK و FSK). بعضی از PIC ها هم مخصوص اتصال به LCD هستن.

همه ی اینا رو گفتم تا بدونید چرا میگم PIC تنوعش بیشتره!

البته PIC هم مشکلات کوچکی داره.مثلا سری PIC16 ضرب کننده ی سخت افزاری نداره! و نرم افزاری هم کمی سرعت رو کم میکنه.PIC قیمت نسبتا بالایی هم داره.اما من تا حالا هیچ مشکلی با PIC نداشتم.جریان خروجی هر پورت 25mA است که خوبه.به علاوه سری dspic با 2.5 ولت هم کار میکنه(و حتی رگولاتور 2.5 ولت داخلی داره).اگر PIC16F877A را که 40 پایه داره درنظر بگیریم میتوان به راحتی و با برنامه ای ساده حداقل 33 سروو موتور را کنترل کرد!!

بهترین کتابی که در این مورد سراغ دارم <<ساختار میکروکنترلرهایPIC >> است. تالیف مهندس علی سلیمیان(CD هم داره!!!).آخر این کتاب ساختار پورت USB هم شرح داده شده.
البته باز هم کاملترین مرجع(به خصوص برای dspic و datasheet (rfpic قطعه است.
:46:

lord fire
10-04-2010, 20:29
من نياز شديدي در حال حاضر به برنامه کرنومتر به زبان بسکام (4شاستي start ,stop,capture,home) دارم که اين برنامه قادر باشه زمان رو تا دقت ميلي ثانيه شمارش کنه به اين صورت که در بالاي lcd زمان را به صورت (ميلي ثانيه :ثانيه :دقيقه::ساعت) نمايش بده ودر قسمت پايين lcd مقادير ثبت وذخيره شده توسط شستي captureنمايش بده . با start زمان شروع به شمارش ميکند با stop ازشمارش باز مي ايستد.باcapture زمان ها را ثبت ميکند اما به شمارش ادامه ميدهد.با home زمانهاي ثبت وذخيره شده توسط شستي capture نمايش داده ميشود.
tapesh2010@yahoo.com

lalezar
17-04-2010, 09:52
سلام pic در کاربردهای صنعتی جایی که نویز زیاده کاربرد داره

Peji2010
19-04-2010, 21:21
اونایی که پروژه میخوان حداقل بگن در چه حدی باشه .ساده , متوسط یا سطح بالا!

eshgh_namordeh
24-04-2010, 01:03
سلام- در pic18f452 آیا اسیلاور داخلی داره ؟ و چطوری میشه فعالش کرد ؟ هنگام پروگرم کردن کدوم فیوز بیت را انتخاب کنم از لحاظ نرم افزاری چه کار باید کنم ؟

Peji2010
24-04-2010, 11:58
PIC18f452 اوسیلاتور داخلی نداره :41:

eshgh_namordeh
24-04-2010, 21:13
مرسی از لطفت - همین Pic18f452 وقتی پروگرم میکنم میخوام سورس را قفل کنم که قابل خواندن نباشه کلی گزینه داره کدوم را باید انتخاب کنم ؟
یکبار همه را انتخاب کردم اصلا مدار کار نکرد یکبار چند تا را انتخاب کردم مدار کار میکرد اما lcd هیچی نشون نمیداد .کدوم گزینه ها را باید انتخاب کنم ؟

---------- Post added at 10:13 PM ---------- Previous post was at 10:12 PM ----------

مرسی از لطفت - همین Pic18f452 وقتی پروگرم میکنم میخوام سورس را قفل کنم که قابل خواندن نباشه کلی گزینه داره کدوم را باید انتخاب کنم ؟
یکبار همه را انتخاب کردم اصلا مدار کار نکرد یکبار چند تا را انتخاب کردم مدار کار میکرد اما lcd هیچی نشون نمیداد .کدوم گزینه ها را باید انتخاب کنم ؟ و آیا میکرو که lock شده را آیا میتونند در بازار سورس را به وسیله دستگاههای خاص بخونند؟

Peji2010
25-04-2010, 12:01
باید اینارو protected قرار بدی:

code 0x0200-0x1fff
code 0x2000-0x3fff
code 0x4000-0x5fff
code 0x6000-0x7fff

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

hamidreza.nayeri
26-04-2010, 10:00
سلام من منادی حقوق PIC نیستم ولی این micro می تونه با فرکانس 20MHZ هر دستور رو در 20ns اجرا کنه یعنی 5 میلیون دستور در ثانیه(نه یکی!) و همه ی PIC ها 35 دستور اسمبلی دارن

با بقیه حرفهاتون مشکلی ندارم اما این قسمت تقریبا در مورد همه PIC ها صدق نمیکنه.
اولا فقط سری ۱۶ یا پایین تر ۳۵ دستور العمل ماشین دارن، تو سری های دیگه، مثلا ۱۸ به بالا، این دستورات تا بیشتر از ۷۰ تا هم رفته اند.
دیگر اینکه، PIC دارای PLL داخلیه که فرکانس کریستال رو در ۴ ضرب میکنه و ماکزیمم فرکانس کریستال در این حالت، ۱۰ مگ میتونه باشه پس تا ۴۰ مگ فرکانس پالسش میره بالا که میشه 10MIPS .

hamidreza.nayeri
26-04-2010, 10:01
be nazare man avr ha az pic ha kheli behtaran

نه،AVR فقط از نظر قدرت پردازشی برتری داره اما در مورد تجهیزات آنالوگ، حساسیت به نویز، دقت و ... زیر PIC هستش.

hamidreza.nayeri
26-04-2010, 10:07
راستی یک چیزی رو یادم رفت بگم، من در مورد کتاب ساختار میکروکنترلر های PIC نوشته مهندس سلیمیان چیزی نمیدونم اما ایشون کتاب مشابهی برای AVR نوشته اند که اون کتاب، ترجمه لغت به لغت دیتاشیت ATMEGA16 هستش، با یک چند تا بخش اضافه که به نظرم Application Note های شرکت هایی مثل Microchip و اینها باید باشن.
بنابراین، کسانی که به دنبال آموزش PIC هستن، به نظرم بهترین گزینه خود دیتاشیت میکرویی هست که میخوان باهاش کار کنن. هم مجانیه، هم اشتباهات ترجمه و تالیف درش نیست، هم اینکه از روی منبع اصلی خوندن رو یاد میگیرید.

eshgh_namordeh
26-04-2010, 21:03
بله درسته در اکثر سیستمهای حفاظتی دزدگیرهای اتومبیل - دزدگیرهای اماکن - دربهای برقی - پردازشگر ریموتهای کنترل لرن کد از میکرو pic استفاده میشه ، پردازشکر دیجیتال dspic هم که مخصوص پردازش سیگنال ساخته شده . با اینکه واقعا هر چیزی را باید به وقت نیازش استفاده کرد یک جا pic نیازه با اون کار کنیم جائی avr یک جا arm یا fpga هر جائی باید مناسب خودش را استفاده کرد .

Peji2010
26-04-2010, 23:48
کاملا با حمیدرضا موافقم.اون کتابم ترجمه ی کلمه به کلمه ی datasheet هستش.آخرش هم که usb رو توضیح داده اونم ترجمه ی یک مقاله ی pdf دیگه است.

eshgh_namordeh
02-05-2010, 23:55
میشه لطف کنید به من بگید در pic18f452 که این فیوز بیت ها را اگه on کنیم دقیقا چه کاری انجام میدند :
1- low power system clock option
2- power up timer

Peji2010
03-05-2010, 20:14
با فعال کردن low power system clock option پالس ساعت میکرو از طریق اوسیلاتور RC داخلی Timer1 تامین میشه.درسته که این میکرو اوسیلاتور داخلی مجزا نداره اما میشه از نوسانساز Timer1 استفاده کرد.(شرمنده که اینو زودتر نگفتم)

هنگامیکه power up timer فعاله با وصل شدن مدار , شمارنده Power_Up فعال میشه و در طول این مدت میکرو در حالت ریست هست و بعداز حدود 72mS شمارش تموم میشه و بعد شمارنده OST فعال میشه و 1024 سیکل تاخیر ایجاد میکنه و بعد از اون میکرو کنترلر فعال میشه.تاخیر تایمر PWRT باعث میشه ولتاژ منبع میکرو به حالت عادی برسه و تایمر OST هم باعث میشه که بعد از عادی شدن وضعیت اوسیلاتور میکرو شروع به کار کنه.

eshgh_namordeh
03-05-2010, 22:01
خواهش میکنم - بسیار خوب اطلاعات دارید واقعا ممنونم ، کسی جز شما واسه راهنمائی من نیست خیلی ممنونم .
یعنی من میتونم اسیلاتور نگذارم و از همین low power system clock option استفاده کنم ؟ و اگه امکانش باشه فرکانس با همون دستور define osc 4 تنظیم میشه ؟ و اینکه برای نویز و دمای مختلف ... این مطمئن تر هست یا اینکه مقاومت خازن بگذارم ؟ چون دقت زیاد واسم مهم نیست الان هم مقاومت خازن گذاشتم اما اگه بشه از خودش استفاده کنم فکر کنم بهتر باشه

Peji2010
04-05-2010, 13:11
والا خودمم حسابی قاطی کردم :wac:.مثل اینکه تو این آی سی حتی Timer1 هم اوسیلاتور داخلی نداره و با فعال کردن اون بیت هم باید یک کریستال تا حداکثر 200khz به پایه های T1OSCI و T1OSCO وصل بشه.
بازم شرمنده:sad:

eshgh_namordeh
05-05-2010, 02:34
فدات عزیز - مرسی از راهنمائیت
این مداری که درست کردم اول با کریستال بود من هم مدار را طوری ساختم که تحریک کردند تازه برق بیاد توی میکرو و شروع به کار کنه ،شب بود ساعت 12 زنگ زدند گفتد مدار کار نمیکنه مجبور شدم برم میاوردم پائین کار میکرد میذاشتم سر جاش کار نمیکرد چشماش 4 تا شده بود خلاصه اوردمش خونه و گفتم نکنه از سرما باشه ، گذاشتم تو یخچال دیدم بله کریستال اگه در حال کار کردن نباشه توی دمای صفر درجه یخ میزنه اسیلاتور و رزونانتور و هر آی سی نوسانسازی هم که گذاشتم اگه کار نمیکرد یخ میزد دیگه کار نمیکرد ، مجبور شدم مقاومت خازن گذاشتم ، خوشبختانه دقت واسم مهم نبود - واسه همین گفتم اگه از کریستل داخلی خودش استفاه کنم شاید بهتر باشه . مرسی از راهنمائیت
و یک سوال دیگه داشم برای کار با dspic باید نرم افزار جدیدی کار کنم ؟ pic را با basic کار میکنم آیا ds pic فرق میکنه ؟ مطلبی کتابی در موردش هست ؟ ممنون میشم توضیح کاملی بهم بدین از کجا شروع کنم چه نرم افزای و .... متشکرم.

Peji2010
05-05-2010, 22:57
احتمال داره که علت کار نکردن کریستال دوتا خازن اطرافش باشه .بعضی موقع ها هم لازمه از یه مقاومت استفاده کنید.
برای dspic بهترین نرم افزار Mplab IDE هست که به همراه MPLAB C30 برای نوشتن برنامه به زبان C استفاده میشه و این نرم افزار ساخت خود شرکت میکروچیپه و تمام آی سی ها رو ساپورت میکنه.البته یه نرم افزار microc و microbasic مخصوص dspic هم هست اما قبلی بهتره.
من که خودم از دیتاشیت و چندتا فایل pdf دیگه استفاده کردم که کافی بود.اگه کتاب میخاید یکی اینجا معرفی شده:


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

نرم افزار proteus هم سری dspic33 رو داره که میتونید مدارو با اون آزمایش کنید اما عجیبه که dspic30 نداره!

Peji2010
05-05-2010, 23:20
راستی میکروهای جدید سری PIC32 هم ساخته شده.این میکروها 32 بیتی هستن و سرعتشونم خیلی زیاده و میتونن با فرکانس 72 مگاهرتز 72 میلیون دستور در ثانیه اجرا کنن!!!
مثلا یکی از اونا به شماره PIC32MX360F512L این مشخصاتو داره:
100پایه , 512k Flash , 2*spi , 2* I2C , 2*EUSART+INFRARED DECODER ENCODER , 5*CCP , PMP &PSP , 4*DMA channel
7*16BIT I/O PORT , 2* 32BIT Timer , ....

این آی سی ها 120 دستورالعمل و همچنین ساعت و تقویم و آلارم داخلی و ضرب کننده و تقسیم کننده ی 32 بیتی هم دارن و مثل کامپیوترهای شخصی دارای حافظه cache هم هستن!
فکر کنم با یکی از اینا میشه یه کامپیوتر در حد پنتیوم پرو (P1) ساخت!!

eshgh_namordeh
07-05-2010, 04:02
خیلی خوبه - مرسی از راهنمائی خوبت -این PIC32MX360F512L ر ا دیگه باید با نرم افزار جدید باهاش کار کنیم آره ؟

Peji2010
07-05-2010, 08:58
بله باید از نرم افزار MPLAB IDE 8.5 استفاده بشه.

hamidreza.nayeri
12-05-2010, 23:44
راستی میکروهای جدید سری PIC32 هم ساخته شده.این میکروها 32 بیتی هستن و سرعتشونم خیلی زیاده و میتونن با فرکانس 72 مگاهرتز 72 میلیون دستور در ثانیه اجرا کنن!!!
مثلا یکی از اونا به شماره PIC32MX360F512L این مشخصاتو داره:
100پایه , 512k Flash , 2*spi , 2* I2C , 2*EUSART+INFRARED DECODER ENCODER , 5*CCP , PMP &PSP , 4*DMA channel
7*16BIT I/O PORT , 2* 32BIT Timer , ....

این آی سی ها 120 دستورالعمل و همچنین ساعت و تقویم و آلارم داخلی و ضرب کننده و تقسیم کننده ی 32 بیتی هم دارن و مثل کامپیوترهای شخصی دارای حافظه cache هم هستن!
فکر کنم با یکی از اینا میشه یه کامپیوتر در حد پنتیوم پرو (P1) ساخت!!

قیمت این آی سی ها چند هست؟
بعد چطوری آی سی های SMD رو روی برد میزنی؟ جای خاصی میبری یا خودت لحیم میکنی؟
من از کار کردن با آی سی های چند قرن قبل خسته شده ام و میخوام برم دنبال اینا ولی نمیدونم چطوری بزارمشون روی برد.

Peji2010
13-05-2010, 16:55
بعید میدونم این آی سی ها تو بازار ایران پیدا بشن اما اگرهم گیر بیان احتمالا یه 15 تومنی باید قیمتشون باشه.
آی سی SMD اگه پایه هاش زیاد نباشه خودم لحیم میکنم.با پایه های زیاد تا حالا امتحان نکردم اما فک کنم یه سری سوکت یا بورد تبدیل پیدا بشه.از هویه هوای گرم هم میشه استفاده کرد که قیمتش زیاده.

eshgh_namordeh
20-05-2010, 02:01
سلام آقا پژمان - هنگام کامپایل کردن آی سی سری 18 در micro code studio باید از mpasm استفاده کنیم حالا وقتی mpasm را انتخاب میکنیم چند تا گزینه داره که میشه انتخاب کنیم یا غیر فعال که من نمیدونم چی هستند ولی توی رفتار مدار خیلی تاثیر داشتند لطف میکنی بگین اینها چی هستند:
1-insert source file comments
2- listing file
3-macro spansion
4- cross refrence file
5- case sensitive

- inhx8m
-inhx8s
inhx32
من فقط گزینه 2و 4 را انتخاب کردن تا میکرو درست کار کرد ، مثلا اگه 5 را انتخاب کنم میکروکار میکنه اما اطاتعات روی lcd نشون نمیده .
و inhx32 را انتخاب کردم .

و سوال دوم :

حجم برنامه من خیلی زیاد شده دیگه آیسی جا نداره (Pic18f452) آیا راهی هست حجم برنامه کم بشه یا هر چیزی.. یا مجبورم برنامه را تا میشه مرتب کنم و بیخیال یک قسمتی از برنامه بشم ؟

و سوال سوم :
این درسته که مثلا نرم افزار micro code studio خودش clear wdt را میزاره و نیازی نیست که ما در برنامه بزاریم ؟ چون من هنگام پراگرم کردن wdt on زدم میکرو درست کار میکنه ریست نمیشه .

Peji2010
20-05-2010, 14:59
سلام.
گزینه 1 باعث میشه که توضیحاتی که تو برنامه برای مفهوم شدن برنامه نوشتید ( بعد از علامت ' ) به فایل اسمبلی اضافه بشن.
با فعال کردن گزینه 2 یه فایل با فرمت lst تولید میشه که اطلاعات برنامه مثل کدهای اسمبلی و مقدار متغیرها و خطاها و پیامها و... توش نوشته شده.
وفتی گزینه ی 3 فعال باشه ماکروهای استفاده شده توسط اسمبلر به فایل lst تولید شده اضافه میشن که موجب افزایش حجم فایل lst میشن.اگه گزینه 2 فعال نباشه این گزینه هیچ تاثیری نداره.
گزینه 4 باعث میشه که یه فایل بافرمت xrf تولید شه که تمام سمبل های استفاده شده توسط اسمبلر توش نوشته شده.
با فعال کردن گزینه 5 اسمبلر به بزرگ و کوچک بودن حروف حساس میشه.

گزینه های 1 تا 4 هیچ تاثیری تو کد هگز تولید شده ندارن و فایلهای lst و xrf فقط برای اطلاع برنامه نویس هستن.

INHX8M برای میکروهای 8 بیتی استفاده میشه که یک فایل هگز معمولی تولید بشه.
INHX8S مثل قبلیه فقط به جای فایل hex دوتافایل hxl و hxh تولید میکنه که به درد بعضی پروگرامرهای خاص میخوره و کاربرد چندانی نداره.
INHX32 هم مثل اولیه اما برای میکروهای 16 بیتی که حافظه بیشتر از 64kbyte دارن باید این گزینه انتخاب شه.(ابته این گزینه هم برای میکروهای 8 بیتی و هم 16 بیتی به کار میره اما گزینه اول فقط بدرد میکروهای 8 بیتی میخوره)


اگه برنامه رو با بیسیک نوشتید بعضی دستورهارو که ممکنه خودتون به زبان اسمبلی بنویسید.(با دستور asm_endasm) غیر ازین به جز مرتب کردن نمیشه کاری کرد.( بهتر بود برنامه رو به زبان C تو MPLAB مینوشتید)

آره نرم افزار micro code studio خودش دستور اسمبلی CLRWDT رو هر جا که لازم باشه میزاره. اگه از WDT استفاده نمیکنید بهتره اول برنامه بنویسید : DEFINE NO_CLRWDT تا دیگه این دستور بیخودی اجرا نشه و میکروکنترلر سریعتر کار کنه.

eshgh_namordeh
21-05-2010, 02:30
متشکرم - پس روی این حساب من هیچ کدوم را انتخاب نمیکنم .
هنگام کامپایل کردن 18f452 یک پیغام میده اما میکرو به درستی کار میکنه ، این پیغام برای چیه ؟ و چطوری میشه اصلاحش کرد :
warning[217]: hex file format specified on command line

Peji2010
21-05-2010, 18:57
هر میکرو یه فایل ضمیمه با پسوند INC. داره. اون پیغام میگه که تو فایل ضمیمه ی pic18f452.inc تو فلان خط فرمت فایل هگزی که قراره تولید بشه به طور پیش فرض مشخص شده(که سه حالت داره : INHX8M_INHX8S_INHX32) . البته این پیش فرض اهمیتی نداره و شما هرچی تو قسمت تنظیمات MpAsm انتخاب کرده باشید فرمت کد تولید شده هستش.زیاد به این پیام توجه نکن! حالا اگه خاستید دیگه نشون نده برید تو همون فایل و همون خطی که تو پیغام گفته و اون مقدار پیش فرض رو پاک کنید.

eshgh_namordeh
05-06-2010, 13:32
سلام - دو مدل میکرو در بازار هست که با نام یکسان فقط پسوند یکی a اضافه داره مثلا
pic16f876- pic16f876a که قیمت اون که a داره خیلی بیشتره - چرا؟ چه تفاوتی با هم دارند؟

Peji2010
05-06-2010, 17:42
حرف A مخفف Analog Comparator یا همون مقایسه کننده ی آنالوگه. تنها فرقی که اون دو تا آیسی با هم دارن اینه که Pic16F876A مقایسه گر آنالوگ داره اما اون یکی نداره.

jodye
17-06-2010, 19:18
سلام/من شکل مداری ساعت دیجیتال با آی سی 8051 وسون سگمنت را لازم دارم

jodye
17-06-2010, 19:22
سلام /من شکل مداری ساعت دیجیتال با آ سی 8051 و سون سگمنت را لازم دارم

Peji2010
18-06-2010, 09:40
سلام /من شکل مداری ساعت دیجیتال با آ سی 8051 و سون سگمنت را لازم دارم


بابا اینجا تاپیک PIC هست! تشیف ببر تو تاپیک 8051 دوستان اونجا جواب میدن..

sheytoon001
28-07-2010, 02:29
آقا من با این pic18f4550 یه مشکل اساسی تو راه اندازیش دارم
اولا که مدارم فقط با کریستال 4 کار میکنه ولی همینم سرعتش بیشتر از چیزیه که انتخاب کردم
مثلا اگه تاخیر 1 ثانیه تو برنامه انتخاب کرده باشم تو مدار شاید نصفش تاخیر ایجاد میکنه
اینی که میگم در مورد یه مدار ساده چراق چشمک زنه
مدارم با کریستال بالاتر از 4 هم اصلا کار نمیکنه ، فیوز بیت مربوط به کریستال هم تغیییر میدم هیچ فایده ای نداره xt, hs,es..
لطفا اگه میتونید راهنماییم کنید
با pic1684A کار کردم هیچ مشکلی هم ندارم اما نمیدونم چرا سری 18 اینجوری میشه
راستی پروگرمرم nup113 نوآورانه و برنامه ای که باهاش کار میکنم MikroC :11:

Peji2010
28-07-2010, 10:56
میشه بگید هنگام پروگرام کردن آیسی چه تنظیماتی رو انتخاب کردید؟ به خصوص PLL prescaler و Post scaler.

sheytoon001
28-07-2010, 13:29
آقا دمت گرم عجب پا قدمی داری شما
دیشب کلی گشتم بعد از مدت ها دلیل این مشکل رو تو mikroc پیدا کردم
دلیلشم این بود که در قسمت Edit project فیوز بیت ها باید همانند تنظیم اون ها در پروگرمر انتخاب بشن
اما چون تازه کارم هنوز تنظیمات درست رو نمیدونم
اینم از فیوزبیتهای PIC18F4550 لطفا تنظیمات درستش رو برای کریستلهای متفاوت توضیح بدید

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

سوال دیگه هم اینکه کد مربوط به هر کریستالی که برا مدارمون انتخاب میکنیم چیه؟آیا برای هر کریستال واقعا لازمه مقدار osccon=x را در برنامه قرار بدیم؟
این کدهای زیر درستند؟

'oscillator control bit settings
'111 = 8 MHz (8 MHz source drives clock directly) 0x72
'110 = 4 MHz
'101 = 2 MHz
'100 = 1 MHz
'011 = 500 kHz
'010 = 250 kHz
'001 = 125 kHz
'000 = 31.25 kHz (INTRC source drives clock directly)
'=================================

Device = 18F1320
XTAL=8
OSCCON = %01110000 ' Internal x MHz osc

'THIS CONFIG IS FOR THE INTERNAL 8 MHZ OSCILLATOR, AND MCLRE OFF
@ CONFIG_REQ
@ __CONFIG CONFIG1H, IESO_ON_1 & FSCMEN_OFF_1 & INTIO67_OSC_1
@ __CONFIG CONFIG2L, BORV_27_2 & BOR_ON_2 & PWRT_ON_2
@ __CONFIG CONFIG2H, WDT_ON_2 & WDTPS_32_2
@ __CONFIG CONFIG3H, MCLRE_OFF_3
@ __CONFIG CONFIG4L, DEBUG_OFF_4 & LVP_OFF_4 & STVR_ON_4
@ __CONFIG CONFIG5H, CPB_OFF_5 & CPD_OFF_5
@ __CONFIG CONFIG5L, CP0_OFF_5 & CP1_OFF_5
@ __CONFIG CONFIG6H, WRTC_OFF_6 & WRTB_OFF_6 & WRTD_OFF_6
@ __CONFIG CONFIG6L, WRT0_OFF_6 & WRT1_OFF_6
@ __CONFIG CONFIG7H, EBTRB_OFF_7
@ __CONFIG CONFIG7L, EBTR0_OFF_7 & EBTR1_OFF_7
' End of config block
'==============================================

مثلا میگن برای کریستال 8 باید کد osccon=0x72 رو تو برنامه قرار بدیم
در نهایت از راهنمایی شما صمیمانه متشکرم:11:

Peji2010
28-07-2010, 15:25
آقا دمت گرم عجب پا قدمی داری شما
ما اینیم دیگه..:31::5:


اینم از فیوزبیتهای PIC18F4550 لطفا تنظیمات درستش رو برای کریستلهای متفاوت توضیح بدید

خب با فرض اینکه شما میخاید با هر کریستالی که میذارید , میکروکنترلر با حداکثر سرعت یعنی 48 مگاهرتز کار کنه تنظیمات به این صورته :
تو قسمت PLL Prescaler که خودش مشخص کرده یعنی برای کریستال 4 مگاهرتز , 4MHZ و برای کریستال 8 مگاهرتز Divide by 2/8 MHZ input و برای سایر کریستالها هم اونی که خودش مشخص کرده رو انتخاب میکنید.

تو قسمت CPU System Clock Postscaler هم همیشه گزینه ی OSC1/OSC2 Src:/1,96Mhz PLL Src:/2 رو انتخاب کنید.
در قسمت USB Clock Source Selection هم 'گزینه 96MHZ PLL/2 رو انتخاب کنید و تو قسمت Oscillator هم بهتره همیشه HSPLL رو انتخاب کنید و بیشترین کریستالی هم که میتونید بذارید 20 مگا هرتزه و بقیه ی گزینه ها هم که مربوط به کریستال نمیشه.


سوال دیگه هم اینکه کد مربوط به هر کریستالی که برا مدارمون انتخاب میکنیم چیه؟آیا برای هر کریستال واقعا لازمه مقدار osccon=x را در برنامه قرار بدیم؟
این کدهای زیر درستند؟
مثلا میگن برای کریستال 8 باید کد osccon=0x72 رو تو برنامه قرار بدیم


برای هیج کریستالی لازم نیست رجیستر OSCCON رو تغییر بدید و اون کد هم لازم نیست. شما زمانی میرین سراغ OSCCON و OSCTUNE که بخاید از اوسیلاتور داخلی (INTOSC یا INTRC) استفاده کنید که البته در هر صورت برای کار با USB باید یه اوسیلاتور خارجی وصل کنید.
از هر کریستالی هم که استفاده میکنید باید تو MicroC کلاک رو 48 مگاهرتز انتخاب کنید.
حالا اگر نخاستید میکرو با حداکثر سرعت (48 مگاهرتز) کار کنه قضیه فرق میکنه.

sheytoon001
28-07-2010, 16:03
ما اینیم دیگه..:31::5:



خب با فرض اینکه شما میخاید با هر کریستالی که میذارید , میکروکنترلر با حداکثر سرعت یعنی 48 مگاهرتز کار کنه تنظیمات به این صورته :
تو قسمت PLL Prescaler که خودش مشخص کرده یعنی برای کریستال 4 مگاهرتز , 4MHZ و برای کریستال 8 مگاهرتز Divide by 2/8 MHZ input و برای سایر کریستالها هم اونی که خودش مشخص کرده رو انتخاب میکنید.

تو قسمت CPU System Clock Postscaler هم همیشه گزینه ی OSC1/OSC2 Src:/1,96Mhz PLL Src:/2 رو انتخاب کنید.
در قسمت USB Clock Source Selection هم 'گزینه 96MHZ PLL/2 رو انتخاب کنید و تو قسمت Oscillator هم بهتره همیشه HSPLL رو انتخاب کنید و بیشترین کریستالی هم که میتونید بذارید 20 مگا هرتزه و بقیه ی گزینه ها هم که مربوط به کریستال نمیشه.



برای هیج کریستالی لازم نیست رجیستر OSCCON رو تغییر بدید و اون کد هم لازم نیست. شما زمانی میرین سراغ OSCCON و OSCTUNE که بخاید از اوسیلاتور داخلی (INTOSC یا INTRC) استفاده کنید که البته در هر صورت برای کار با USB باید یه اوسیلاتور خارجی وصل کنید.
از هر کریستالی هم که استفاده میکنید باید تو MicroC کلاک رو 48 مگاهرتز انتخاب کنید.
حالا اگر نخاستید میکرو با حداکثر سرعت (48 مگاهرتز) کار کنه قضیه فرق میکنه.




دوست من واقعا برا توضیحاتتون ممنونم:10:
ببخشید ، میتونید درباره 18 تا فیوز بیت اول این میکرو بیشتر توضیح بدید
اولی رو فهمیدم برا کریستالیه که انتخاب میکنیم، اما بقیه رو نمی دونم برا چیه بر چه اساسی باید تغییرشون داد؟
بازم تشکر می کنم از راهنمایی بسیار مفیدتون:11:

Peji2010
29-07-2010, 00:40
ببخشید ، میتونید درباره 18 تا فیوز بیت اول این میکرو بیشتر توضیح بدید
نه :31:
ببین این میکرو کلا" به دو منبع پالس ساعت نیاز داره یکی برای ماژول USB و یکی هم پالس ساعت اصلی برای انجام دستورات و ... برای پالس اصلی دو منبع وجود داره : خارجی و داخلی. اما برای USB منبع خارجی لازمه.
اول میریم سراغ منبع اصلی خارجی.
تو مدهای XT HS EC و ECIO با اتصال یه منبع مثل کریستال به ورودی (HS برای بالای 3.6MHZ و XT برای کمتر از 3.6MHZ) پالس ساعت , اول وارد تقسیم کننده ی Oscillator Postscaler میشه که بسته به تنظیم فیوز بیت دوم فرکانسش بر 4 یا 3 یا 2 یا 1 تقسیم میشه و بعد برای اجرای دستورات و ... استفاده میشه. یعنی اگه مثلا" کریستال 20MHZ وصل بشه و 2/ انتخاب بشه فرکانس 10MHZ به CPU میرسه و با حساب یک دستور در هر 4 پالس , 2.5 میلیون دستور در ثانیه اجرا میشه.
تو مدهای HSPLL XTPLL ECPLL و ECPIO با اتصال منبع خارجی اول باید پالس وارد یک PLL بشه که این PLL ,فقط ورودی 4 مگاهرتز میگیره و در خروجی 96 مگاهرتز تحویل میده. چون این PLL فقط ورودیش باید 4 مگاهرتز باشه پالس ابتدا باید وارد تقسیم کننده ی PLL Prescaler بشه و بعد بره تو PLL. این تقسیم کننده با فیوز بیت اول تنظیم میشه و همیشه باید طوری تنظیم بشه که خورجی بشه 4 مگاهرتز. یعنی اگه مثلا" کریستال 20MHZ گذاشتید حتما" باید گزینه ی Divide by 5 انتخاب بشه چون : 20/5 =4 .
بعد از اینکه 4 مگ تبدیل به 96 شد وارد تقسیم کننده ی PLL Postscaler میشه که 96 رو به 6 یا 4 یا 3 یا 2 تقسیم میکنه که با فیوز بیت دوم تنظیم میشه و برای حداکثر سرعت که 48 مگاهرتزه باید 2/ انتخاب بشه و پالس ساعت بعد از تقسیم وارد CPU میشه.
یه نکته اینه که فیوز بیت دوم خودش دو قسمت داره که تو 4 مدی که قبلا" گفتم و از PLL استفاده نمیشه شما باید به عدد تقسیم سمت چپ توجه کنی که این چهار گزینه رو داره: 1/ 2/ 3/ 4/ و تو 4 مدی که بعدش توضیح دادم باید گزینه های سمت راست رو در نظر بگیری.( 2/ 3/ 4/ 6/)
فیوز بیت سوم هم مربوط به ورودی پالس ساعت برای USB هست که گزینه ی PLL یعنی از خروجی PLL استفاده بشه(که بهتره همیشه اینو انتخاب کنید) و اون یکی هم یعنی به طور مستقیم پالس رو از ورودی OSC1 OSC2 بگیره.
تو فیوز بیت چهارم هم که 8 تاشو توضیح دادم اما INTHS یعنی از اوسیلاتور داخلی استفاده بشه و یه کریستال فرکانس بالا برای USB وصل بشه و INTXT هم همونه فقط با فرکانس کمتر و INTIO مث قبلیه فقط ورودی غیر از کریستاله و INTCKO هم مثل قبلیه فقط پالس ساعت تقسیم بر 4 شده از پایه OSCO میاد بیرون! فیوز پنجم اگه فعال بشه وقتی در حین کار ,سیستم پالس ساعت میکرو دچار مشکل بشه میکرو به طور اتوماتیک به اوسیلاتور RC داخلی سوییچ میکنه. فیوز ششم برای سوییچ کردن بین پالس داخلی و خارجی در حین کاره و سه تا فیوز بعدی هم که مربوط به Powerup و BrownOut میشه و فیوز بعدی اگه فعال باشه در هنگام فعال بودن USB از پایه VUSB ولتاژ 3.3 ولت میاد بیرون و دو فیوز بعدی هم که مربوطه به WDT و بعدی هم برای انتخاب پایه ی مورد استفاده برای CCP است و بعدی هم برای تعیین مد PORTB بعد از RESET شدن میکرو هست(آنالوگ یا دیجیتال) و بعدی برای استفاده از کریستال خارجی کم توان TIMER1 به عنوان پالس ساعت میکرو هست(که معمولا" باید غیر فعال باشه) و بعدی پایه ی MCLR رو مشخص میکنه که پین ورودی RE3 باشه یا ورودی ریست و فیوز بعدی هم برای ریست شدن خودکار میکرو هنگام پرشدن Stack هست.
درضمن پالس ساعت داخلی میتونه از 31KHZ تا 8MHZ رو تحویل بده (که قابل تنظیمه) و اوسیلاتورRC داخلی هم فرکانسش 31 کیلوهرتزه.

sheytoon001
29-07-2010, 01:39
نه :31:
ببین این میکرو کلا" به دو منبع پالس ساعت نیاز داره یکی برای ماژول USB و یکی هم پالس ساعت اصلی برای انجام دستورات و ... برای پالس اصلی دو منبع وجود داره : خارجی و داخلی. اما برای USB منبع خارجی لازمه.
اول میریم سراغ منبع اصلی خارجی.
تو مدهای XT HS EC و ECIO با اتصال یه منبع مثل کریستال به ورودی (HS برای بالای 3.6MHZ و XT برای کمتر از 3.6MHZ) پالس ساعت , اول وارد تقسیم کننده ی Oscillator Postscaler میشه که بسته به تنظیم فیوز بیت دوم فرکانسش بر 4 یا 3 یا 2 یا 1 تقسیم میشه و بعد برای اجرای دستورات و ... استفاده میشه. یعنی اگه مثلا" کریستال 20MHZ وصل بشه و 2/ انتخاب بشه فرکانس 10MHZ به CPU میرسه و با حساب یک دستور در هر 4 پالس , 2.5 میلیون دستور در ثانیه اجرا میشه.
تو مدهای HSPLL XTPLL ECPLL و ECPIO با اتصال منبع خارجی اول باید پالس وارد یک PLL بشه که این PLL ,فقط ورودی 4 مگاهرتز میگیره و در خروجی 96 مگاهرتز تحویل میده. چون این PLL فقط ورودیش باید 4 مگاهرتز باشه پالس ابتدا باید وارد تقسیم کننده ی PLL Prescaler بشه و بعد بره تو PLL. این تقسیم کننده با فیوز بیت اول تنظیم میشه و همیشه باید طوری تنظیم بشه که خورجی بشه 4 مگاهرتز. یعنی اگه مثلا" کریستال 20MHZ گذاشتید حتما" باید گزینه ی Divide by 5 انتخاب بشه چون : 20/5 =4 .
بعد از اینکه 4 مگ تبدیل به 96 شد وارد تقسیم کننده ی PLL Postscaler میشه که 96 رو به 6 یا 4 یا 3 یا 2 تقسیم میکنه که با فیوز بیت دوم تنظیم میشه و برای حداکثر سرعت که 48 مگاهرتزه باید 2/ انتخاب بشه و پالس ساعت بعد از تقسیم وارد CPU میشه.
یه نکته اینه که فیوز بیت دوم خودش دو قسمت داره که تو 4 مدی که قبلا" گفتم و از PLL استفاده نمیشه شما باید به عدد تقسیم سمت چپ توجه کنی که این چهار گزینه رو داره: 1/ 2/ 3/ 4/ و تو 4 مدی که بعدش توضیح دادم باید گزینه های سمت راست رو در نظر بگیری.( 2/ 3/ 4/ 6/)
فیوز بیت سوم هم مربوط به ورودی پالس ساعت برای USB هست که گزینه ی PLL یعنی از خروجی PLL استفاده بشه(که بهتره همیشه اینو انتخاب کنید) و اون یکی هم یعنی به طور مستقیم پالس رو از ورودی OSC1 OSC2 بگیره.
تو فیوز بیت چهارم هم که 8 تاشو توضیح دادم اما INTHS یعنی از اوسیلاتور داخلی استفاده بشه و یه کریستال فرکانس بالا برای USB وصل بشه و INTXT هم همونه فقط با فرکانس کمتر و INTIO مث قبلیه فقط ورودی غیر از کریستاله و INTCKO هم مثل قبلیه فقط پالس ساعت تقسیم بر 4 شده از پایه OSCO میاد بیرون! فیوز پنجم اگه فعال بشه وقتی در حین کار ,سیستم پالس ساعت میکرو دچار مشکل بشه میکرو به طور اتوماتیک به اوسیلاتور RC داخلی سوییچ میکنه. فیوز ششم برای سوییچ کردن بین پالس داخلی و خارجی در حین کاره و سه تا فیوز بعدی هم که مربوط به Powerup و BrownOut میشه و فیوز بعدی اگه فعال باشه در هنگام فعال بودن USB از پایه VUSB ولتاژ 3.3 ولت میاد بیرون و دو فیوز بعدی هم که مربوطه به WDT و بعدی هم برای انتخاب پایه ی مورد استفاده برای CCP است و بعدی هم برای تعیین مد PORTB بعد از RESET شدن میکرو هست(آنالوگ یا دیجیتال) و بعدی برای استفاده از کریستال خارجی کم توان TIMER1 به عنوان پالس ساعت میکرو هست(که معمولا" باید غیر فعال باشه) و بعدی پایه ی MCLR رو مشخص میکنه که پین ورودی RE3 باشه یا ورودی ریست و فیوز بعدی هم برای ریست شدن خودکار میکرو هنگام پرشدن Stack هست.
درضمن پالس ساعت داخلی میتونه از 31KHZ تا 8MHZ رو تحویل بده (که قابل تنظیمه) و اوسیلاتورRC داخلی هم فرکانسش 31 کیلوهرتزه.
واقعا برا این مطالب مفید ازتون متشکرم دوست من:11:
سر من که گیج رفت ، آخه تازه کارم، باید بیشتر ازینا کار کنم و مطالعه داشته باشم
احتمالا ازین به بعد بیشتر منو اینجا میبینید:31:
راستی اون قسمت USB Clock Source Selection ;i که PLL رو انتخاب کردم سرعت مدار زیاد شده بود مجبور شدم دوباره osc رو انتخاب کنم ، فعلا تونستم یه برنامه شمارنده 1-9999 باهاش پیاده سازی کنم :31:

Peji2010
29-07-2010, 12:26
خوبه راه اندازی تایمر هم برای شروع با این آیسی کم چیزی نیست:31:
USB Clock هم اگه تنظیمات دیگه درست باشه تو مد PLL باید درست کار کنه!

sheytoon001
29-07-2010, 16:26
میشه درباره ADCON1 یه مقدار توضیح بدید که برای چه کاری استفاده میشه؟
البته فکر میکنم به دیجیتال کردن پورت های آنالوگ مربوطه اما طریقه کارکردش چطوریه؟فرضا اگه در PIC18F4550 پورت A رو بخوایم دیجیتال کنیم یا فقط پورت B رو دیجیتال کنیم چطوری باید بفهمیم چه عددی رو باید به ADCON1 اختصاص بدیم؟
و دیگه اینکه آیا این تنها راه تبدیل پورت آنالوگ به دیجیتاله؟:20:
یه سوال دیگه اینکه ،در 4550 چرا پورت C4 و C5 کار نمی کنن؟فکر میکنم یه ربطی به +D و -D که جلو این پورتها نوشته داره درسته؟یه مقدار درموردش اگه ممکنه توضیح بدید، و آیا راهی هست که به طور معمول بشه از این دو استفاده کرد؟:20:

Peji2010
29-07-2010, 20:28
میگم اگه دیتاشیت این آیسی رو نداری حتما" دانلود کن چون بدون دیتاشیت زندگی سخته:31:
4 بیت اول ADCON1 همونطور که میدونی دیجیتال یا آنالوگ بودن PORTA و PORTB رو تعیین میکنه و دوبیت بالاتر هم برای تعیین پایه های ورودی ولتاژ مرجع آنالوگ به دیجیتاله. تو دیتاشیت نحوه ی انتخاب رو به طور کامل نوشته که اون صفحه رو برات میذارم:


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

A = آنالوگ D = دیجیتال
آره این تنها راه انتخاب آنالوگ یا دیجیتال بودن پایه هاست. پایه های -D و +D برای USB هستن و در حالت عادی که USB فعال نیست این پایه ها (RC4 , RC5) فقط به عنوان ورودی دیجیتال قابل استفاده هستن (یعنی فقط میشه PORTC4 , PORTC5 رو خوند) و بیتهای TRIS برای این دوپایه وجود نداره اما پایه های دیگه ی PORTC دو طرفه هستن.

sheytoon001
29-07-2010, 22:15
میگم اگه دیتاشیت این آیسی رو نداری حتما" دانلود کن چون بدون دیتاشیت زندگی سخته:31:
4 بیت اول ADCON1 همونطور که میدونی دیجیتال یا آنالوگ بودن PORTA و PORTB رو تعیین میکنه و دوبیت بالاتر هم برای تعیین پایه های ورودی ولتاژ مرجع آنالوگ به دیجیتاله. تو دیتاشیت نحوه ی انتخاب رو به طور کامل نوشته که اون صفحه رو برات میذارم:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدA = آنالوگ D = دیجیتال
آره این تنها راه انتخاب آنالوگ یا دیجیتال بودن پایه هاست. پایه های -D و +D برای USB هستن و در حالت عادی که USB فعال نیست این پایه ها (RC4 , RC5) فقط به عنوان ورودی دیجیتال قابل استفاده هستن (یعنی فقط میشه PORTC4 , PORTC5 رو خوند) و بیتهای TRIS برای این دوپایه وجود نداره اما پایه های دیگه ی PORTC دو طرفه هستن.
ای ول شما عجب اطلاعاتی راجع به میکرو کنترلر ها داری:31:
خیلی خیلی ازت ممنونم:10:
راستی دیتاشیت رو دارما:31: اما چون انگلیسیم خوب نیست زیاد نگاش نکردم، اما ازین به بعد سعی می کنم بخونمش:11:

Peji2010
29-07-2010, 22:56
خواهش میکنم رفیق.
در مورد PIC شاید :5::21: ولی اگه درباره ی میکروکنترلرهای دیگه بپرسی...:31::27::18::13: :19:
چند بار که دیتاشیت رو بخونی دیگه عادی میشه برات, فوقش اگه انگلیسیت زیاد خوب نیست یه دیکشنری نصب کن رو کامپیوتر و ...:27:

steverobinson
16-05-2011, 05:26
سلام
من برای بک پروژه کنترل سروو موتورها با z80180 زایلوگ و فلش 29F010 نیاز به کمک تخصصی افراد وارد دارم لطفا برای اطلاعات بیشتر با من تماس بگیرید. حقالزحمه بسیار عالی پرداخت خواهد شد.

بهروز
09123874644

baghbanzadeh
22-02-2015, 13:22
سلام
حجم برنامه من زیاد شده و آیسی جا نداره (Pic16f876a) و MicroCode Studio کامپایل نمیکنه آیا میشه از 18f452 یا میکروی دیگه ای که حجم بیشتری داره به جای 16f876 استفاده کرد ؟ من با سری 18
کار نکردم / . لطفا راهنمایی کنید .
ممنون

SNOW PATROL
22-02-2015, 14:20
سلام
حجم برنامه من زیاد شده و آیسی جا نداره (Pic16f876a) و MicroCode Studio کامپایل نمیکنه آیا میشه از 18f452 یا میکروی دیگه ای که حجم بیشتری داره به جای 16f876 استفاده کرد ؟ من با سری 18
کار نکردم / . لطفا راهنمایی کنید .
ممنون


بله اگر 32 کیلوبایت برای شما جوابگو است چرا که نه

baghbanzadeh
24-02-2015, 02:47
بله اگر 32 کیلوبایت برای شما جوابگو است چرا که نه

از توجه شما بسیار ممنونم . حجم برنامه اونقدر زیاد نیست . 16کیلوبایت برای من جوابگو است

ببینید این ارور با 16f876


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



تنظیم فیوز بیت ها در میکرو 16f876a

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



من تنظیمات فیوز بیت های بالا رو با میکروی18f452 به اینصورت تنظیم کردم !؟ که جواب نگرفتم :n03: ؟

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

SNOW PATROL
24-02-2015, 17:24
از توجه شما بسیار ممنونم . حجم برنامه اونقدر زیاد نیست . 16کیلوبایت برای من جوابگو است

ببینید این ارور با 16f876






تنظیم فیوز بیت ها در میکرو 16f876a





من تنظیمات فیوز بیت های بالا رو با میکروی18f452 به اینصورت تنظیم کردم !؟ که جواب نگرفتم :n03: ؟




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

baghbanzadeh
24-02-2015, 23:35
نه ارور نمیده میکرو پروگرام میشه اما تو پروژه کار نمیکنه احتمالا تو کانفیگ کردن فیوزبیتهای 18f452 درست تنظیم نشدن !!؟ WRT ها رو اصلا تیک نزدم ...
قبل از ارتفا برنانه با میکرو 16F876 مشکلی نداشتم و با همون کانفیگ کار میکرد که با اضافه شدن چند خط به برنانه با کمیود حافظه مواجه شدم :n13:

SNOW PATROL
25-02-2015, 17:30
نه ارور نمیده میکرو پروگرام میشه اما تو پروژه کار نمیکنه احتمالا تو کانفیگ کردن فیوزبیتهای 18f452 درست تنظیم نشدن !!؟ WRT ها رو اصلا تیک نزدم ...
قبل از ارتفا برنانه با میکرو 16F876 مشکلی نداشتم و با همون کانفیگ کار میکرد که با اضافه شدن چند خط به برنانه با کمیود حافظه مواجه شدم :n13:


دوست من ... به نظر بنده شما مدارت رو در پروتئوس ببند ببین شاید مشکل برنامه نویسی داشته باشی ...
تنظیمات فیوزبیت های که شما انجام دادی من بهتون میگم ببینید چیزی که میخواستید بوده :
شما پاور اپ تایمر رو فعال کردین .. براون اوت دتکت رو فعال کردن و ولتاژ ریستش رو 2 ولت قراردادین .. تایمر واتچ داگ رو فعال کردین نسبتش رو هم 1 به 128 قرار دادین .. حالت نوسان سازتون هم که hs هست و معمولا هم از این مورد استفاده میکنند
چیز خاصی فیوزبیت شما نداره : دو تا کار انجام بده
1.اول اینکه همون جور که گفتم مدار رو در پروتئوس شبیه سازی کنید ببینید وضعیت چطوره
2.شما همون برنامه اولتون که در مدل 16 ریختید و جواب گرفتید ( قبل از افزودن چند خط برنامه) رو در ای سی 18 بریزید ببینید همون برنامه رو میتونید جواب بگیرید

baghbanzadeh
09-03-2015, 12:03
دوست من ... به نظر بنده شما مدارت رو در پروتئوس ببند ببین شاید مشکل برنامه نویسی داشته باشی ...
تنظیمات فیوزبیت های که شما انجام دادی من بهتون میگم ببینید چیزی که میخواستید بوده :
شما پاور اپ تایمر رو فعال کردین .. براون اوت دتکت رو فعال کردن و ولتاژ ریستش رو 2 ولت قراردادین .. تایمر واتچ داگ رو فعال کردین نسبتش رو هم 1 به 128 قرار دادین .. حالت نوسان سازتون هم که hs هست و معمولا هم از این مورد استفاده میکنند
چیز خاصی فیوزبیت شما نداره : دو تا کار انجام بده
1.اول اینکه همون جور که گفتم مدار رو در پروتئوس شبیه سازی کنید ببینید وضعیت چطوره
2.شما همون برنامه اولتون که در مدل 16 ریختید و جواب گرفتید ( قبل از افزودن چند خط برنامه) رو در ای سی 18 بریزید ببینید همون برنامه رو میتونید جواب بگیرید



مدار رو تو پروتئوس شبیه سازی کردم و برنامه اول تو 16ّf876 راحت جواب داد ولی همین برنامه با میکروی سری 18 تو پروتئوس اصلا کار نمیکنه !؟ هیچ !! میکرو انگار خاموشه ؟؟؟!!!!! من اسم میکرو رو تو برنامه با 18f452 تغییر دادم فکرکنم کانفیگ فیوزبیت ها روهم تو برنامه باید تغییر بدم درسته ؟

ببخشید که دیر شد .باز هم از بذل توجه شما ممنونم.

SNOW PATROL
09-03-2015, 20:27
مدار رو تو پروتئوس شبیه سازی کردم و برنامه اول تو 16ّf876 راحت جواب داد ولی همین برنامه با میکروی سری 18 تو پروتئوس اصلا کار نمیکنه !؟ هیچ !! میکرو انگار خاموشه ؟؟؟!!!!! من اسم میکرو رو تو برنامه با 18f452 تغییر دادم فکرکنم کانفیگ فیوزبیت ها روهم تو برنامه باید تغییر بدم درسته ؟

ببخشید که دیر شد .باز هم از بذل توجه شما ممنونم.


چیزی که من میبینم شما مشکل برنامه نویسی دارید و بعید میدونم از فیوزبیت باشه
پروتئوس اروری به شما نمیده ؟

متاسفانه اطلاعات pic بنده هم چندان تعریفی نیست

baghbanzadeh
10-03-2015, 10:21
چیزی که من میبینم شما مشکل برنامه نویسی دارید و بعید میدونم از فیوزبیت باشه
پروتئوس اروری به شما نمیده ؟

متاسفانه اطلاعات pic بنده هم چندان تعریفی نیست

خواهش میکنم
نه اروری نمیده . برنامه نویسی مشکلی نداره چون با میکروی سری 16 کارمیکنه اگه مشکل داشته باشه که با این هم کار نمیکرد ولی با سری 18 مشکل دارم:n13:
احتمالا از همون کانفیگه که فکر کنم باید اول برنامه برای سری 18 با یه دستور برنامه نویسی اضافه بشه /