نویز | آموزش AVR | آموزش میکرو | میکروکنترلر

وبلاگ آموزشی احسان نوری ::: Ehsan Nouri's Weblog

نویز | آموزش AVR | آموزش میکرو | میکروکنترلر

وبلاگ آموزشی احسان نوری ::: Ehsan Nouri's Weblog

" نویز رسانه ای است برای آموزش آسان مفاهیم میکروکنترلر و الکترونیک "

دریافت مستندات
آخرین نظرات
  • ۲۰ خرداد ۰۰، ۲۰:۴۹ - حسام الدین سلطانی
    خعلی عالی
  • ۲ ارديبهشت ۰۰، ۱۸:۱۱ - حسام الدین سلطانی
    خیلی عالی

انتخاب زبان برنامه نویسی میکروکنترلر AVR ؟ [10]

پنجشنبه, ۱۸ مهر ۱۳۹۲، ۱۱:۱۱ ق.ظ

در این قسمت به بررسی کلی زبان های برنامه نویسی میپردازیم.

از بین زبان های ارائه شده،زبان برنامه نویسی مناسب میکروکنترلر AVR و همچنین کامپیایلر مربوطه را انتخاب خواهیم کرد.

 

با ما در ادامه مطلب همراه باشید ...

مباحث قبلی در مورد اصول کلی میکروکنترلرها و البته با نگاهی ویژه به میکروکنترلر AVR بود.

اصول اگرچه بصورت کامل بیان نشد ولی خیلی با خودم کلنجار رفتم که بازم در مورد اصول میکرو توضیح بدم یا نه ؟!

که در پایان به این نتیجه رسیدم که توضیح مسائل اصولی و سخت افزاری دیگه،بیشتر جنبه تخصصی رو پیدا میکنه و شاید به درد همه هم نخوره و خلاصه اینکه هم حوصله شما رو سر میبره و هم منو !!!

برای مثال؛توضیح در مورد "منابع تولید پالس" اگرچه که بحث مهمی محسوب میشه ولی الان چون ذهنیت درستی نسبت بهش نداریم هرچی هم که توضیح داده بشه،آخرش میاین و میگید که " اصلا این پالس به چه دردی میخوره ؟؟؟ " (البته بلا نسبت شما !).

بعضی از خوانندگان محترم هم شاید بگند که "چرا اینقدر آب میبندی به مطالب ؟،برو سراغ اصل کار ! " که باید هوای این دسته از رفقا رو هم داشته باشیم.

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

 

خلاصه دیگه دیگه ... cheeky


بحث اصلی و کلی امروز،انتخاب یه زبان برنامه نویسی برای میکروکنترلر AVR هست و بنده هم که مرامم توضیح دادن از بیس کاره،مجبور شدم از بیس در اینباره توضیح بدم !

 

از اینکه با زبان اینقدر ساده توضیح میدم عذرخواهی میکنم.(اساتید ببخشند !)

 

کامپیوتر وسیله ای است که ما بهش دستور میدیم و اون هم مجبوره که اجرا کنه ! cool

اما مگه کامپیوتر،هموطن ماست ؟ که زبون ما رو بفهمه ؟!

اصلا شما انگلیسی هم اگه بلد باشید و بهش با انگلیسی هم که دستور بدید بازهم نمیفهمه !

 

آهان !

داره تو ذهنتون یه سری سوال ردیف میشه ! نه ؟

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

باید دستورات رو براش بنویسیم !!!

اما جالبتر از همه اینه که کامپیوتر تنها یه زبون بلده !

کلا زبان مادریش " زبان ماشین " بوده و هست.

 

خب اینکه دیگه اینقدر بحث کردن نداره ! با زبون خودش باهاش حرف میزنیم والسلام.

اما به عکس زیر یه نگاهی بندازید :

یه نگاه به کدهای داخل مستطیل بندازید!

چیزی ازش سر در میارید ؟ [خداییش جفنگه !!!]  نه ؟؟؟!!!

