نظرسنجی: نطرتون در مورد آموزش bascom با بررسی پروژه ها مختلف چیه؟؟
این نظرسنجی بسته شده است.
خیلی خوبه. این جوری افراد مبتدی راحت با این زبون ساده آشنا می شن.
96.88%
31 96.88%
خیر. بابا حوصله داری ها!
3.13%
1 3.13%
بدک نیس.
0%
0 0%
در کل 32 رأی 100%
*شما به این گزینه رأی داده‌اید. [نمایش نتایج]

امتیاز موضوع:
  • 5 رأی - میانگین امتیازات: 3.6
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش بسکام پروژه یازدهم( ساخت ساعت با lcd)
#1
Video 
سلام

کیا پایه اموزش Bascom به کمک قرار دادن پروزه های مختلف و بررسی اونا هستن؟؟!
این زبون معمولا برا افراد تازه کار پیشنهاد میشه اما افرادی که اونو یاد بگیرن راحتتر میتونن به سمت سی برن.

لطفا نظر سنجی شرکت کنید.
پاسخ
 سپاس شده توسط nano ، kamran0080 ، nilofar1036 ، polestar ، b.afshin ، behroz2010 ، zenex ، hplnvqh ، s.jv
#2
یعنی اگه این کار رو انجام بدی و یه جوری انجام بدی که راحت و قابل فهم برای مبتدیانی مثل منم باشه تا اخر عمر مدیونتم واقعا .
پاسخ
 سپاس شده توسط kamran0080 ، b.afshin ، zenex ، hplnvqh
#3
چشم. اصلا این کارو دارم واسه کسایی که تازه برنامه نویس رو شروع کردن میزام.
پاسخ
 سپاس شده توسط amateur92 ، heidari ، kamran0080 ، nilofar1036 ، b.afshin ، behroz2010 ، zenex ، hplnvqh
#4
با سلام حدمت دوستان.کامپایلر bascom بر حلاف اونیکه به عنوان کامپایلر برای افراد مبتدی تصور می شه کامپایلر قدرتمندیه و هر کسی با اندک اطلاعاتی از میکرو و برنامه نویسی می تونه به راحتی با اون کار بکنه و برنامه دلخواه خودشو بنویسه.دوستان فقط باید در نظر داشته باشن که برنامه ای که می خوان بنویسن در چه سطحیه (از لحاظ استفاده از امکانات میکرو و حجم کلی برنامه).شاید برای برنامه در حد بالا با حجم زیاد کد تولید شده توسط این کامپایلر زیاد باشه (نسبت به codevision و ...)ولی بیشتر از 80% برنامه هایی که دوستان می خوان بنویسند با این کامپایلر به راحتی نوشته میشه و مشکلی از لحاظ کارکرد برنامه نیست .تمام سعی و تلاش بر اینه که برنامه با راحتترین راه و آسان ترین روش نوشته بشه و برنامه نویس مشکلی نداشته باشه برنامه هایی مثل FlowCode AVR و سحن آخر اینکه انواع کامپایلر با انواع زبانهای برنامه نویسی همگی برای راحت کردن برنامه نویسی میکروها به بازار اومده والا زبان اصلی برنامه میکرو همون اسمبلی هست که کارخونه سازندش همراه دیتاشیتش انتشار می ده .با تشکر از همه دوستان .
پاسخ
 سپاس شده توسط akbar8 ، nano ، kamran0080 ، nilofar1036 ، mohamad_musavi69 ، b.afshin ، behroz2010 ، zenex ، hplnvqh
#5
بچه ها تویه نطر سنجی هم شرکت کنید. تا بدونم چند نفر واقعا پایه ان.
پاسخ
 سپاس شده توسط حسین 1369 ، kamran0080 ، b.afshin ، behroz2010 ، zenex ، hplnvqh
#6
خوب 5 نفرم واسه شروع بد نیس.

پروژه 1 :
چشمک زن تک لامپی:
http://up.toca.ir/images/jrko32ljg49frltlf54j.zip
بررسی برنامه:

کد php:
$regfile "m16def.dat"
  
$crystal 1000000
  Config Porta 
Output
  
Do
  
Set Porta.0
  Waitms 500
  Reset Porta.0
  Waitms 500
  Loop
  End 

خط اول معرفی نوع میکرو اس که در شروع هر بزنامه ای باید ابتدا نوع میکرو مشخص شود که اینجا من atmega16 رو برای برنامه نویسی انتخاب کردم.
خط دوم بیان کننده مقدار کریستال میباشد.
خط سوم: هر گاه بخواهیم پورتی از میکرو را به عنوان خروجی مشخص نماییم از این دستور استفاده مینماییم.
خط چهارم : در این خط بنده بوسیله حلقه do و loop که دستوری برای ایجاد حلقه میباشن یه حلقه ایجاد کزده تا پایه a.0 میکرو مرتب 0 و1 شود تا چراق متصل شده به پایه میکرو خاموش و روشن شود.
خط پنجم:این خط میگه پایه a.0 رو روشن کن.
خط ششم: میگه 500 میلی ثانیه صب کن.
خط هقتم: این خط میگه پایه ش.0 رو خاموش کن.
خط هش : میگه 500 میلی ثانیه صب کن.
خط نه: این خط میگه به پایان خلقه do-loop رسیدم و برنامه دوباره از جای do شروع میشه و این کار تا بی نهایت ادامه پیدا میکنه.
خط اخر هم که end.


اگه سوالی بود بگید. فایل پروتوس و بسکام برای این پروزه داخل zip بالا هس.
پاسخ
 سپاس شده توسط amateur92 ، heidari ، kamran0080 ، nilofar1036 ، b.afshin ، behroz2010 ، zenex ، hplnvqh ، ali_esfand
#7
پروزه 2:
چراغ گردان:
ابنم فایل zip که توش هم برنامه و هم شماتیک موجود است.
http://up.toca.ir/images/9kw0fa99e0abvqig.zip
کد php:
'** p2 **
'
** chergh gardan ya shomarnade halghavi **
1. $regfile "m16def.dat"
2.$crystal 1000000
3.Config Porta 
Output

    4.Porta 
= &b0000001
5.
Do
6.Waitms 500
7.Rotate Porta 
Left 1
8.Loop
End 
10.

این اعدادی که شروع هر خط گزاشتم فقط برای مشخص شدن خطوط برنامه و راحتتر توضیح دادن برنامه اس و اصلا در برنامه اصلی نوشته نمیشود.
این برنامه همون ring counter یا چراغ گردان میباشد که 7 ال ای دی که یک پورت میکرو متصل است بترتیب روشن و سپس خاموش میشوند.
برا دیدن این رقص نور کافی فایل پروتوس داخل زیپ رو باز کنید.


توضیح برنامه:

خطوط 1 و2 برا تعیین نوع میکرو و مفدار کریستال است.
خط 3 برای مشخص کردن پورت a میکرو به عنوان پورت خروجی میباشد.
خط 4 بیان کننده اینه که در پورت a همه پین یا پایه ها به جز پایه a.0 همگی صفر میباشند. بعد علامت & یک حرف b نشون داده شده که بیان کننده حرف binary میباشد به جای همون خط میشه این رو هم نوشت: porta= &h01 که h در اینجا به معنای اعداد در مبنای 8 اس.
خط 5 یا استفاده از حلقه do-loop یه حلقه ایجاد کردم.
خط 6 یه تاخیر 500 میلی ثانیه میزارم چون میخوام میکرو روشن شدچراغ اول 500 میلی ثانیه روشن باشه بعد خاموش شه و چراغ ها عد خاموش و روشن شن. در واقع یه تاخیر کوچولو برا سرعت چشمک زدن میباشد. اگه خواستید سرعت چشمک زدن کم و زیاد شه مقدار 500 میلی ثاینه رو تغییر بدید.
خط 7 دستور Rotate یک دستور برای جابهجایی pin های روشن یک پورت میباشد. وبه فرم کلی زير است:
ROTATE var , LEFT/RIGHT
var میتواند متغیر , پورت و... باشد. left و right هم جهت انتقال رو مشخص میکنه.
عدد اخری هم که من بعد left گزاشتم بیان کننده اینه که چند تا چندتا شیفت بده مثلا اگه 2 کنید چراغ ها یکی در میون شیفت داده میشن.
خط 8 هم که پایان حلقه و دوباره برنامه از Do اجرا میشه و این کار تا بی نهایت ادامه پیدا میکنه.

