Eng.KouRosH 9176 اشتراک گذاری ارسال شده در 7 تیر، ۱۳۹۳ درود بر همه دوستان برقی در این تاپیک میخوایم برنامه های مبتدی تا حرفه ای برای شروع به کار با میکرو رو باهم کار کنیم هرکسی مدار یا برنامه ای کاربردی داره بذاره اگه فیلم آموزشی هم ازش دارید بذارید راستی من با bascom برنامه هارو قرار میدم کسی اگه زبان c هم کار کرده و بلده برنامه و پروتئوسش رو بذاره استفاده میکنیم قوانین: 1- از دادن اسپم به شدت خودداری کنید تا هر کاربری میاد بخونه از ادامه خوندن پشیمون نشه! 2- برنامه ای که قرار میدید همراه فایل پروتئوس باشه اگر عکس و فیلم هم ازش دارید پیوست کنید . 3- در حد امکان توضیحاتی درباره برنامه داده بشه تا فهم اون بهتر صورت بگیره. 4- سعی کنید فیلم هایی که میخواید قرار بدید رو به فرمت های کم حجم تبدیل کنید و داخل آپلود سنتر خود سایت آپ کنید. [flash=width=550 height=27] برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 26 لینک به دیدگاه
Eng.KouRosH 9176 مالک اشتراک گذاری ارسال شده در 7 تیر، ۱۳۹۳ خب برای شروع کسانی که میخوان از صفر یاد بگیرن ابتدا به این تاپیک برن و اون چند قسمت اموزش رو بخونند(قبلا اون تاپیک قرار بود آموزش داده بشه اما استقبال زیادی نشد اینجا هم اموزش هم برنامه ها و مثال های مختلف همراه با فیلم هستش) http://www.noandishaan.com/forums/thread108934.html 23 لینک به دیدگاه
Eng.KouRosH 9176 مالک اشتراک گذاری ارسال شده در 8 تیر، ۱۳۹۳ خب واسه شروع یه برنامه خیلی ساده میذاریم خودمم اول با همین برنامه شروع کردم تو این برنامه قصد داریم یک LED رو توسط میکروکنترلر Atmega8 روشن و خاموش کنیم(من تاخیر رو 1ثانیه گرفتم که میشه به هر زمانی تغییرش داد) من برنامه رو در زیر قرار میدم و خط به خط توضیح میدم خیلی ساده اس، فایل برنامه و پروتئوس هم در پیوست قرار میدم برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام خب بریم سراغ برنامه خط اول: در خط اول ما پیکره بندی رو انجام میدیم و نوع میکرو رو مشخص میکنیم. خط دوم: فرکانس کاری میکرو رو مشخص میکنیم. خط سوم : چون میکرو ما از نوع atmega8 هستش این نوع میکرو پورت a نداره و از پورت b شروع میشه و کلا داری 23 ورودی خروجی هست که ما فقط پروت b رو به عنوان خروجی در نظر گرفتیم و با دستور config اون رو نوشتیم. خط چهارم: شروه حلقه do-loop همونطور که در توضیحات ابتدایی که در تاپیک بالا قرار داشت این حلقه یک حلقه تکرار هست و برنامه ای که میخوایم بنویسیم رو داخل این حلقه قرار میدیدم تا دائم برنامه ما اجرا بشه بدیهی هست که اگه این حلقه نباشه برنامه ما فقط یکبار انجام میشه میتونید داخل برنامه پروتئوس تست کنید!!!! خط پنجم: ما اومدیم اولین پایه پورت b رو توسط دستور set فعال یا high یا روشن کردیم تا led ما روشن بشه. خط ششم: توسط دستور wait ما تاخیر ایجاد میکنیم که بعد از روشن شدن led به مدت زمان دلخواه (که در این برنامه من 1ثانیه درنظر گرفتم) روشن بمونه. خط هفتم: در این خط توسط دستور reset ما پایه ای رو که روشن یا high کردیم رو غیرفعال یا خاموش میکنیم. خط هشتم: بازهم یک تاخیر ایجاد میکنیم تا برنامه درست کار کنه و بعد به loop میرسه و دوباره برنامه به خط اول میره یعنی set شدن پورت b خط نهم : انتهای حلقه do-loop خط دهم : end و پایان برنامه فایل برنامه و پروتئوس در پیوست قرار داده شده. پیروز باشید. برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 22 لینک به دیدگاه
Eng.KouRosH 9176 مالک اشتراک گذاری ارسال شده در 9 تیر، ۱۳۹۳ توجه : دوستان اگه استقبال نشه سراغ برنامه های بعد نمیرم چون رو تایپ وآماده کردن برنامه ها و فایل های شبیه سازی وقت میذارم حالا این برنامه خیلی ساده بود اما جلوتر که بریم برنامه ها وقت گیر میشه و اگه همکاری نکنید این تاپیک هم به تاریخ میپیونده !!! 18 لینک به دیدگاه
مجید بهره مند 43111 اشتراک گذاری ارسال شده در 9 تیر، ۱۳۹۳ اقا دستت درد نمکنه اگه همه اموزشها به همین شیوایی باشه خیلی خوبه امیدوارم بچه ها بیان و بحث رو ادامه بدیم 11 لینک به دیدگاه
Eng.KouRosH 9176 مالک اشتراک گذاری ارسال شده در 9 تیر، ۱۳۹۳ اقا دستت درد نمکنه اگه همه اموزشها به همین شیوایی باشه خیلی خوبه امیدوارم بچه ها بیان و بحث رو ادامه بدیم خواهش میشه......اگه وقت بشه و بچه ها بیان خوبه میتونیم مدارهای زیادی رو باهم تحلیل کنیم هرجا هم نیاز بشه فیلم آموزشی قرار میدیم 10 لینک به دیدگاه
Eng.KouRosH 9176 مالک اشتراک گذاری ارسال شده در 9 تیر، ۱۳۹۳ خب حالا میخوایم یه برنامه دیگه بنویسیم که توسط اون بتونیم یه رقص نور ساده بسازیم یادمه قبلا واسه ساخت یه رقص نور ساده کلی قطعه نیاز بود مثل خازن مقاومت و...... اما ما با میکرو خیلی کارا میتونیم بکنیم حتی میتونیم برنامه ریسه هایی که بیرون می بینید رو بنویسیم و افکت های دلخواه خودمون رو براش برنامه ریزی کنیم. خب تو این برنامه ما میخوایم دوتا از پورت های میکرو رو شیفت بدیم(یعنی از پایه کم ارزش به سمت پر ارزش پایه ها با تاخیر دلخواه روشن بشند که با اینکار ما میتونیم یه رقص نور داشته باشیم) خب اینم برنامه که من از قبل نوشته بودم و عکس هم گرفته بودم ازش واسه 4سال پیشه که تازه شروع کرده بودم. $regfile = "m32def.dat"$crystal = 8000000Config Porta = OutputConfig Portb = OutputDim A As ByteDim B As ByteA = &B10000000B = &B00000001DoPorta = APortb = BRotate A , RightRotate B , LeftWait 1LoopEnd خب بریم سراغ تحلیل برنامه خط اول: در خط اول ما باز هم پیکره بندی رو انجام میدیم و نوع میکرو رو مشخص میکنیم. خط دوم: فرکانس کاری میکرو رو مشخص میکنیم. خط سوم : در این خط ما پورت a رو به عنوان خروجی در نظر گرفتیم. خط چهارم:در این خط ما پورت b رو به عنوان خروجی در نظر گرفتیم. خط پنجم: ما در این خط یک متغیر(A) از نوع بایت تعریف کردیم که مقدار دلخواه امون رو داخلش بریزیم. خط ششم: در این خط هم یک متغیر(B) از نوع بایت تعریف کردیم که مقدار دلخواه امون رو داخلش بریزیم. خط هفتم: شروع حلقه do-loop خط هشتم: در این خط ما متغییر a رو مساوی پورت a قرار میدیم تا مقداری رو که داخل متغییر a ریختیم بر روی پایه های پورت a قرار بگیره خط نهم: در این خط ما متغییر b رو مساوی پورت b قرار میدیم تا مقداری رو که داخل متغییر b ریختیم بر روی پایه های پورت b قرار بگیره خط دهم: در این خط توسط دستور rotate که به معنی چرخش هست ما میایم پایه های پورت مورد نظر رو تغییر میدیم اگر دقت کنیم متغییری که انتخاب کردیم رو اینجا استفاده کردیم یعنی ما میتونیم مقداری رو که داخل متغییرمون ریختیم با تغییر 0 و 1 به هر مقداری تغییرش بدیم که با این دستور اون رو به سمت راست و چپ شیفت بدیم و برای رقص نورمون حالت های مختلف ایجاد کنیم . خط یازدهم: مطابق خط بالا با این تفاوت که پورت اون فرق داره و اینبار به سمت چپ شیفت میدیم خط دوازدهم: یک تاخیر 1ثانیه ای ایجاد میکنیم تا مراحل شیفت شدن دیده بشه تاخیر رو هم هر مقداری میتونید بذارید. خط سیزدهم :انتهای حلقه do-loop خط چهاردهم :end و پایان برنامه اینم عکس از نحوه کار برنامه به صورت عملی البته برد برد بالایی فقط واسه تغذیه هست و اون سون سگمنت ها واسه تست یه کار دیگه قرار داده شده ربطی به این مدار نداره همچنین از خازن و پل دیود و آی سی رگولاتور واسه یکسو کردن برق ترانس استفاده کردم . فایل برنامه و پروتئوس پیوست شد. پیروز و سرافراز باشید. برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 17 لینک به دیدگاه
Mehdi.Aref 26780 اشتراک گذاری ارسال شده در 9 تیر، ۱۳۹۳ ممنون از دوست عزیزمون امیدوارم این تاپیک ادامه داشته باشه و دوستان دیگه هم در حد امکان یاری کنن تا باهم مطالبی یاد بگیریم من تاحالا با بسکام کار نکردم اما خب با c یکمی کار کردم برنامه اول به زبان c برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 16 لینک به دیدگاه
Eng.KouRosH 9176 مالک اشتراک گذاری ارسال شده در 9 تیر، ۱۳۹۳ ممنون از دوست عزیزمون امیدوارم این تاپیک ادامه داشته باشه و دوستان دیگه هم در حد امکان یاری کنن تا باهم مطالبی یاد بگیریممن تاحالا با بسکام کار نکردم اما خب با c یکمی کار کردم برنامه اول به زبان c برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام خواهش میکنم ممنون از همکاریتون.من گرایشم قدرت هست درس برنامه نویسی هم نداشتیم (واسه میکرو) زبان بیس رو خوندم اما زبان c رو هم یه چیزایی بلدم اما خب چون بیسکام راحت تره واسه شروع بهتره سعی میکنم بعد خوندن زبان c آموزش اونم شروع کنیم که زبان گسترده تری هست و کاراییش بیشتره 17 لینک به دیدگاه
mherdad 3826 اشتراک گذاری ارسال شده در 10 تیر، ۱۳۹۳ دراین برنامه که چشمکزن راه رونده(رقص نور)که با خط تاَخیر 500 میلی ثانیه ای و دیودهاینورانی (led) بصورت ترتیبی روشن وخاموش می شوند شرح برنامه) باتوجه به مقدار باینری که در جلوی هر یک از عبارتportb در برنامه قرار داده شده این کار صورت می گیرد و مل رقص نور بوجود می آید.وجود 1 یعنی LED مربوطه به ان روشن میشود و0 به منزله خاموش بودن LED هاست. البته به جای مقدار باینری از مقدار هگزادسیمال هم میتوان استفاده کرد که در جلوی هر خط از برنامه آورده شده است برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام خط اول: در خط اول ما پیکره بندی رو انجام میدیم و نوع میکرو رو مشخص میکنیم. خط دوم: فرکانس کاری میکرو رو مشخص میکنیم. خط سوم : پورت Bرو به عنوان خروجی درنظر گرفتیم .وبا دستور Config اون رو نوشتیم. خط چهارم: دستور (Do_Loop) برای ایجاد یک حلقه بی نهایت تکرار مباشد خط پنجم: پورت(B0,B7) به عنوان خروجی و بقیه رو به عنوان ورودی در نظر میگیرد خط ششم: توسط دستور waitms برای ایجاد تاَخیر 500 میای ثانیه ای خط هفتم: پورت(B0,B7) به عنوان خروجی و بقیه رو به عنوان ورودی در نظر میگیرد خط هشتم: توسط دستور waitms برای ایجاد تاَخیر 500 میای ثانیه ای خط نهم : پورت(B1,B6) به عنوان خروجی و بقیه رو به عنوان ورودی در نظر میگیرد خط دهم : توسط دستور waitms برای ایجاد تاَخیر 500 میای ثانیه ای خط یازدهم: پورت(B2,B5) به عنوان خروجی و بقیه رو به عنوان ورودی در نظر میگیرد خط دوازدهم:توسط دستور waitms برای ایجاد تاَخیر 500 میای ثانیه ای خط سیزدهم:پورت(B3,B4) به عنوان خروجی و بقیه رو به عنوان ورودی در نظر میگیرد خط چهاردهم:توسط دستور waitms برای ایجاد تاَخیر 500 میای ثانیه ای خط پانزدهم:پورت(B2,B5) به عنوان خروجی و بقیه رو به عنوان ورودی در نظر میگیرد خط شانزدهم:توسط دستور waitms برای ایجاد تاَخیر 500 میای ثانیه ای خط هفدهم:پورت(B1,B6) به عنوان خروجی و بقیه رو به عنوان ورودی در نظر میگیرد خط نوزدهم: انتهای حلقه do-loop خط بیستم: end و پایان برنامه برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 13 لینک به دیدگاه
Shining Star 2108 اشتراک گذاری ارسال شده در 10 تیر، ۱۳۹۳ مقایسه کننده با استفاده از مبدل آنالوگ به دیجیتال به زبان C برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام به ترتیب خط هارو مینویسم توضیحاتشون رو: 1: وارد کردن کتابخونه io.h 2: تعریف یک عدد ثابت به اسم COMPARE_VALUE با مقدار 125 3: تعریف یک تابع به اسم sbi با متغیرهای x و y که میاد مقدار X و y رو با هم or میکنه و داخل x قرار میده. طبق تعریف داریم: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 4: مثل همون بالا هستش. فقط اینبار مقدار x با متمم y اند (and) میشه و داخل x قرار میگیره. 5و6: خالی 7و8: شروع کد با تابع main 9و10: خالی 11: تعریف پورت B بعنوان خروجی. وقتی مقادیر DDR هر پورت 1 باشه، اون پورت خروجی میشه. 12: تعریف مقادیر اولیه پورت B 13: A رو ورودی میکنیم. 14: مقداردهی اولیه پورت A 15: set کردن مقدار ADLAR از رجیستر ADCSRA. دستور BV همون Bit Value هستش. 16: تو این خط میایم مقدار ADEN و ADPS2 و ADPS1 و ADPS0 رو یک میکنیم (set میکنیم) و بعد همه این هارو با هم or میکنیم و داخل رجیستر کنترلی ADCSRA قرار میدیم. 17: مقدار ADCSRA رو با مقدار set شده or، ADSC میکنیم و داخل خودش قرار میدیم. در واقع میشه گفت فقط مقدار ADSC رو یک میکنیم که تبدیل شروع بشه. 18و19: خالی 20و21: شروع حلقه ای که تا بی نهایت ادامه داره 22و23: خالی 24: تا زمانیکه مقدار ADSC یک هستش ! 25: خالی 26: اگر قسمت ارزشمند (high) مقدار تبدیل شده بزرگتر از 128 بود ... 28: دستور sbi اجرا میشه 29: دستور cbi اجرا میشه 31: اما اگه کمتر باشه ... 33و34: بازم دستورهای sbi و cbi اجرا میشن. 38: بازم مقدار ADSC رو یک میکنیم تا تبدیل دوباره انجام بشه .... 41: مقدار 0 رو برمیگردونه ... 42: تمام !! من فقط قصدم توضیح مفهوم دستورات بود. نه توضیح الگوریتم. الگوریتم رو اگه خودتون یکمی روش فکر کنید چیز ساده ایه 13 لینک به دیدگاه
Shining Star 2108 اشتراک گذاری ارسال شده در 10 تیر، ۱۳۹۳ فلاش زدن LED با شمارنده داخلی میکرو به زبان C برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام کدهای این قسمت هم شبیه کدهای پست قبلیه. چیز اضافه ای نداره که بخوام توضیح بدم 13 لینک به دیدگاه
Eng.KouRosH 9176 مالک اشتراک گذاری ارسال شده در 10 تیر، ۱۳۹۳ دوستان ببخشید یادآوری میکنم سعی کنید برنامه هایی که کار کردید رو هم بذارید برنامه های که نمونه عملی داشته باشه اینجوری سطح کیفی تاپیک هم بالا میره من دارم برنامه هایی که جدید میخوام بذارم رو به صورت عملی کار میکنم و عکس و فیلمش رو هم میذارم اگر وقت بشه 10 لینک به دیدگاه
Eng.KouRosH 9176 مالک اشتراک گذاری ارسال شده در 11 تیر، ۱۳۹۳ Shining Star دوست عزیز میشه دوتا برنامه ای که گذاشتی رو توضیح هم بدی ممنون 8 لینک به دیدگاه
Eng.KouRosH 9176 مالک اشتراک گذاری ارسال شده در 16 تیر، ۱۳۹۳ ناراحت نشو ماه رمضونه بچه ها حال ندارند خودمم همینطورم برنامه های جدید آماده شه باز میذارم 4 لینک به دیدگاه
Shining Star 2108 اشتراک گذاری ارسال شده در 18 تیر، ۱۳۹۳ این برنامه رو پارسال نوشتم. برنامه نمایش ساعت روی LCD به زبان C علاوه بر ساعت، دارای تاریخ و کرنومتر هم هست. البته به مقداری تغییر احتیاج داره. باید زمان فعلی رو تو برنامه جابجا کنید با زمان قبلی. بعد اون رو پروگرم کنید فایل پروتئوس رو هم میزارم براتون برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام برنامه تقریبا ساده هستش. فکر نمیکنم نیازی به توضیح باشه. قبل از تابع Main چند تا تابع کئچک نوشتم که تو تابع Main فراخوانی میشن البته اونجوری که یادم میاد یه ایراد ریز داشت این برنامه. ولی دقیق یادم نمیاد چی بود الان پروتئوس ندارم که تست کنم. خودتون تستش کنید 9 لینک به دیدگاه
e.t 1423 اشتراک گذاری ارسال شده در 20 تیر، ۱۳۹۳ واقعا دستتون درد نکنه. خیلی عالی بود. از استادامون که هیچ خیری ندیدیم. حداقل از این سایت یه خیره بهره ای بردیم . خیر ببینید الهی به حق پنج تن. به حق علی . به حق ................. 6 لینک به دیدگاه
Eng.KouRosH 9176 مالک اشتراک گذاری ارسال شده در 20 تیر، ۱۳۹۳ واقعا دستتون درد نکنه. خیلی عالی بود. از استادامون که هیچ خیری ندیدیم. حداقل از این سایت یه خیره بهره ای بردیم . خیر ببینید الهی به حق پنج تن. به حق علی . به حق ................. خواهش میکنم هر سوالی داشتید بچه ها هستند همگی باهم هر برنامه ای هست رو تحلیل میکنیم نیاز باشه فیلم آموزشی و عکس هم میذاریم فقط فعالیت داشته باشید تا تاپیک همچنان فعال بمونه 8 لینک به دیدگاه
Eng.KouRosH 9176 مالک اشتراک گذاری ارسال شده در 26 تیر، ۱۳۹۳ قبل کار با سون سگمنت بهتره این فایل رو دانلود کنید.........توضیحاتی در مورد سون سگمنت های آند و کاتد مشترک و همچنین نحوه راه اندازی و مالتی پلکس کردنشون همراه مثال برنامه و شماتیک فایل پی دی اف پیوست شد پیروز باشید برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 6 لینک به دیدگاه
ارسال های توصیه شده