آی پی امداد
abtahi
آریا الکترونیک mehrinfo تکشو

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

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,088
48
ایران
پاسخ : آموزش برنامه نویسی PIC BASIC

سلام


برنامه چراغ چشمک زن

Trisb = %00000000
portb = 0
loop:
high portb.0
pause 100
low portb.0
pause 500
goto loop
end
توضیحات :
[hide]
پورت B تمامی پایه ها فعال شود و به خروجی تبدیل گردد.
تمامی پایه های پورت B خاموش شوند.
نوشتن دستور loop یا حلقه تکرار دستور ها در همین مکان . البته با شرط کردن واضافه کردن فرامین
دیگر میتوان از این حلقه در اومد. وفرمان goto loop پرش از این محل به loop است . میکرو فقط این تیکه را اجرا خواهد کرد.

پایه 1 از پورت B روشن شود.
مکث به اندازه 100 میلی ثانیه
پایه 1 از پورت B خاموش شود.
مکث به اندازه 500 میلی ثانیه این مقدار رو بخاطر متفاوت بودن مکث قبلی 500 کردم تا چشمک زدن محسوس باشد.
برگرد به loopn یا حلقه مورد نظر.
پایان یا end . [/hide]


در پست بعد فایل بیسیک و پروتئوس تقدیم می گردد تا راحت تر کار کنید.
 

kavosh83

VIP+ افتخاری
کاربر
2008-09-27
528
3,592
بهشت خدا در زمین
پاسخ : آموزش برنامه نویسی PIC BASIC

در پست بعد فایل بیسیک و پروتئوس تقدیم می گردد تا راحت تر کار کنید.
سلام
مهندس جان پست بعدی خیلی طول کشید !
 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,088
48
ایران
پاسخ : آموزش برنامه نویسی PIC BASIC

سلام
مهندس جان پست بعدی خیلی طول کشید !

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

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,088
48
ایران
سلام دوستان عزیز
بخاطر وقفه ای که در آموزش پیش آمد پوزش می طلبم.

این هم طبق قولی که دادم فایل پرتئوس و PIC BASIC و هگز برنامه بالا


با یادگیری این مطالب شما می توانید برنامه تابلو ثابت و غیره.... را با افکت های مختلف بنویسید.

[hide]مشاهده فایل‌پیوست ders_1 jfrras led.rar [/hide]
 
آخرین ویرایش:

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,088
48
ایران
دوستان حالا میتونید به برنامه تغییراتی بدید زمان رو تغییر بدید تا سرعت چشمک زدن
تغییر کنه یا پورت ها رو عوض کنید تا معیار دستتون بیاد .
مثل این مثال :
[hide]
مشاهده فایل‌پیوست ders_1 LED 2.rar[/hide]

 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,088
48
ایران
درس بعدی اتصال چند ال ای دی به میکرو و روشن کردن یک در میان آنها هست .
هدف از گذاشتن فایل های برنامه تمرین و تغییر برنامه برای شما عزیزان است .



TRISb=%00000000

PORTB.0=1

PORTB.1=0

PORTB.2=1

PORTB.3=0

PORTB.4=1

END


توضیح برنامه از خط اول بترتیب.
پورت B تمامی پایه ها فعال شود و به خروجی تبدیل گردد.

پایه 1 از پورت B روشن شود.
پایه 2 از پورت B خاموش شود.
پایه 3 از پورت B روشن شود.
پایه 4 از پورت B خاموش شود.
پایان برنامه.

فایل های برنامه برای استفاده از پروتئوس :
[hide]
مشاهده فایل‌پیوست dars 1 led 3.rar[/hide]

 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,088
48
ایران
درس امروز : اتصال رله بجای ال ای دی مستقیم و استفاده از لامپ با ولتاژ دلخواه.





TRISB=0
portb=0
: loop r
hIgh portb.0
pause 1000
low portb.0
pause 500
goto r
end

توضیحش هم قبلا در مثال ها آمده است.!!!

[hide]مشاهده فایل‌پیوست dars_5.rar[/hide]
 
آخرین ویرایش:

jfrras

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

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

در این برنامه تعداد 8 کانال با 5 مدل افکت آشنا می شوید.
همراه با سورس برنامه و فایل پروتئوس و فایل هگز



TRISB=0
PORTB=0
:JFRRAS
PORTB=%00000011
PAUSE 150
PORTB=%00001100
PAUSE 150
PORTB=%00110000
PAUSE 150
PORTB=%11000000
PAUSE 150
PORTB=%00110000
PAUSE 150
PORTB=%00001100
PAUSE 150
PORTB=%00000011
PAUSE 150
PORTB=%00000011
PAUSE 150
PORTB=%00001100
PAUSE 150
PORTB=%00110000
PAUSE 150
PORTB=%11000000
PAUSE 150
PORTB=%00110000
PAUSE 150
PORTB=%00001100
PAUSE 150
PORTB=%00000011
PAUSE 150
PORTB=%10000001
PAUSE 150
PORTB=%11000011
PAUSE 150
PORTB=%01100110
PAUSE 150
PORTB=%00111100
PAUSE 150
PORTB=%00011000
PAUSE 150
PORTB=%00011000
PAUSE 150
PORTB=%00111100
PAUSE 150
PORTB=%01100110
PAUSE 150
PORTB=%11000011
PAUSE 150
PORTB=%10000001
PAUSE 150
PORTB=%11000011
PAUSE 150
PORTB=%01100110
PAUSE 150
PORTB=%00111100
PAUSE 150
PORTB=%00011000
PAUSE 150
PORTB=%00011000
PAUSE 150
PORTB=%00111100
PAUSE 150
PORTB=%01100110
PAUSE 150
PORTB=%11000011
PAUSE 150
PORTB=%00000001
PAUSE 150
PORTB=%00000011
PAUSE 150
PORTB=%00000111
PAUSE 150
PORTB=%00001111
PAUSE 150
PORTB=%00011111
PAUSE 150
PORTB=%00111111
PAUSE 150
PORTB=%01111111
PAUSE 150
PORTB=%11111111
PAUSE 150
PORTB=%11111111
PAUSE 150
PORTB=%01111111
PAUSE 150
PORTB=%00111111
PAUSE 150
PORTB=%00011111
PAUSE 150
PORTB=%00001111
PAUSE 150
PORTB=%00000111
PAUSE 150
PORTB=%00000011
PAUSE 150
PORTB=%00000001
PAUSE 150
PORTB=%00000000
PAUSE 150
PORTB=%11111111
PAUSE 150
PORTB=%00000000
PAUSE 150
PORTB=%11111111
PAUSE 150
PORTB=%00000000
PAUSE 150
PORTB=%11111111
PAUSE 150
PORTB=%00000000
PAUSE 150
PORTB=%11111111
PAUSE 150
PORTB=%00000000
PAUSE 150
PORTB=%11111110
PAUSE 150
PORTB=%11111101
PAUSE 150
PORTB=%11111011
PAUSE 150
PORTB=%11110111
PAUSE 150
PORTB=%11101111
PAUSE 150
PORTB=%11011111
PAUSE 150
PORTB=%10111111
PAUSE 150
PORTB=%01111111
PAUSE 150
PORTB=%11111111
PAUSE 150
PORTB=%11111111
PAUSE 150
PORTB=%01111111
PAUSE 150
PORTB=%10111111
PAUSE 150
PORTB=%11011111
PAUSE 150
PORTB=%11101111
PAUSE 150
PORTB=%11110111
PAUSE 150
PORTB=%11111011
PAUSE 150
PORTB=%11111101
PAUSE 50
GOTO JFRRAS
END
توضیح برنامه :
[hide]ابتدا کل پورت B را خروجی تعریف می کنیم.
کل پورت را خاموش می کنیم.
یک حلقه با نام دلخواه خودتون می نویسید. اینجا نام حلقه یا (LOOP (JFRRAS
سپس پورت ها بصورت باینری مقدار دهی می شوند .رقم های 1 بمعنا خروجی ولتاژ یا روشن شدن ال ای دی می باشد.
و رقم های 0 خاموش شدن پورت هاست .که افکت ها را در 150 میلی ثانیه تشکیل می دهند.
در آخر هم فرمان برگشت به ابتدای حلقه نوشته شده است . یعنی برگرد به اول سطر JFRRAS
پایان برنامه.[/hide]


فایل های این برنامه :

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

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,088
48
ایران
سلام
اگر دوستان عزیز برنامه ای در این مورد نوشتند می تونند پست بزنند تا بقیه هم استفاده کنند.!!

درس آینده اضافه کردن کلید و تغییر حالت ها و انتخاب خروجی ها می باشد.




 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,088
48
ایران
سلام
درس امروز اضافه کردن کلید به میکرو است.
بدین ترتیب :یک کلید فشاری به میکرو متصل میکنیم زمانی که فشار داده شد ال ای دی
روشن شود.
برای مثال کلید را در پورت B پایه 1 قرار میدهیم و ال ای دی را در پایه 1 از پورت A
با فشار دادن کلید ال ای دی روشن و با رها کردن آن ال ای دی خاموش میشود.

تصویری از شکل بستن مدار تست.
[hide]
[/hide]
[hide] b1.jpg
[/hide]​
[hide]


TRISA=0
TRISB=%00000001


SYMBOL SW=PORTA.0
SYMBOL LED=PORTB.0

:START
IF SW=1 THEN
LOW LED
ELSE
HIGH LED
ENDIF
GOTO START
END

توضیح برنامه :
ابتدا کل پورت A روشن می شود.
کل پورت B روشن و فقط پایه اول ورودی و بقیه خروجی تعریف میشود.
فرمان SYMBOL یعنی تعریف کردن یک اسم خاص برای شلوغ نشدن برنامه یا غیره.. استفاده می شود .
برای مثال SW: بجای PORTA.0 و همینطور PORTB.0 بجای LED
شروع لوپ یا حلقه :
مختصری در مورد دستور IF , THEN بعد از مقایسه با شرط تعیین شده .اگر شرط رعایت شده باشد. دستورات خواسته شده انجام میشود
وگرنه ادامه برنامه پس از دستور IF , THEN ادامه می یابد.
بدین صورت که اگر کلید در وضعیت 1 یا روشن باشد به دستور بعدی بپر وگرنه ادامه بده . منظور از دستور بعد ELSE یعنی روشن شدن ال ای دی است .
و در خط بعد دستور ENDIF یعنی قضیه شرطی تمام شود.
و دستور بعد GOTO START پرش به لوپ یا حلقه شروع است.


[/hide]
 
بالا