PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نیاز به برنامه ای با avrبرای روشن و خاموش کردن تعدادی ال ای دی دارم



داوودی فر
25th May 2012, 20:18
با سلام وخسته نباشید خدمت اساتید
نیار به برنامه ای دارم که بتونم ای سی ATEMG8 را با آن برنامه ریزی کنم به نحوی که چهار خروجی از ای سی را به ترتیب اول 1 فعال بعدش 2 فعال و به ترتیب 3 و4 فعال شوند و بعدش 1و2و3و4با هم سه یا چهار بار خاموش و روشن شوند و در ادامه چهار یا پنج ثانیه روشن بمانند و این کار را تا بی نهایت ادامه دهند . در ضمن دستگاه پراگرامر AVR برای تزریق ان بر روی آی سی ATEMG8 را دارم این برنامه را برای ساخت تابلوی تبلیغاتی برای مغازه ام نیاز دارم با استفاده از ایده جالب استاد پناهی
لذا از اساتید محترم که در این زمینه اطلاعات دارند تقاضای همکاری را دارم با تشکر و تقدیم احترام
http://kiansat.kim/images/icons/2-2.gif

pal-electronic
25th May 2012, 20:56
دوست عزیز سلام
در مورد این برنامه ها ، سی دی و مدار آموزشی در بازار هست و میتوانید تهیه و استفاده نمایید
در مورد آی سی هم عرض کنم ATMEGA نام دارد حجم و ظرفیت گوناگونی دارند و ظاهرا شما اشتباه نوشتید !

داوودی فر
25th May 2012, 23:42
با سلام وخسته نباشید خدمت اساتید
نیار به برنامه ای دارم که بتونم ای سی( ATMEG8A-pu )را با آن برنامه ریزی کنم به نحوی که چهار خروجی از ای سی را به ترتیب اول 1 فعال بعدش 2 فعال و به ترتیب 3 و4 فعال شوند و بعدش 1و2و3و4با هم سه یا چهار بار خاموش و روشن شوند و در ادامه چهار یا پنج ثانیه روشن بمانند و این کار را تا بی نهایت ادامه دهند . در ضمن دستگاه پراگرامر AVR برای تزریق ان بر روی آی سی( ATMEG8A-pu )را دارم این برنامه را برای ساخت تابلوی تبلیغاتی برای مغازه ام نیاز دارم با استفاده از ایده جالب استاد پناهی
لذا از اساتید محترم که در این زمینه اطلاعات دارند تقاضای همکاری را دارم با تشکر و تقدیم احترام
http://kiansat.kim/images/icons/2-2.gif


با تشکر از جناب پناهی که اشتباهم را گوش زد کردند بله اسم آی سی را درست ننوشته بودم منتظر راهنمایی های شما بزرگواران در این مورد هستم

با تشکر

داوودی فر
26th May 2012, 09:36
[QUOTE=4121355;202062]
با سلام وخسته نباشید خدمت اساتید
نیار به برنامه ای دارم که بتونم ای سی ATEMG8 را با آن برنامه ریزی کنم به نحوی که چهار خروجی از ای سی را به ترتیب اول 1 فعال بعدش 2 فعال و به ترتیب 3 و4 فعال شوند و بعدش 1و2و3و4با هم سه یا چهار بار خاموش و روشن شوند و در ادامه چهار یا پنج ثانیه روشن بمانند و این کار را تا بی نهایت ادامه دهند . در ضمن دستگاه پراگرامر AVR برای تزریق ان بر روی آی سی ATEMG8 را دارم این برنامه را برای ساخت تابلوی تبلیغاتی برای مغازه ام نیاز دارم با استفاده از ایده جالب استاد پناهی
لذا از اساتید محترم که در این زمینه اطلاعات دارند تقاضای همکاری را دارم با تشکر و تقدیم احترام
http://kiansat.kim/images/icons/2-2.gif

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

sina6688
26th May 2012, 10:14
سلام..

شما ابتدا برنامه بسکام را دانلود کرده و نصب نمایید .
http://s2.p30download.com/users/202/software/development/compiler-interpreter/BASCOM-AVR.v2.0.7.3_p30download.com.zip

این لینک مستقیم از پی سی دانلود هست که فکر میکنم آخرین نسخه ها باشه و خودم چن روز پیش دانلودئش کردم.. پسورد فایل هم آدرس سایت هست.

بعد از اون باید یک پروگرمر داشته باشید. باید بتونید پروگرمری رو بسازید. برای ساخت پروگرمر این فا یل رو دانلود کن :

پرشین گیگ - دانلود - Amozesh Mogadamati AVR(avr-electronic.ir).zip (http://wdl.persiangig.com/pages/download/?dl=http://dl-avrelectronic.persiangig.com/%D9%BE%D8%B1%D9%88%DA%98%D9%87%20%D9%87%D8%A7%DB%8 C%20%D8%A7%D9%84%DA%A9%D8%AA%D8%B1%D9%88%D9%86%DB% 8C%DA%A9%DB%8C/Amozesh%20Mogadamati%20AVR%28avr-electronic.ir%29.zip)

چیزی نیست باید یک آیسی hc244 که قیمت ارزونی هم داره با یکی دو تا مقاومت و یک کابل پرینتر و ... بخری و سیمهاش رو بهم وصل کنی...
http://avr-electronic.ir/uploads/posts/2012-05/thumbs/1336068065_stk200.jpg

اگر برد بورد داری آیسی رو روی بردبورد بذار... سیم های پروگرمر رو باید به پایه ایسی وصل کنی
اینکه به چه پایه هایی باید وصل شود توی فایل نوشته شده است

آیسیت باید روشن باشه...یعنی علاوه بر اینکه سیم های پروگرمری که ساختی رو به آ‌یسیت وصل کردی با ید به آیسی ولتاژ تغذیه و زمین هم بدی... اون سمت پروگرمر رو به پورت پرینتر وصل کن.

حالا برنامه بسکام رو اجرا کن.... به منوی آپشن برو و روی پروگرمر کلیک کن.

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

نام پروگرمر رو بر اساس پروگرمری که ساختی stk 200/300 انتخاب کن...

بعد از اتصال سیم ها تغذیه ‌آیسی... حالا کلید F4 کیبورد رو بزن .. یه کادر ظاهر میشه..

اگر قبل از اینکه کادر ظاهر بشه یکی دو پیغام خطا داد نشون میده که آیسی رو نشناخته و یه جایی از اتصال یا پروگرمر و ... میلنگه..


خلاصه اینکه بعد از اینکه کادر پروگرم ظاهر شد... با زدن کلید آیدنتیفای چیپ ... سعی میکنه چیپ رو از طریغ پروگرمر شناسایی کنه...

دقت کن اگر پروگرمر سالم باشه چیپ تشخیص داده میشه و اسمش در سلکشن سمت چپش اتوماتیک قرار داده میشه و هیچ پیغام خطایی داده نمیشه در غیر این صورت اسم در سلکشن انتخاب نشده و پیغام خطا میدهد.
http://www.axgig.com/images/43737433477324643543.jpg
درصورتی که پیغام خطا دریافت کردی به معنی این است که هنوز مشکلی در پروگرمر و اتصال وجود دارد و اگر در منوی اپشن » پروگرمر... نوع پروگرمر رو بهش دادی باید خطا خارج از پروگرمر باشه... مثلا باید دقت کنی آیسی اچ سی 244 هم تغذیه شده باشه خلاصه اینکه مشکل رو پیدا کنی.

اگر برناهم تشخیص داد میشه گفت 60 الی 70 درصد کار تمام شده !!

چون برنامه نویسی کار بسیار ساده است.

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



برای کار با بسکام حالا باید شروع کنی برنامه نویسی کنی :
ابتدا باید نوع آیسی رو به برنامه بدی :

$regfile = "m32def.dat"

خط بالا آیسی atmega 32 رو به برنامه معرفی میکنه..
شما چون از atmega 8 استفاده میکنی باید احتمالا عدد 32 رو به هشت تغییر بدی .

حالا باید فرکانس کریستال آیسی رو به برنامه بدهیم... به طور پیشفرض آیسی از کریستال داخل آیسی که مقدار آن احتمالا 1 مگاهرتز هست استفاده میکند و نیاز به هیچ چیز خروجی ندارد پس این خط را وارد کن :

crystal = 1000000 Hz

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

به طور پیشفرض پورت ها ورودی تعریف شده اند...مثال های زیر پین ها رو ورودی یا خروجی تعریف میکنه به دلخواه :
Config Pina.4 = Output
Config Pina.5 = Output
Config Pina.6 = Output
Config Pina.7 = Output
Config Pinb.0 = Input
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinb.3 = Input
Config Pinb.4 = Input
Config Pinb.5 = Output
Config Pinb.6 = Output
Config Pinb.7 = Output
Config Portd = Output


البته شما چون نیازی به ورودی نداری طبیعتا فقط باید خروجی تعریف کنی

تفاوت خط آخر که بولد شده با خطوط قبل این هست که خط آخر یک پورت با به یکباره باهم (همه هشت پینش را) بعنوان خروجی یا ورودی تعریف میکند اما خطوط قبل به طور اختیاری تک تک پینهارا تنظیم میکنند.


حالا کافیه یه حلقه بسازی و اعمالی که دوست داری تا بینهایت انجام بشه داخلش بنویسی :

do
دستوراتی که باید همیشه اجرا شوند

loop


برای نوشتن این دستتورات هم هرطور که میل خودت هست کار میکنی بعنوان مثال میخوای فلان پین رو یک کنی یا صفر کنی این رو مینویسی بین حلقه :

PortA.2 = 0

یعنی پین دوم از پورت A رو صفر کن ..... یا اگر اخرش یک بذاری یک میکنه...

برای اتمام بحث من یه مثال ساده از یک چشمک زن ساده مینویسم و بحث رو تمام میکنم :

do
porta.0=1
waitms 500
porta.0=0
waitms 500
loop

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

دستور waitms یعنی فلان میلی ثانیه صبر کن... که هرچه جلوش بنویسی همون مقدار صبر میکنه..
دقت کن حتما این دستور رو بگذاری وگرنه اینقدر سرعت عملیات زیاد میشه که ممکنه هیچ چیز دیده نشه..پس حتما از دستور صبر کردن استفاده کن تا عملیات رویت شوند.
موفق باشی

داوودی فر
26th May 2012, 12:43
سلام..

شما ابتدا برنامه بسکام را دانلود کرده و نصب نمایید .
http://s2.p30download.com/users/202/software/development/compiler-interpreter/BASCOM-AVR.v2.0.7.3_p30download.com.zip

این لینک مستقیم از پی سی دانلود هست که فکر میکنم آخرین نسخه ها باشه و خودم چن روز پیش دانلودئش کردم.. پسورد فایل هم آدرس سایت هست.

بعد از اون باید یک پروگرمر داشته باشید. باید بتونید پروگرمری رو بسازید. برای ساخت پروگرمر این فا یل رو دانلود کن :

پرشین گیگ - دانلود - Amozesh Mogadamati AVR(avr-electronic.ir).zip (http://wdl.persiangig.com/pages/download/?dl=http://dl-avrelectronic.persiangig.com/%D9%BE%D8%B1%D9%88%DA%98%D9%87%20%D9%87%D8%A7%DB%8 C%20%D8%A7%D9%84%DA%A9%D8%AA%D8%B1%D9%88%D9%86%DB% 8C%DA%A9%DB%8C/Amozesh%20Mogadamati%20AVR%28avr-electronic.ir%29.zip)

چیزی نیست باید یک آیسی hc244 که قیمت ارزونی هم داره با یکی دو تا مقاومت و یک کابل پرینتر و ... بخری و سیمهاش رو بهم وصل کنی...
http://avr-electronic.ir/uploads/posts/2012-05/thumbs/1336068065_stk200.jpg

اگر برد بورد داری آیسی رو روی بردبورد بذار... سیم های پروگرمر رو باید به پایه ایسی وصل کنی
اینکه به چه پایه هایی باید وصل شود توی فایل نوشته شده است

آیسیت باید روشن باشه...یعنی علاوه بر اینکه سیم های پروگرمری که ساختی رو به آ‌یسیت وصل کردی با ید به آیسی ولتاژ تغذیه و زمین هم بدی... اون سمت پروگرمر رو به پورت پرینتر وصل کن.

حالا برنامه بسکام رو اجرا کن.... به منوی آپشن برو و روی پروگرمر کلیک کن.

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

نام پروگرمر رو بر اساس پروگرمری که ساختی stk 200/300 انتخاب کن...

بعد از اتصال سیم ها تغذیه ‌آیسی... حالا کلید F4 کیبورد رو بزن .. یه کادر ظاهر میشه..

اگر قبل از اینکه کادر ظاهر بشه یکی دو پیغام خطا داد نشون میده که آیسی رو نشناخته و یه جایی از اتصال یا پروگرمر و ... میلنگه..


خلاصه اینکه بعد از اینکه کادر پروگرم ظاهر شد... با زدن کلید آیدنتیفای چیپ ... سعی میکنه چیپ رو از طریغ پروگرمر شناسایی کنه...

دقت کن اگر پروگرمر سالم باشه چیپ تشخیص داده میشه و اسمش در سلکشن سمت چپش اتوماتیک قرار داده میشه و هیچ پیغام خطایی داده نمیشه در غیر این صورت اسم در سلکشن انتخاب نشده و پیغام خطا میدهد.
http://www.axgig.com/images/43737433477324643543.jpg
درصورتی که پیغام خطا دریافت کردی به معنی این است که هنوز مشکلی در پروگرمر و اتصال وجود دارد و اگر در منوی اپشن » پروگرمر... نوع پروگرمر رو بهش دادی باید خطا خارج از پروگرمر باشه... مثلا باید دقت کنی آیسی اچ سی 244 هم تغذیه شده باشه خلاصه اینکه مشکل رو پیدا کنی.

اگر برناهم تشخیص داد میشه گفت 60 الی 70 درصد کار تمام شده !!

چون برنامه نویسی کار بسیار ساده است.

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



برای کار با بسکام حالا باید شروع کنی برنامه نویسی کنی :
ابتدا باید نوع آیسی رو به برنامه بدی :

$regfile = "m32def.dat"

خط بالا آیسی atmega 32 رو به برنامه معرفی میکنه..
شما چون از atmega 8 استفاده میکنی باید احتمالا عدد 32 رو به هشت تغییر بدی .

حالا باید فرکانس کریستال آیسی رو به برنامه بدهیم... به طور پیشفرض آیسی از کریستال داخل آیسی که مقدار آن احتمالا 1 مگاهرتز هست استفاده میکند و نیاز به هیچ چیز خروجی ندارد پس این خط را وارد کن :

crystal = 1000000 Hz

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

به طور پیشفرض پورت ها ورودی تعریف شده اند...مثال های زیر پین ها رو ورودی یا خروجی تعریف میکنه به دلخواه :
Config Pina.4 = Output
Config Pina.5 = Output
Config Pina.6 = Output
Config Pina.7 = Output
Config Pinb.0 = Input
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinb.3 = Input
Config Pinb.4 = Input
Config Pinb.5 = Output
Config Pinb.6 = Output
Config Pinb.7 = Output
Config Portd = Output


البته شما چون نیازی به ورودی نداری طبیعتا فقط باید خروجی تعریف کنی

تفاوت خط آخر که بولد شده با خطوط قبل این هست که خط آخر یک پورت با به یکباره باهم (همه هشت پینش را) بعنوان خروجی یا ورودی تعریف میکند اما خطوط قبل به طور اختیاری تک تک پینهارا تنظیم میکنند.


حالا کافیه یه حلقه بسازی و اعمالی که دوست داری تا بینهایت انجام بشه داخلش بنویسی :

do
دستوراتی که باید همیشه اجرا شوند

loop


برای نوشتن این دستتورات هم هرطور که میل خودت هست کار میکنی بعنوان مثال میخوای فلان پین رو یک کنی یا صفر کنی این رو مینویسی بین حلقه :

PortA.2 = 0

یعنی پین دوم از پورت A رو صفر کن ..... یا اگر اخرش یک بذاری یک میکنه...

برای اتمام بحث من یه مثال ساده از یک چشمک زن ساده مینویسم و بحث رو تمام میکنم :

do
porta.0=1
waitms 500
porta.0=0
waitms 500
loop

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

دستور waitms یعنی فلان میلی ثانیه صبر کن... که هرچه جلوش بنویسی همون مقدار صبر میکنه..
دقت کن حتما این دستور رو بگذاری وگرنه اینقدر سرعت عملیات زیاد میشه که ممکنه هیچ چیز دیده نشه..پس حتما از دستور صبر کردن استفاده کن تا عملیات رویت شوند.
موفق باشی

سلام جناب sina6688
بسیار متشکرم
ممنون و متشکرم از توضیحاتی که دادید حالا من خودم یک پراگرامر با پورت usbدارم می تونم
ازش استفاده کنم یا باید همان پروگرامری که فرمودید استفاده کنم
با تشکر

sina6688
27th May 2012, 10:14
سلام جناب sina6688
بسیار متشکرم
ممنون و متشکرم از توضیحاتی که دادید حالا من خودم یک پراگرامر با پورت usbدارم می تونم
ازش استفاده کنم یا باید همان پروگرامری که فرمودید استفاده کنم
با تشکر



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

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

sina6688
27th May 2012, 10:28
برای اینکه معلوم بشه پروگرمر کار میکنه ؛ اول پروگرمر رو وصل کنید بعد برید به همون منویی که در پست اول گفتم و نوع پروگرمر رو معرفی کنید. و اوکی کنید تا کادر بسته بشه.

بعد کلید F4 رو بزنید ؛ کادر پروگرم ظاهر میشه ؛ حالا دکمه identify chip رو بزنید... (در شکل پست اول نشون داده شده ) اگر آیسی شناخته شد و هیچ پیغام خطایی نداد ؛ اسم آیسی در سلکشن سمت چپ دکمه آیدنتیفای قرار میگیره.

حالا یک ال ای دی به یکی از پینها وصل کنید ..
http://avrbasiccode.wikispaces.com/file/view/schematikpinout.jpg/34626293/377x295/schematikpinout.jpg


اون سمت LED رو هم به زمین وصل کنید..
بعد برنامه نویسی کنید و سعی کنید ال ای دی رو روشن یا خاموش کنید..
http://www.simplelabs.co.in/sites/default/files/atmega8.jpg
ترتیب پایه ها هم به این صورت هست که اون قسمت علامت دار آیسی رو سمت خودمون میگیریم پایه سمت راست اولین پایه و پایه شماره یک است.. و پا یه سمت چپ آخرین پایه (پایه شماره 28) هست ..

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

داوودی فر
2nd June 2012, 12:03
برای اینکه معلوم بشه پروگرمر کار میکنه ؛ اول پروگرمر رو وصل کنید بعد برید به همون منویی که در پست اول گفتم و نوع پروگرمر رو معرفی کنید. و اوکی کنید تا کادر بسته بشه.

بعد کلید F4 رو بزنید ؛ کادر پروگرم ظاهر میشه ؛ حالا دکمه identify chip رو بزنید... (در شکل پست اول نشون داده شده ) اگر آیسی شناخته شد و هیچ پیغام خطایی نداد ؛ اسم آیسی در سلکشن سمت چپ دکمه آیدنتیفای قرار میگیره.

حالا یک ال ای دی به یکی از پینها وصل کنید ..
http://avrbasiccode.wikispaces.com/file/view/schematikpinout.jpg/34626293/377x295/schematikpinout.jpg


اون سمت LED رو هم به زمین وصل کنید..
بعد برنامه نویسی کنید و سعی کنید ال ای دی رو روشن یا خاموش کنید..
http://www.simplelabs.co.in/sites/default/files/atmega8.jpg
ترتیب پایه ها هم به این صورت هست که اون قسمت علامت دار آیسی رو سمت خودمون میگیریم پایه سمت راست اولین پایه و پایه شماره یک است.. و پا یه سمت چپ آخرین پایه (پایه شماره 28) هست ..

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

با سلام و خسته نباشید خدمت استاد گرامی
بعد از ده ها با ر تلاش موفق شدم خودم این برنامه را بنویسم حالا انگیزه ای برایم به وجود امده که برنامه نویسی یاد بگیرم و حالا هم دارم در مورد برنامه نویسی سی و سی پلاس پلاس مطالعه می کنم در ضمن برنامه ای که خودم نوشتم را پیوست می کنم و جالب اینکه به یکی از اساتید برنامه مورد نظر را نشان دادم گفت لقمه را سه چهار بار دور سرم چرخوندم بعد دهنم گذاشتم ولی به هر حال کارم را را انداخت و کار میکنه .
پایه 14را کردم خروجی یک و پایه هی 2و3 4 را هم به ترتیب کردمشون خروجی های 2و3و4 با تشکر از شما استاد عزیز که معلومات مورد نیاز را در اختیارم گذاشتید متشکرم.

gahan
29th July 2012, 22:32
اگه ممکنه یک پروگرامر USB برای ساخت پزارین

tashoon
29th January 2013, 22:51
با سلام
برنامه flasher led رو واسه این دوست عزیز و سایر عزیزان:redface: توی سایت آپلود کردم . امیدوارم کارش رو راه بندازه . هادی شجاع پوریان - خوزستان - بهبهان

rasol21
7th February 2013, 23:43
در مورد فلاشرش کسی خواست من در خدمتم

tashoon
25th February 2013, 05:01
:0018: