آی پی امداد
abtahi

آموزشی: آموزش برنامه نویسی PIC BASIC

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,118
74,142
48
ایران
سلام
این تاییک برای آشنایی شما با زبان برنامه نویسی PIC BASIC میکروکنترلهای PIC ایجاد می گردد.
در این بخش نمونه مثال هایی که خودم قبلا کار کردم و همچنین موارد دیگری ارائه می شود.
!! البته بنده حرفه ای نیستم !!تا حدی که بتوانم ادامه میدهم.
در این فایل ها هم فایل برنامه و فایل هگز و همچنین سعی میشود فایل پروتئوس نیز آپلود شود.

ابتدا فایل دستورات PIC BASIC که فارسی می باشد تقدیم می گردد.!!

[hide]مشاهده فایل‌پیوست PICBasic_farsi.rar[/hide]


نرم افزار های مورد نیاز عبارتند از :

MICRO CODE STUDIO محیط برنامه نویسی


MICRO CODE.jpg

(PBP 2.60 (PIC BASIC PRO کد های مخصوص و فرامین مرتبط

MPASM مبدل فایل هگز و اسمبلی


MPASM.PNG

سخت افزار هم یک پرو گرمر ساده.


دوستان این نرم افزارها رو تهیه کنند.
 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,118
74,142
48
ایران
سلام
برای راه اندازی Micro code Studio ابتدا برنامه را نصب کرده مراحل زیر را انجام دهید .


[hide]mcsp01.png[/hide]

[hide]mcsp02.png[/hide]

قبلا کمپایلر را در درایو c نصب کنید. تا در موقع راه اندازی و معرفی محل نصب pbp با مشکل مواجه نشوید .
بصورت اتوماتیک یا دستی یکی را انتخاب کنید .

[hide]mcsp03.png[/hide]

اسمبلر را نیز مانند کمپایلر درون درایو c ذخیره کنید .
تا برنامه micro code studio بدون خطا کار کند.


جلسه بعد آموزش بر نامه نویسی به حول و قوه خدا شروع میشود.
 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,118
74,142
48
ایران
سلام
قسمت اول:
برای کار با برنامه نویسی 3 نوع فرمت شمارش موجود است.
1-شمارش به شیوه دسیمال (ده دهی .یا ده تایی : مثل 10-23 و غیره.....)
2-شمارش به شیوه هگزا دسیمال (16 تایی .در ابتدا کد علامت $ مشخص کننده استفاده از این روش است. مثل: 1$ 31$)
3- شمارش به شیوه باینری (دو دویی که فقط می توان از 0 یا 1 استفاده کرد و از علامت % در ابتدا آن استفاده میشود. 0001% 0101%)


هر میکرو دارای سری پایه های است که با نام های پورت A .B .C , D مشخص می گردد. برای مثال پورت B در میکرو PIC16F84 دارای 8 پایه است از 0 تا 7 . میتوان با فرامین خاصی ان پایه ها را به ورودی یا خروجی تغییر داد.

[hide]در این مباحث کار با PIC16F84A توضیح داده میشود .در این میکرو ها فرامین یکسان است فقط با امکانات داخلی از جمله مبدل های انالوگ به دیجیتال یا دیجیتال به انالوگ و غیره ... اضافه میشود.
[/hide]


 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,118
74,142
48
ایران
سلام
دوستان عزیز به این تصویر توجه کنید.و مدار خود را مثل این ببندید.

[hide]1.jpg[/hide]

تغذیه pic 5 ولت است . برای تغذیه حتما از ای سی رگولاتور 7805 استفاده کنید .مستقیما به پاور کامپیوتر نزنید !!!
تا در بحث های بعدی مورد استفاده قرار گیرد.

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

[hide]TRIS
این دستور عمل پیکر بندی پایه ها را (ورودی و خروجی بودن) به دو شکل انجام میدهد.
پیکر بندی کل پایه ها
پیکر بندی یک پایه
اگر می خواهید کل پایه ها را بصورت همزمان از مقدار دهی رجیستر Tris استفاده می شود.
مثال: 00000000%=TRISA
در دستور بالا همه پایه های پورت A به تبدیل شده اند.

اگر می خواهید یک پایه خاص را به خروجی تبدیل کنید.
از این فرامین استفاده میشود
TRISA.2=0
پایه 2 از پورت A به خروجی تبدیل میشود
همچنین

OUTPUT portb.0[/hide]

پایه 0 از پورت b به خروجی تبدیل میشود.

مثال: 11111111%=TRISB
در دستور بالا همه پایه های پورت B به ورودی تبدیل شده اند.

اگر می خواهید یکی از پایه ها را به ورودی تبدیل کنید
TRISB.0=1
INPUT portb.0
پایه 0 از پورت b به ورودی تبدیل می شود.


دوستان مقداری در مورد این فرامین تحقیق کنند.



 
آخرین ویرایش:

kavosh83

VIP+ افتخاری
کاربر
2008-09-27
528
3,595
بهشت خدا در زمین
سلام
دوستان عزیز به این تصویر توجه کنید.و مدار خود را مثل این ببندید.

hidden content may not be quoted

تغذیه pic 5 ولت است . برای تغذیه حتما از ای سی رگولاتور 7805 استفاده کنید .مستقیما به پاور کامپیوتر نزنید !!!
تا در بحث های بعدی مورد استفاده قرار گیرد.

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

hidden content may not be quoted

پایه 0 از پورت b به خروجی تبدیل میشود.

مثال: 11111111%=TRISB
در دستور بالا همه پایه های پورت B به ورودی تبدیل شده اند.

اگر می خواهید یکی از پایه ها را به ورودی تبدیل کنید
TRISB.0=1
INPUT portb.0
پایه 0 از پورت b به ورودی تبدیل می شود.


دوستان مقداری در مورد این فرامین تحقیق کنند.



سلام استاد
فایل پیوست مشکل دارد لطفا چک کنید.
 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,118
74,142
48
ایران
سلام

ادامه مبحث گذشته
دوستان عزیز با دستور tris میتوان همزمان در یک پورت هم خروجی و هم ورودی را تعریف کرد .
مثل : 10110011%=TRISB
یاد گیری این مطالب راجع به این دستور ضروری است.

به تصویری از همین دستور در مورد PIC نگاه کنید . عمل کرد این دستور در پورت B به این صورت است .

[hide]PIC.jpg[/hide]

اولین برنامه با دستور port
portb.0=1 مشخص کننده پایه 1 از پورت B بصورت خروجی
HIGH PORTB-0 روشن کردن پایه 1 از پورت B

تصویر مدار طبق این دستور برای پایه 1 پورت B

[hide]PIC 1.jpg[/hide]


 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,118
74,142
48
ایران
سلام
ادامه بحث قبل
شما می توانید با نوشتن این برنامه ها در میکرو کد استدیو و کمپایل کردن و ریختن برنامه در
pic16f84a وبستن مدار نتیجه را ببینید.


حال می خواهیم این سه پایه از پورت B را روشن کنیم .
به تصویر نگاه کنید.

[hide]PIC 2.jpg[/hide]
[hide]

برنامه این تصویر
[/hide]​
[hide]
TRISB=%00000000
PORTB=0
PORTB.0=1
PORTB.1=1
PORTB.2=1
[/hide]توضیح برنامه از خط اول بترتیب.
پورت B تمامی پایه ها فعال شود و به خروجی تبدیل گردد.
تمامی پایه های پورت B خاموش شوند.
پایه 1 از پورت B روشن شود.
پایه 2 از پورت B روشن شود.
پایه 3 از پورت B روشن شود.



توجه به هیچ وجه میکرو را قفل نکنید . اگر قفل کردید قابل پاک کردن و استفاده دوباره نیست!!!!
موفق باشید.
 
بالا