کل کدهایی که داخل مستطیل زرد رنگ هستند،تنها دارند یه عملیات ساده 2+2=4 رو انجام میدند !!!

در واقع ما چیزی ازش متوجه نشدیم.

خیلی جالب شد !  کامپیوتر زبان ما رو نمیفهمه و ما هم زبون اونو !!! (البته لازم بذکره که میشه زبون ماشین رو هم یاد گرفت اما ...)

حالا تکلیف چیه ؟؟؟

...

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

چاره اش اینه که بیایم و یه مترجم استخدام کنیم که زبون ماشین حالیش باشه و ما با اون طرف باشیم !

اسم این جناب مترجم "کامپایلر(Compiler)" هست و کوچیک شما !

 

حالا میایم و به جای اینکه با یه زبان جفنگ و مزخرف (زبان ماشین) طرف بشیم،میایم یه زبان ساده و قابل فهم رو انتخاب میکنیم و مترجم (کامپایلر) مناسب رو هم انتخاب میکنیم و دستورات رو با این زبون جدیده مینویسیم !

 

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

پس اون مواردی که اینجا برای کامپیوتر میگیم برای میکروکنترلر هم صادقه !

 

اگه یه نگاهی به تصویر اول همین پست بندازید،مجموعه ای از اسامی زبان های برنامه نویسی رو خواهید دید.

 

بین این همه زبان کدومشو انتخاب کنیم ؟؟؟

 

کلا زبانهای برنامه نویسی به 3 سطح کلی تقسیم بندی میشوند :

 

 

1.سطح پایین : بیشترین نزدیکی به زبان ماشین. مثل : اسمبلی

2.سطح میانی : نزدیکی متوسط به زبان ماشین.مثل : زبان سی

3.سطح بالا : نزدیکی کم به زبان ماشین.مثل : زبان بیسیک

 

 مشخصه که زبان های سطح پایین کار کردن باهاشون سخت و زبان های سطح بالا کار کردن باهاشون آسونه !!!

 

تا اینجا داشتیم یه بحث کلی انجام میدادیم بر روی زبان های برنامه نویسی کامپیوتر.اما از اینجا به بعد تمرکز اصلیمون رو میزاریم روی زبان های برنامه نویسی میکروکنترلر AVR.

 

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

 

باید بگم که کامپایلرهای AVR با گذشت زمان داره تعدادشون بیشتر میشه.

 

اما معروفترین هاشون اینها هستند :

 

1.*Bascom AVR -- زبان بیسیک

2.*Codevision AVR -- زبان C

3.Atmel Studio -- زبان اسمبلی + ++C

4.Keil -- زبان C

5.IAR -- زبان ++C/C

6.MiKroC -- زبان C

7.WinAVR -- زبان C

 

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

در ایران هم 2 مورد اولی بیشتر از همه جا افتادند.اما با این حال دستتون بازه هر کدوم از اینا رو که خواستید انتخاب کنید !

 

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

 

همونطور که گفتم در ایران بیشتر بسکام و کدویژن استفاده میشند.

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

 

اما بقیه مردم دنیا چه میکنند ؟

 

اون بندگان خدا چون تو کشورشون قانون کپی رایت وجود داره و خودشون هم سطح وجدان بالایی دارند میان و دقیق کامپایلرشون رو انتخاب میکنند و اون رو میخرند ، اونهم به چه قیمتایی !!!

اما اونجا هم همه نمیتونند پول بالای این کامپایلرها بدند.کاری که میکنند اینه که میان و از کامپایلر های رایگانی مثل :Atmel Studio,IAR,WinAVR,... استفاده میکنند.

 

پس برید خدا رو شکر کنید که دستمون بازه تو نصب نرم افزار !!! (مردم دنیا حسرت اینجور حال و حولای ما رو میخورند ! جدی میگم !!! surprise).

بعد هی بشینید حسرت اون ور آبو بخورید !

 

اما دو تا مسئله دیگه :

 

1.ما مجبوریم یه زبان رو انتخاب کنیم و در این وبلاگ با اون بحث رو پیش ببریم.

2.اگه کامپایلرهایی غیر از بسکام و کدویژن انتخاب کردید،انتظار چندانی برای پشتیبانی از طرف کاربران ایرانی نداشته باشید ! چون اکثرشون باهاشون کار نکردند.

 

خب،رسیدیم به بحث جنجالی انتخاب کامپایلر مناسب حال و اوضاع خودمون :

 

*قاعدتا جزو دو کامپایلر محبوب و معروف در ایران خواهد بود.

**حتما کدویژن خواهد بود !!!!!!!!!!!! (ههه ... laugh)

 

اما چرا کدویژن ؟

 

اصلی ترین دلیل انتخاب این زبان توسط بنده محبوبیت آن و همچنین استفاده از زبان برنامه نویسی C آن است.

 

ویژگی های زبان سی :

 

1.زبان برنامه نویسی سطح میانی است.

2.تاثیر گذارترین زبان برنامه نویسی جهان است.

3.زبانی کوچک و جمع و جور که کلمات کلیدی کمی دارد.

4.زبان برنامه نویسی سیستم است.

5.دارای قدرت و انعطاف بالاست که هیچ محدودیتی را برای برنامه نویس بوجود نمی آورد.

6. ...

 

در یک کلام بگم که با یادگیری این زبان،به 80 درصد زبان های برنامه نویسی دیگر موجود در جهان اشراف پیدا خواهید کرد.

پس خودتون رو با زبان پیش پا افتاده بیسیک الاف نکنید !

 

پس زبان و کامپایلرمون رو انتخاب کردیم.

 

خودمم متوجه هستم که یه مقداری تو بعضی از قسمت ها تندروی کردم.

اما اگر راضی به خواندن رمانی طولانی تر از اینی که من نوشتم هستید،بهم خبر بدید !

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

 

امان از تعصب !!!  :

 

متاسفانه یا خوشبختانه افرادی که برنامه نویسی AVR انجام میدند،همیشه یه تعصب خاصی روی کامپایلر خاصی که باهاش کار میکنند دارند.

طرف بسکام کار میکنه،بهش میگی من کدویژن کار میکنم،شروع میکنه به بد و بیراه گفتن به کد ویژن ...

برعکسش هم هست ... !

 

بنظرتون حرف کی رو گوش بدیم ؟

ببینید ما هر کاری رو که با کدویژن میتونیم انجام بدیم،بدون کم و کاستی و هیچ مشکلی میتونیم با بسکام هم انجام بدیم (یا هر کامپایلر دیگری !).

پس در امر برنامه نویسی فرقی نداره از چه کامپایلری استفاده میکنیم !

 

بنده با کلی سند و دلیل و مدرک اثبات کردم که زبان C بهتره یادگیریش !

و کامپایلری هم که انتخاب کردیم Codevision شد.(علتش هم اینه که اگه پس فردا مشکلی تو برنامه نویسی براتون پیش اومد،لا اقل 4 تا هستند که بتونند مشکلتون رو حل کنند!،چون تو ایران کدویژن رو با زبان سی میشناسند و خیلی ها با این کامپایلر کار میکنند.)

 

پس در انتخاب کامپایلر،خودتون تحقیق کنید.

 

فلان دکتر گفته کامپایلر X خوبه و فلان پروفسور گفته کامپایلر Y خوبه و خالم میگه Z بده و ... (گرچه که خوب و بد هیچ معنایی اینجا نمیده !)

این حرفا مال اونروزا بود که مردم راه تحقیقشون،فقط حرف این و اون بود !

نا سلامتی شما میخواین پیشرفت کنید و ...!

 

در پایان بگم که :

انتخاب یک کامپایلر به معنای رد کردن دیگر کامپایلرها نیست.

اینجوری نیست که چون ما کدویژن رو انتخاب کردیم،دیگه بسکام بد شد !!! (آدم های حرفه ای دیدم که پروژه ملی با بسکام مینویسند !)

 

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

سوالات و نظرهای خود را با ما در میان بگذارید.

موفق و پیروز باشید.

 

۰۸ دی ۹۲ ، ۰۴:۵۳ مهداد قاسمیان
با سلام و احترام
از زحمات و آموزش های شما کمال تشکر را دارم.
قاسمیان
پاسخ:
شما لطف دارید !
موفق باشید.
خیلی خوب بود.ممنون..دو طرف رو به نوعی راضی نگه داشتید!
پاسخ:
تشکر
واقعا عالی
با سلام
من از اول تمام برنامه هامو با زبان بیسیک نوشتم
ولی الان مشکلی که دارم و بیسیک نمیتونه حل بکنه نوشتن کتابخانه برای بیسیک هست
برنامه هام بزرگ شدن و منم میخوام که اونارو تبدیل به کتابخانه بکنم .
با تحقیقی که کردم فقط با زبان اسمبلی میشه نوشت. در غیر این صورت لطفا راهنمایی بفرمایید.
متشکرم.
پاسخ:
سلام
نمیدونم این مطالبی که تحقیق کردید تا چه میزان درست هستند ؟!
ولی اینو بگم خدمتتون که اگه میخواین حرفه ای برنامه نویسی کنید از بیسیک دست بکشید و بچسبید به سی !

میدونم سخته،بالاخره به بیسیک عادت کردین و ترک عادت هم موجب مرض !
اما ماهی رو هر وقت از آب بگیرید تازه است.
از همین الان شروع کنید به یاد گرفتن سی و خداحافظی کنید با بیسیک.

این نظر بنده حقیر بود.

موفق باشید.
با سلام میشه یه کتاب خوب واسه یادگیری AVR به زبان C معرفی کنید؟
ممنون میشم.
پاسخ:
کتاب خوب چجور کتابیه ؟!
مگه مطالب وبلاگ چشه !؟ ;)

سلام
هر چی گشتم جای مناسب تری واس سوال پرسیدن پیدا نکردم
اقا بنده تازگیا از بسکام خداحافظی کرذم و و ی برنامه ک قبلا نوشته بودم (ب زبان بیسیک)
ک خوب جواب نداده
حالا میخوام برس گردونم ب زبان سی شاید ج بگیره
من تو بسیک ی ارایه داشتم به این صورت
      Disp_data:
      data "ali ",reza","hasan", " ........
که ب صورت زیر هر کدوم میخواستم فراخوانی و رئی ال سی ذی کاراکتری نمایش میدادمش
      cls
      Locate A(3) , 1
      Lcd_data = Lookupstr(1 , Disp_data)
      lcd lcd_data
حالا تو زبان سی
      flash char *disp_data[4] = {"ali ","reza","hasan", "  .............};
      *data_pointer=2;
      lcd_data=*disp_data[*data_pointer];    
      sprintf(lcd_data1,"%f",lcd_data);
      lcd_puts(lcd_data1);  
اصلا چیزی نشون نمیده
اگه فکر میکنید خیلی کار و سخت کردم و راه ساده تری واس نمایش یک ارایه از رشته هست
خوشهال میشم کمکم کنید     


      
پاسخ:
آخه عزیزم
با این برنامه نصفه و نیمه که من نمیتونم اشکال کارو بگم !
ممنون لااقل یکی توجه کرد.
اقا من اگه بخوام ارایه ای از چند متن رو با ال سی دی نمایش بدم چطور انجامش بدم؟
هر چی گشتم جایی چیزی پیدا نکردم
مثلا ارایه زیر
char name[5]={"ali","reza","hasan","wefwe","sefwef"};
میخوام هر کدوم ازین اسم هارو ک بخوام رو ال سی دی نمایش بدم
پاسخ:
قرار شد کسی موردی سوال نکنه !
آقا خدا خیرت بده
کلی کارم رو جلو انداختی
دست به سنگ بردی طلا بشه واست. امیدوارم همیشه موفق باشی
پاسخ:
تشکر
ممنون از مطالبی که اینجا آماده کردی خیلی خوب هستن.خوبه که تو کشور ما هم همچین آدمای پر انرژی وجود دارن.خیلی حال دادی
خوندم خوب بود
پاسخ:
:)
۰۸ بهمن ۹۳ ، ۱۸:۲۲ ایمان رضاییان زاده
با سلام خسته نباشید ببخشید من میخوام برنامه نویسی یاد بگیرم نمیدونم از کجا باید شروع کنم  ونمی دونم کودوم زبان بهتره که یاد بگیرم لطفا راهنماییم کنید
پاسخ:
مطالب وبلاگو از اول شروع کنید به خوندن و بیاین جلو ...
با سلام و احترام . بیانتون خیلی عالی و قابل فهم بود ممنونم از شما 
پاسخ:
تشکر
واقعا متشکرم.
خخخ دمت گرم خیلی باحال نوشته بودی یکم طنز بود :)
با اینکه میدونستم مطالبو ولی تا تهش خوندم یه کوچولوئم خندیدم :))
مرسی
پاسخ:
همیشه خندان باشی !

با سلام

میخواستم  بدونم میشه در زمینه ی کد ویژن از c++ استفاده کرد یا مطلقا C.

اگر نه از چه کامپایلری باید استفاده کرد؟

بازم ممنون.

پاسخ:
کدویژن فقط C
به دلیل ویژگی های زبان C ترجیح داده میشه از C استفاده بشه.
سلام دوستان من میخام یه زبان برنامه نویسی یاد بگیرم از چی شروع کنم
پاسخ:
از اون !
سلام آیا مستقیماً میشه زبان c یاد گرفت منظورم اینه که قبلش به زبان اولیه نداره
پاسخ:
بله،میشه
ممنون 
پاسخ:
:)
خوبه
پاسخ:
تنکس
ممنون از زحمات شما
پاسخ:
تشکر
آیا به برنامه نویس حرفه ای بازار کار خوبی میتونه داشته باشه
پاسخ:
:|
آیا برای یه برنامه نویس حرفه ای بازار کار وجود داره
پاسخ:
:|
سلام من به برنامه نویسی خیلی علاقه دارم ولی نمیدونم اول از چی شروع کنم
پاسخ:
از اولش !!!
آیا برای برنامه نویس حرفه ای و با تجربه بازار کار خوبی وجود داره
پاسخ:
دوست عزیز شما یه نظر هم بدی من جواب میدم !
لازم نیست این همه متنتونو ارسال کنید !!!

برنامه نویسی چی ؟
سلام.خیلی خیلی خوب بود.ممنون
پاسخ:
خواهش میکنم
سلام

مرسی از سایت زیباتون واقعا عالیه مرسی


پاسخ:
تشکر
خدا خیرت بده. هیچ جا مطلبی پیدا نکردم که از پایه موضوع رو روشن کنه. ممنون
پاسخ:
ممنون
سلام
اولا مرسی بابت توضیحات باحالت
ولی من جواب سوالمو پیدانکردبین c و بیسیک کدومش راحت تره؟ راحت تر .
من میخام خودم یاد بگیرم برنامه نویسی رو و ازش برای ساخت یه دستگاه ( و انشالا ب مرور دستگاه های جدیدتر) استفاده کنم.خودم مهندسی برق خوندم. یه 15سالی هم هست که با کامپیوتر کارکردم. زبان انگلیسیم هم خوبه. حالا بگو بیسیک راحت تره یا c .البته کاراییشونم در درجه دوم اهمیت قرار داره. اگرم میشه اینو بدون تعصب بگو .
مرررسی
پاسخ:
سلام
اگه نظر منو میخوای سی یاد بگیر

شما که میخوای شروع کنی سی یاد بگیر

وقتتو روی بیسیک نزار
سلام خیلی خوب مینویسی ممنون.من دانشجوی ترم دو هستم درس برنامه نویسی سی رو هنوز برنداشتم وبنا ب دلایلی هم تا ترم چهار نمیخوام بردارم خودم خواستم میکرو کار کنم .٬نیازی هست بشینم سی رو کامل یاد بگیرم یا نه؟ میشه با یه بخش هایی از سی هم برنامه میکرو نوشت؟
با سلام خدمت شما
از اطلاعتتون ممنون .
اما این نکته رو در نظر بگیرید که شما مطلب  علمی مینویسید یا اینکه دارید داستان نویسی میکنید .
خلاصه و مفید بنویس. متاسفانه سایت های ایرانی 2خط مطلب مفید رو تبدیل به 10 صفحه مطلب میکنند که زمان ادم رو از بین میبرند . این مشکل در سایت های انگلیسی زبان هم دیده می شه ولی فارسی ها دیگه شورش رو دراوردن .
ببخشید تند صحبت کردم . 
ممنون

سلام و ممنون از مطالب خوبتون
من فقط برنامه نویسی c رو بلدم و با کدویژن کار می کنم و حدود 5 تا کتاب خوندم از علی کاهه و جابر الوندی و ... این کتاب های توی بازار بیشتر مثال توشه. از پایه یاد نمیدن الگوریتم ساختن و ....
حالا:
من خودم موقع برنامه نوشتن از خودم معمولا موفق نمی شم :( یا برنامه اونطور که می خوام کار نمی کنه.

یکی بهم گفت برای حرفه ای شدن بشین برنامه های بقیه رو بخون و الگوریتمش رو در بیار ولی من هر کاری کردم موفق نشدم دلیل بعضصی دستورات رو بفهمم :(

به نظر شما مشکل کار من کجاست؟
mardoone karet kheyli dorosse.kheyli hal kerdam az khoondane matalebet ba ee k reshtey khodomam shimi bood vali vaghean fahmidam mozoo o.mochakkeram

سلام/ ممنون از توضیحاتی که ارایه کردید. خیلی وقت بود دنبال توضیحات اینجوری بودم. تشکر
ni30

tnx
دوست گرامی
از زحمات شما تشکر میکنم
با توجه به اینکه ساختار زبان سی ارائه شده در کامپایلرهایی که برای میکرو ها طراحی گردیده تفاوت چندانی با با یکدیگر و خصوصا با بیسیک ارائه شده توسط بیسکام ندارد پیشنهاد میکنم توجه اصلی به اپتیمایز بودن خود معطوف گردد که تقریبا هیچ منبعی به زبان فارسی در باره آن موجود نمیباشد
به بیان بهتر سی کدویژن و بیسیک بیسکام صرفنظر از کلمات رززو شده و اختلافات نحوی تقریبا ساختار کاملا مشابهی دارند به طور مثال امکانات مثل شیفتهای منطقی و حسابی  در بیسک منظور شده و همچنین ابزارهایی برای کار با آدرسهای حافظه دقیقا مثل پوینترهای سی استاندارد ، برای آن در نظر گرفته شده است و از  سی کدویژن نیز بسیاری از امکانات سی استاندارد مثل استراکچر ها و ... ( با توجه با محدودیتهای برنامه نویسی در میکرو ها ) حذف گردیده است .... که در نتیجه دو زبان دارای ساختاری بسیار شبیه به هم میباشند ....
حال نکته مهم باقیمانده  ارزیابی کد حاصل از دو کامپایلر از نظر هوشمند بودن و بهینه سازی برای حجم کمتر و سرعت بیشتر میباشد که به نظر بنده اهمیت بسیار زیادی دارد و کمتر مود توجه بوده است
سلام . خسته نباشید!
ممنون از مطلب مفیدتون
سلام
من برنامه نویسی با ویژال بیسیک رو خوب بلدم همچنین C++ رو در حد برنامه نویسی شی گرا بلدم حالا برای یاد گیری AVR باید از کجا شروع کنم ؟
این ترم تازه درس مدار 1 رو برداشتم ....
مرسی. ادبیاتتم با حال بود. موفق باشی به امید پیروزی بسکام بر کدویژن :-)
سلام اینایی که گفتید برای برنامه نویسی چه چیز های هستند؟

خوبه حال کردم معلومه مخت خوب کار میکنه

اگه ادامه بدی خیلی خوب میشه حتما میخونم

این یک طرز فکر کاملا غلط هست که زبان C قدرت مند تر از بیسیک هست ، اصلا زبان قدرتمند یا ضعیف وجود نداره ، این برنامه نویسه که بهب بزبان قدرت میده
سلام.هیچ عکسی بالا نمیاد.لطفا درستشون کنید....   :))))))))))))) ;)
سلام
خداوند شمار نعمت بهشتی عنایت کند 
استفاده زیاد بردیم
با سلام و آرزوی سلامتی برای شما
واقعا دست گلت درد نکنه که با توضیحات بسیار دقیق و ساده مشکل بنده را در انتخاب زبان برنامه نویسیم حل کردی ، ای کاش به همین شیوائی و با بیان روشن انتخاب بین میکروهای AVR و PIC  را هم تشریح میکردی ، بازم برای ساین قشنگتون ممنون - موفق باشید .
سلام 
دمت گرم خداییش حال کردم با توضیح دادنت خیلی خوشم اومد اقایی
مرسی عالی بود ایشالله در مورد میکروهای ARM هم توضیحات داشته باشی
عالی بود
خدا قوت بده بهتون
من تازه با سایت شما آشنا شدم و هر روز از دیروز به سایت شما وابسته تر میشم.
خیلی عالی کار کردین
همین زبان عامیانه خواننده رو تا آخر مطلب جلو میبره
فوق العادس این آموزش شما
دوس دارم هر چه زودتر برم پست های بعدی و بیشتر چیزی یاد بگیرم
سلام میخوام در بسکام زبان اسمبلی بنویسم چطور باید بنویسم ممنون از شما
سلام #c هم سطح میانی محسوب میشه؟ #c بهتره یا c؟ البته در کل...
سلام
با تشکر از نثر بسیار عالی و شیوا و خوبتون.
من مشتاقانه تا پایان خوندم متن علمی تون رو و عالی بود...
سلام. من با بسکام به صورت حرفه ای کار می کنم . اما مشکلی که هست اینه که حتی کسانی که بسکام رو بخاطر سادگی کار انتخاب می کنند باید تو بعضی پروژه ها برای آشنایی با ریجستری ها سراغ آموزشهای کدویژن هم برن. اما در کل بسکام کمپایلر خوبیه ولی کدویژن ارجهیت داره چون وقتی بری سراغ میکروهای arm مجبوری c یا اسمبلی کار کنی.

سلام.ممنون بابت مطالب و وبسایت زیبایی
که دارید
سلام.واقعا وبسایت خوبی دارید
خیلی ممنون برای این مطالب    

 چرا تو هر سایتی دربارش جستوجو میکنم فقط با زبان C میاره شما که گفتید نرم افزارای دیگه ای واسه تبدیل کردن برنامه های نوشته شده به زبان های دیگه به باینری هست ؟     اصلا آموزشی هم برای برنامه نویسی روی میکرو کنترلر ها به زبان های دیگه نیست 
باتشکر از شما برای مطالب خوبتون...سوالی داشتم...میخواستم بدونم در چه مواردی از برنامه نویسی بسکام استفاده میشه؟؟ممنون
سلام من از کد ویزن ای وی ار استفاده میکنم فایلو که کامپایل میکنم هیچ اروری نمیده ولی وقتی با پروتیوس توی میکزو کنترل atmega16تو شبیه ساز میزارم گپکد رو اجرا نمیکنه و شبیه ساز ارور میده
اینم کداشه ممن.ن میشم پاسخ منو بدین
/*******************************************************
This program was created by the
CodeWizardAVR V3.12 Advanced
Automatic Program Generator
© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 13/09/2017
Author  : 
Company : 
Comments: 


Chip type               : ATmega16
Program type            : Application
AVR Core Clock frequency: 1.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*******************************************************/

#include <mega16.h>
#include <delay.h>
// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Function: Bit7=Out Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
DDRA=(1<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);
// State: Bit7=0 Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

// Port B initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

// Port C initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

// Port D initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

while (1)
      {
      PORTD.7=0;
      delay_ms(500);
      PORTD.7=1;
      delay_ms(500);

      }
}


خیلی خوب بود
سلام مطالب خوب بود ممنون. ولی با عرض معذرت در پاسخ به سوال بعضی کاربران بی ادبی کردی. باید ملاحضه میکردی
ممنون از مطالبتون با اون زبان ساده و شوخی هاتون مطالب تو ذهن می مونه اما سوالم یاد گیری کامل زبان برنامه نویسی سی چند وقت طول می کشه
۱۳ تیر ۹۷ ، ۱۷:۰۴ بابک علی اکبر زاده
سلام من یک پسر ده ساله هستم دارم برنامه نویسی اردیونو رو یاد میگیرم و تا این جاش که برام ساده بوده و می خوام AVR رو هم یاد بگیرم بنظر شما برای این سن چه زبانی رو یاد بگیرم ؟
۱۹ تیر ۹۷ ، ۰۹:۲۹ هادی زارعی
سلام
آفرین و احسنت بر شما آقا بابک
بسیار هم عالی
اگه میتونی از الان همومن سعی کنی زبان C یاد بگیری خیلی خوبه
شایدم اولش سخت یاشه ولی ناامید نشو وتلاشتو بکن
نمی خوا بحث های پیچیده وارد بشی
سعی کن اولش برنامه های ساده با Codevision انجام بدی
البته این نظر منه...:-)
اگه میتونی با چند نفر صاحب نظر هم مشورت کن که یه وقت زده نشی کلا بیخیال بشی:-)
موفق باشی
با آرزوی موفقیت برای شما دوست عزیز
آقا بهنام. اون کدی که شما نوشتی، و میگی تو کامپایل ارور نمی ده اما تو شبیه سازی ارور میده، علتش اینه که پورت C رو به عنوان ورودی تعریف کردی و از میکرو می خوای هر چند وقت یه باز اونو خاموش روشن کنه !! نشد دیگه عزیزم، اول باید پورت C رو به عنوان خروجی تنظیم کنی با این کد "DDRC = 1" بعدش حله.
امم - جالب بود مقاله ای که نوشته بودید ، یه جایی خوندم که میگفت کدویژن استفاده نکند فکر کنم اسم این بود "چرا کدویژن نه" خوب البته استدلال هایی که آورده بود خوب بود ! توصیه میکنم بخونیدش

۲۴ مهر ۹۷ ، ۱۵:۵۲ امیر محمد
میخواستم بدونم زبان برنامه نویسی سی شارپ برای ادامه خوب هست.آیا در ic میتوان از آن استفاده کرد؟
برای ادامه برنامه نویسی زبان سی شارپ خوبه؟برای برنامه نویسی روی ic چطور؟
خیلی بامزه و خوب بیس مطلب رو گفتن
 مرسی
۱۲ خرداد ۹۸ ، ۰۶:۵۳ وحید سرابی
درود بر شما که با زبانی ساده و جذاب اصل مطلب رو بیان کردین.
باور کنید چند ماه بود که با افراد زیادی مشورت کردم و به سایت های زیادی سر زدم ولی نهایتا این پست شما باعث شد که از سردرگمی برای انتخاب زبان برنامه نویسی بیرون بیام.
پیروز و موفق باشین
خیلی خوب بود



با سلام و رعایت ادب ، 

من C# بلد هستم می خواستم بدونم میتونم با اون هم AVR بنویسم ؟

اگه نه ، میشه توی سایتتان آموزش زبان c را قرار بدهید ؟ 

میشه جواب را هم اینجا و هم به ایمیلم بفرستید ؟

فعلا .
☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻

 

سلام. واقا عالی بود مطلبطون و خیلی عالی توضیح دادید
۱۶ آبان ۹۹ ، ۰۹:۵۴ محمد داوددوست

سلام دم شما گرم

باسلام وخداقوت

ممنون از مطالب خوبتون

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

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

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

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی