از دوست ما ناراحت نشوبه نقل از afshin_electronic :به دوستان تازه وارد شديدا توصيه ميكنم به http://forum.persiantools.com/showthread.php?t=28779 يه سري بزنند ....
به نقل از chia :مثل انکه خودم باید دست به کار بشم
برای شروع:
میکروکنترلر های pic
این میکروکنترلر ها ساخت شرکت MicroChip هستند .نام pic از کلمه های
Programmable Interface Controlگرفته شده .
این نوع تراشه ها در انواع 8 و 18 و28 و 40 و 64 و 80 پایه موجود می باشند .
میکروکنترلرهای PIC از نظر نوع حافظه به 4 دسته تقسیم می شوند :
1- دارای حافظه از نوع Flash هستند : آی سی هایی که دارای حرف F هستند مانند 16F84
2- دارای حافظه از نوع Eprom هستند : آی سی هایی که دارای حرف C یا CE هستند مانند 16C84 -16CE625
3-دارای حافظه از نوع Rom هستند :آی سی هایی که دارای حرف CR هستند مانند 16CR84
4-دارای حافظه از نوع Eeprom هستند
همچنین آی سی هایی که دارای حرف L هستند دارای رنج ولتاژ گسترده ای هستند .
در اینجا به بررسی pic16F84A می پردازیم (چون این نوع کاربرد زیادی دارد )
این میکروکنترلر دارای 18 پایه می باشد که 13 پایه به عنوان خطوط I/O
۵ پایه=Port A ،
8 پایه= Port B ) و 6 پایهء دیگر پایه های کنترل و تغذیه هستند .
CPU از نوع RICK بوده و دارای 35 دستوالعمل تک کلمه ای است.(35 دستور اسمبلی)
ورودی کلاک (فرکانس کریستال ) حداکثر تا MHZ 20 باشد .
فرکانس کلاک داخلی برابر یک چهارم فرکانس کریستال می باشد .
جریان بالای خروجی برای راه اندازی مستقیم LED و سون سگمنت . در حالتی که جریان بدهد 20 میلی آمپر و در حالی که جریان بکشد 25 میلی آمپر .
جریان مصرفی توسط آی سی 1.8میلی آمپر است که در حالت کاهش توان به 7 میکروآمپر میرسد .
یک تایمر (شمارنده) 8 بیتی که هم می تواند به صورت تایمر آزاد مورد استفاده قرار گیرد و هم به صورت WDT
(Watch Dog Timer تایمر سگ نگهبان که می تواند بعد از مدت زمان مشخصی مدار را ریست کند که دارای کلاک جدا است )
در ضمن دراین نوع میکروکنترلرها از معماری هاروارد(Harvard) استفاده شده است. در این نوع معماری بر خلاف معماری فون نیومن (Von Neumann) که از یک حافظه برای داده ها و برنامه استفاده میکند ، از دو بخش برای این کار استفاده شده . مزیت این معماری این است که میتوان به هر دو بخش حافظه در یک دستورالعمل دسترسی داشت .
حافظه برنامه از نوع Flash می باشد که دارای سرعت نسباتا خوبی می باشد و حجم آن 1k می باشد. که هر دستور العمل 14 بیت پهنا دارد .این حافظه را حداقل 1000 بار میتوان پاک کرد و از نو نوشت . برنامه اصلی در این قسمت قرار داده می شود .
حافظه داده به دو بخش RAM و EEPROM تقسیم میشود .
میزان RAM قابل استفاده برای کاربر 51 بایت میباشد (در کل 68 بایت می باشد) . که هم میتواند به صورت 8 و هم 16 بیتی مورد استفاده قرار بگیرد . Ram از 2 بانک 0 و 1 تشکیل شده که رجیسترها و ram کاربر را در بر میگیرد .
ممکن است که بعضی از رجیسترها در هر دو بانک باشند که این به علت دسترسی سریعتر و کاهش کد برنامه است .
میزان EEPROM قابل استفاده 68 بایت میباشد و قابلیت 10 ملیون بارخواندن و نوشتن دارد و
اطلاعات آن تا 40 سال محفوظ می ماند.
مسیر داده ها 8 بیتی بوده .
ترتیب پایه ها به صورت زیر می باشد :
[![]()
**** توضیحات:
پایه 3، (RA4) هم بیت چهارم پورتA می باشد و هم پایه مربوط به کلاک خارجی تایمر میکروکنترلر .
پایه 4 ،(MCLR) پایه ریست می باشد که فعال به صفر می باشد .
پایه 5 ، برای تغذیه منفی می باشد که به زمین وصل می شود .
پایه 6 ، (RB0/INT) هم بیت صفر از پورت B میباشد و هم مربوط به وقفه خارجی .
پایه 12 ،(RB6) در هنگام برنامه ریزی میکروکنترلر ، به عنوان پایه CLOCK میباشد .
پایه 13 ،(RB7) در هنگام برنامه ریزی به عنوان DATA میباشد .
پایه 14، (VDD) تغذیه مثبت می باشد و به 5 ولت وصل می شود.
پایه های OSC1 و OSC2 برای اتصال به یک نوسانساز است .
شما وقتی میگی باید خودم دست به کار بشم بهتره که واقعا این کار رو بکنید . نه اینکه مطالب رو از یه وبلاگ کپی کنید اینجا و به اسم خودتون بزنید .
شما یادتون رفت منبع رو ذکر کنید .
اما من جای شما این کار رو انجام می دم
http://micro-pic.persianblog.com
که حالا شده
www.ir-micro.com
يه چيزيه مثل همون qbasic براي برنامه ريزي PIC ..در واقع زبان برنامه نويسي C براي PIC كه خيلي روون تر و قدرتمند تره .. بيشتر از اوني كه فكرشو بكني ..به نقل از belphi122 :سلام دوست عزیز.
این ccs که میگی چی هست؟ میتونی بیشتر راجبش توضیح بدی.![]()
به نقل از afshin_electronic :زياد جوش نزن ... براي قلبت خوب نيست ... (شوخي)![]()
از بابت سايت هم ممنون ... خيلي خوشم اومد ...
راستي شما منبعي فارسي براي آموزش CCS سراغ نداري؟؟
به نقل از belphi122 :با سلام
شما برای یادگیری زبان بیسبک از چه منبعی استفاده کردید اگه منبعتون را معرفی کنید ممنون میشم چون این کتابهای ترجمه شده خوب توضیح ندادند وهمونطور که گفتید ناقص هستند.
ضمنا من در مورد وقفه ها بخصوص وقفه تایمر ایراد دارم . اگه امکان داره کار با وقفه تایمر را توضیح بدید.
با تشکر.
symbol LED = PORTD.0
Brojac var byte
TRISB=%00000000
T1CON=%00000001
PIR1.0=0
PIE1= %00000001
Brojac = 0
PORTD = 0
On Interrupt Goto ISR
INTCON = %11000000
Main:
if Brojac = 152 then
toggle LED
Brojac = 0
Endif
goto Main
Disable
ISR:
Brojac = Brojac + 1
PIR1.0 = 0
Resume
Enable
End
symbol LED = PORTB.1
brojac var byte
TRISB = 0
PORTB = 0
INTCON = %00100000
OPTION_REG = %10000100
brojac = 0
TMR0 = 96
On Interrupt Goto ISR
INTCON = %10100000de
Main:
if brojac = 200 then
toggle LED
brojac = 0
endif
goto Main
Disable
ISR:
brojac = brojac + 1
TMR0 = 96
INTCON.2 = 0
Resume
Enable
End
نه اين كتابي كه ميگي براي pic نيست.... آموزش خود C هستبه نقل از belphi122 :سلام افشین جان.
ببین شما مرجع انگلیسی زبان C برای pic سراغ دارید. اگه سراغ دارید لینکشو بذارید.
یه نفر میگفت کتاب زبان c عین ا.. قمی کتاب خوبی هست حالا نمی دونم برای pic هست یا نه.
مرسي .. من هم از همين آموزشگاه ها با CCS آشنا شدم .. البته وقت نداشتم و دنباش رو نگرفتم و الان هم پشيمونم ....به نقل از micro-pic :جوش نمی زنم . فقط خواستم اگه مطلبی قراره آموزش داده بشه جدید باشه . نه اینکه تکراری . اگر اسم سایت رو هم گفتم واسه این بود که این دوستمون باقیشو از خودش بزاره . چون مسلما طرز بیان 2 نفر با هم فرق داره و تو یاد گیری هم خیلی بهتره .
من تو سایت خودم حدود 2 ماه دیگه ( بعد از کنکورم ) سعی می کنم آموزش کامل pic رو بزارم . البته کامل که نمیشه گفت چون pic خیلی بیشتر از این حرفا کار داره . اما نسبت به کتابایی که واسش ترجمه شده خیلی کامل تر هست .
:blink:
در مورد ccs هم چیزه درست حسابی ندیدم . یعنی کلا در مورد برنامه نویسی c . اما اگه دنبال همچین چیزایی هستی بهتره الان تو شرکت ها یا موسسه های آموزشی دنبالش باشی . چون اول تو اینا میاد و اموزش داده میشه و بعد کم کم کتابایی واسش ترجمه یا تالیف میشه![]()
اما شما بیسیک رو هم دست کم نگیر و به همین کتابای فارسی اکتفا نکن . چون این کتابا حتی 10% قدرت pic basic رو هم نمایش ندادند وفقط جنبه نمایشی دارن .