خط اخرم که پایان.
پاسخ
 سپاس شده توسط heidari ، amateur92 ، nano ، kamran0080 ، nilofar1036 ، b.afshin ، behroz2010 ، zenex ، hplnvqh
#8
پروژه 3:
مدار start & stop:
اينم فايل Zip که نوش هم شماتيک و هم پروتوس موجود ميباشد:
http://up.toca.ir/images/tzohf18uacnjd7fi7lum.zip
کد php:
1.$regfile "m8def.dat"
2.$crystal 8000000
3.Config Portb 
Output
4.Config Debounce 
30
5. 
Do
6.Debounce Pind.3 Roshan
7.Loop
8.End

9.Khamosh
:
10.Reset Portb.2
11.
Return

12.Roshan:
13.Set Portb.2
14.
If Pind.4 1 Then Goto Khamosh
15.
Goto Roshan 

دراين برنامه ما دوتا کليد دارم که بازدن کليد start چراغ روشن و بازدن کليد stop چراغ خاموش ميشود.

خطوط اول ,دوم و سوم که فبلا توضيح دادم.
خط 4 هنگامي که کليد فشرده ميشود ،براثر لرزش دست چندين با دو کنتاکت ان به هم برخورد ميکنند و در نهايت ثابت ميشوند اگر از دستور debounce استفاده نشوند لرزش به منزله فشردن کليد است.
خط 5 بزا گزاشتن يه حلقه do-loop ميباشد.
خط 6: ميگه اگه pind.3 (کليد start) برابر يک شد برنامه پرش بزنه به label roshan اگه هم pind.3 (کليد start) برابر يک نبود برنامه اينقد تويه حلقه do-loop بچرخه تا زماني که pind.3 برابر يک شه. حالا مثلا ما پين pinb.3 (کليد start)رو يک بار زديم برنامه از تويه حلقه do-loop پرش ميزنه به label roshan و بعدش در خط 13 پايه portb.2 (چراغ ) روشن ميشه.
خط 14 يک جمله شرطي ميباشد که معني اينه اگه pind.4 (کليد stop) برابر يک بود برنامه پرش بزنه به label khamush اگه هم شرط برقرار نبود در خط بعد برنامه پرش ميزنه به label roshan و انقدر اين کار تکرار ميشه تا pind.4 بالاخره روشن شه همين که يه بار يک با pind.4 (کليد stop) روشن شد برنامه پرش زده به label khamush و چراغ خاموش ميشه و برنامه از خط اول با دستور return شروع ميشود.


فرم کلي دستور debounce:
DEBOUNCE Px.y , state , label

توسط اين دستور پين x.yچک ميشود و هنگامي که مقدار ان برابر با state شد برنامه به label پرش ميزند.

اگه سوالی بود حتما بپرسید.
پاسخ
 سپاس شده توسط nano ، amateur92 ، kamran0080 ، nilofar1036 ، b.afshin ، behroz2010 ، zenex ، hplnvqh
#9
پروژه 4:
ارتباط دو میکرو با یکدیگر:

اینم فایل zip که توش فایل شماتیک و پروتوس موجود میباشد:
http://up.toca.ir/images/1fubnykwukdlnzas3qa1.zip

برنامه میکرو اول:
کد php:
1.$regfile "m16def.dat"
2.$crystal 8000000
3.$baud 
9600
4.Config Portb 
Input
5.
Do
6.If Pinb.0 1 Then
7. 
Print "a"
8.Else
9.Print "b"
10.End If
11.Loop 

من میخوام تویه این برنامه توسط میکرو اول به میکرو دوم دستور بدم وقتی pinb.0 برابر یک شد چراغی که در میکرو بعد وجود داره روشن شه.برای برقراری ارتباط بین دو میکرو همونطورکه تویه پروتوس میبینید باید پایه های tx و rx میکرو ها رو بهم وصل کنیم. چون دیتا از طریق همین پایه ها ازسال میشه.
توضیح برنامه:
2 خط اول که قبلا توضیح داده شد.
خط 3 : اين دستور ميزان انتقال ديتا در ثانيه را مشخص ميکند
خط 4: پورت b رو به عنوان ورودی مشخص خواهد کرد.
خط 5 : یه حلقه درس کردم. که برنامه توش گیر کنه و بیرون نره.
خط 6 و 7و 8 و9و 10: گفتم اگه pinb.0 برابر یک شد میکرو اول به سمت میکرو دوم پرینت یا ارسال کنه کارکتر A در غیر این صورت ارسال کنه کارکتر b رو .
خط اخرم که پایان حلق اس و برنامه از سر do شروع میشه.



برنامه میکرو دوم:


کد php:
$regfile "m16def.dat"
2.$crystal 8000000
3.$baud 
9600
4.Config Portb 
Output
5.Dim D 
As String 5
6.
Do
7.D Inkey()
8.If "a" Then
9.Set Portb.0
10.End 
If
11.If "b" Then
12.Reset Portb.0
13.End 
If
14.Loop 
توضیح برنامه:
4 خط اول رو بالا توضیح دادم.
خط 5 میگه ما یه متغیر D از نوع string داریم این متغیر معمولا برا حروف و علایم استفاده میشه و همیشه بیشترین طول اون رو نیز باید در نطر گیرد که من اینجا 5 زدم که زیاد زدم و 1 هم میزدم مشکلی پیش نمیوووومد چون a و b هر کدوم یه حرف که بیشتر نیستن. و این دو قراره روی D بشینن.


خط 6 دوباره یه حلقه زدم که برنامه از توش گیر کنه.
خط 7: این دستور اطلاعات دریافت شده از پورت سریال رو میگره سپس تویه متغیر d میریزه! که بالا توضیح دادم.

از خط 8 تا 13 دوتا شرط گزاشتم گفتم اگه متغیز D="a بود چراغ در pinb.0 میکرو ( میکرو دوم) روشن شه اکه هم برابر "b" چراغ خاموش شه.
خط 14 هم پایان حلقه و از سر do شروع شدن برنامه میباشد.


سوالی بود بگید.

این برنامه خیلی کاربردی. تویه اکثر ماژول ها و ... استفاده میشه.
پاسخ
 سپاس شده توسط amateur92 ، heidari ، kamran0080 ، nilofar1036 ، b.afshin ، behroz2010 ، zenex
#10
پروزه 5 :

کار با lcd کارکتری:
امروز میخوام روی یهlcd کارکتری بنویسم یه سری کامه نشون بدم.

این برنامه و اینم فایل پروتوس:
http://up.toca.ir/images/kx70h14ugg9vqlhgrsg.zip

توضیخ برنامه:
کد php:
1.$regfile "M8def.dat"
2.$crystal 8000000
3.Config Lcdpin 
Pin Db4 Portc.0 Db5 Portc.1 Db6 Portc.2 _
4. Db7 
Portc.3 Portc.5 Rs Portc.4
5.Config Lcd 
16 2
6.Cursor Off
7.
Do
8.Lcd "dorud"
9.Waitms 300
10.Cls
11.Lcd 
"bar"
12.Waitms 300
13.Cls
14.Lcd 
"khoban."
15.Waitms 300
16.Cls
17.Loop
18.End 

2 خط او ل تکراری.

خط 3 و4 هنگامیکه میخاید یه lcd به میکرو وصل کنید باید یه سری پایه هاشو به میکرو بفهمونید. که همونطور که میبیند هرکدوم از پایه هایی که من از lcd تویه پروتوس به میکرو دادم تویه خط 3 و 4 ذکر کردم. این دستور رو حتما همیشه در هنگام اتصال lcd بنویسید.

خط 5 زیاد الزامی نیس اما بنویسید این خط به میکروتون میفهمونه که lcd شما دارای چند سطر و ستون میباشد.که اینجا دارای 16 ستون و 2 سطر بوده اگه ننویسدش هم برنامه کار میکنه اما اگه بنویسید و تویه برنامه نوشته باشید که مثلا "ghodusi" روی تویه سطر 3 . ستون 17 نشون بده خود برنامه متوجه شده که این سطر و ستون در lcd شما نیس و بهتون اخطار میده. نحوه نشون دادن کارکتر ها رو تویه سطر و ستون ها متفاومت تویه پروژه بعدی میزارم.

خط 6 برای اینکه مکان نما رو تویه lcd خاموش کنم. برای اینکه کامل متوجه شید برید تویه برنامه corsur off رو پاک و corsur on رو بجاش بنویسید مکان نما در lcd نمایش داده خواهد شد. من از مکان نما اصلا خوشم نمیاد عصبیم میکنه.Big Grin

خط 7 حالا از اینجا به بعد یه حلقهdo-loopدرس کردم میخوام به ترتیب روی lcd ایه سری کلمات نوشته شه بعد پاک شه و تا بی نهایت ادامه پیدا کنه. این خط شروع حلقمون میباشد.

خط 8 یه دستور کلی به اینصورت که وبه جا drud هر کلمه ی دیگری بنویسید نمایش داده میشه.
من تویه این خط به lcd گفتم کلمه ی drud رو نشون بده.

خط 9 یه تاخیر کوچولو گزاشتم تا کاربر بتونه روی lcd نوشته رو ببینه. خودتون بسته به سلیقه و حوصلتون میتونید تاخیر رو با کم و زیاد کردن 300 تغییر بدید.

خط 10 : به lcd دستور میدم هر چی رو نوشته شده رو ایکی ثانیه پاک کنه.

خط 11 تا 16: تویه این خطوط همین دستورات در خطوط 7 و 8 و 9 برای کلمات bar و khoban تکرار میشود. lcd اول که کلمه drud رو نشون داد بعد اونو پاک کلمه bar رو نشون داد و بعد اونم پاک کلمه khuban رو نشون داد در اخر khuban هم پاک خواهد شد.

خط 17 هم که پایان حلقه و شروع شدن خطوط از ایتدای حلقه میباشد.

تموم.

سوالی انتقادی و ... بود حتما بهم بگید اینجوری بهتر میشه فعالیت کرد.At

یاعلی.
پاسخ
 سپاس شده توسط heidari ، amateur92 ، kamran0080 ، nilofar1036 ، b.afshin ، behroz2010 ، zenex ، hplnvqh ، ali_esfand


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش ساخت تابلو روان 3 و 7 رنگ و آموزش ساخت تابلو چرخان moein masoumi 365 127,754 21-12-1396، 09:42 عصر
آخرین ارسال: pad_kay
  سوال و مشکل با کلاک پروژه makebiyaban 0 578 10-12-1396، 09:39 عصر
آخرین ارسال: makebiyaban
  پروژه های تکمیل شده AVR polestar 43 39,885 16-1-1396، 10:06 صبح
آخرین ارسال: blacksmart2017
  ساخت کتابخانه در اتمل استدیو Azadfalah 1 1,006 3-10-1395، 12:56 عصر
آخرین ارسال: امیرحسین
  جزئیات کامل ساخت ساعت و تابلوی چرخان فقط با 7 عدد LED Pixar 24 10,257 18-12-1394، 06:10 عصر
آخرین ارسال: shahin_w3
  ساخت مدارrf با پهنای باند 13.56MHZ amin773 0 719 16-9-1394، 02:15 عصر
آخرین ارسال: amin773
  کمک در ساخت ساعت با سون سگمنت milad.v1371 0 526 8-7-1394، 10:35 صبح
آخرین ارسال: milad.v1371
  نیازمند میکروکنترلر کار در ساخت درایو موتور osking 0 513 5-6-1394، 07:12 عصر
آخرین ارسال: osking
  مشکل در ساخت زمان 1ثانیه با تایمر 0 tabasoomtz 2 787 9-4-1394، 03:02 عصر
آخرین ارسال: Last_Days
  مشکل در برنامه نویسی بسکام mnoroozi 5 1,399 6-4-1394، 01:45 عصر
آخرین ارسال: soso

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان