سلام قصد دارم در این جا مطالب مربوط به برنامه نویسی میکروکنترلرهای خانواده AVR رو آموزش بدم .
شما هم میت.نید کمکم کنید.
سلام قصد دارم در این جا مطالب مربوط به برنامه نویسی میکروکنترلرهای خانواده AVR رو آموزش بدم .
شما هم میت.نید کمکم کنید.
تاپیک رو به این بخش منتقل کن:
https://barnamenevis.org/forumdisplay.php?f=119
با سلام خدمت دوست عزيز.
اين مطلب مورد تخصصي من است اگر كمك خواستيد در ضمينه ي ميكرو كنترل خوشحال مي شوم بتوانم كمكتان كنم.
خدانگهدار.
سلام
من دارم يه كامپايلر مي خوام كه يه برنامه ميكرو بگيره و اونو تبديل به hex براي ريختن روي ربات كنه ،
ميتونيد منو راهنمائي كنيد؟
merci beaucoup
من می خواهم با میکرو atmega32 تایمر 1رو طوری تنظیم کنم که هر یک هزارم ثانیه رو بشماره ممنون میشم اگه راهنماییم کنید .
با سلام خدمت دوستان عزيز.
شما بايد از يك كريستال مخصوص استفاده كنيد.اسمش يادم نيست ولي در حالت عادي خطا بسيار است.من می خواهم با میکرو atmega32 تایمر 1رو طوری تنظیم کنم که هر یک هزارم ثانیه رو بشماره ممنون میشم اگه راهنماییم کنید .
يك نوع وجود دارد كه در سال 5 دقيقه خطا دارد.من از اين دقيق تر نمي شناسم.
شما بايد از وقفه ها استفاده كنيد.
والا تا حالا ما از حالت معمولي استفاده مي كرديم.سلام
من دارم يه كامپايلر مي خوام كه يه برنامه ميكرو بگيره و اونو تبديل به hex براي ريختن روي ربات كنه ،
ميتونيد منو راهنمائي كنيد؟
merci beaucoup
بيشتر توضيح بده تا بهتر بشه راهنمايي كرد.
خدانگهدار.
age compiler mikhay codevision avr kheili khube ba c ham hast.
سلام من تازه دارم برنامه نویسی AVR رو شروع میکنم با C و با تست proteus میکنم .
مدار یک LED و یک BUTTON داره میخوام وقتی BUTOON زده شد LED روشن بشه .
LED را به B.0 و button را به A.0 وصل کردم . میکرو AVR Mega 32
این دستور اشتباهه ؟
if(PINA.0) PORTB.0=1
درست شد یه ELSE کم داشت . جریان P و T چیه ؟ که وقتی پروژه جدید درست میکنی جلوی PORT ها هست ؟؟؟؟؟ آخه اگه P باشه کار میکنه اگه T باشه نه !!
با سلام خدمت دوست عزيز.
شما در ابتدا ي كار هستيد.
من خودم در ابتدا خيلي علاقه مند به ياد گيري بودم و هر مورد را از جايي (ياد گرفتم منظورم جلو جلو و خارج از كلاس).(اين خيلي خوب است ولي زماني كه دوره ي ياد گيري تكميل شد.)
اول خيلي خوب بود ولي بعد پشيمان شدم.چون اطلاعات درهم و پراكنده مي شود كه اين كار استفاده (به كار گيري ) اطلاعات را با مشكل روبرو مي كند.
شما نيز از تجربه ي من استفاده كنيد.
سعي كنيد از نرم افزار بسكام استفاده كنيد چون بهتر ، آينده دار تر و راحت تر است.
خدانگهدار.
من رشتم کامپیوتر . اصلا میکرو نداریم . من میخوام میکرو را با پورت سریال به کامپیوتر وصل کنم و مثلا 1 را به کامپیوتر بفرستم ... برای این چه چیزای لازمه ؟
با سلام خدمت دوست عزيز.
منظورتان را نمي فهمم.
مي خواهيد پايه ي 1 را به كامپيوتر وصل كنيد؟با كدام ميكرو كار مي كنيد؟
اگر مي خواهيد ميكرو را پروگرام كنيد بايد يك پروگرامر تهيه كنيد (قيمت حدودي 10 تا 12 هزار تومان) ولي خودتان هم مي توانيد بسازيد.(فكر نكنم سوالتان اين بود)
بهتر توضيح دهيد تا مشخص شود.
تقريبا بيشتري ها رشته كامپيوتر هستن حالا يكي نرم افزار و يكي سخت افزار.من رشتم کامپیوتر . اصلا میکرو نداریم . من میخوام میکرو را با پورت سریال به کامپیوتر وصل کنم و مثلا 1 را به کامپیوتر بفرستم ... برای این چه چیزای لازمه ؟
خدانگهدار.
سلام.
من ميخواستم شروع به كار كنم ولي نمي دونم كدوم كتاب بهتره .شماخودتون با كدوم كتاب كار كردين.
با سلام خدمت دوست عزيز
من خودم با كتاب مخالفم و فقط مي گويم كار عملي.الكترونيك علمي است كه از تئوري تا عمل بايد خيلي راه رفت.
ولي براي اينكه پاسخ شما را داده باشم بايد بگويم كتاب علي كاحه (نمي دونم املاش درست) خوب است.
كتابي را كه من خوندم نمي توانم معرفي كنم چون سطحش براي ابتداي كار خيلي بالا است.من خودم براي شروع از همين كتاب شروع كردم.(البته يك كلاس مقدماتي هم رفتم.)
يك سوال با كدام نوع مي خواهيد كار كنيد؟من خودم فقط آي وي آر كار كردم .اين موارد هم مربوط به همان مي شود.
سلام
اول تشكر بابت مطالبي كه زحمت كشيده بوديد ودر اختيار دوستان گذاشتيد
من دانشجوي رشته عمران هستم يه پروژه دارم كهدر اون بايد يه سلول شبكه عصبي رو شبيه سازي كنم كار يك سلول يه اينصورته كه يك X رو از ورودي دريافت كرده و تابع (F(X رو در خروجي ميده معمولا هم تابع tanh از نوع توابع هذلولويه كسي مي تونه كمكمكنه براي اين كار از mega32 استفاده مي كنم
1 ورودي ها و خروجي ها رو با چي دريافت كنم با چي نمايش بدم
2 بزنامه اين رو با چي بنويسم Cيا basic يا Assembly
3كسي برنامه نمونهداره واسم بزاره
با سلام خدمت دوتس عزیز.
سوالات:
اول : باید بهتر بگویید که برنامه دقیقا چی می خواهد.(خروجی شما رسم هذلولیه یا فقط تابع)
2. شما با هر برنامه ای بخواهی برنامه بنویسی می توانی بنوسی.من خودم شخصا اسمبلی را پیشنهاد نمی کنم چون سخت می شود.با سی کمی راحت تره و بیسیک هم بد نیست.
3.من برنامه ی مشابه خواسته ی شما نداشتم.ولی فکر نکنم سخت باشه.
کمی بیشتر در مورد برنامه توضیح بده تا بهتر بتوانیم کمک کنیم.
خدانگهدار.
سلام بي ادبي من رو مي بخشيد .ولي برنامتون يه اشكال كوچولو داره
هر وقت شما شرطي رو واسه آي سي ها مي نويسيد بايد بر عكسشو بنويسيد و ضمنا يه حلقه هم براي اجراي مداوم برنامه بايد داشته باشيد
يعني الگوريتمش به حالت زير ميشه
0-شروع
1- اگه a.0 = 1 اونوقت b.0 =1
در غير اينصورت b.0 = 0
2-برگرد به 0
برنامش تو bascom اينجوري ميشه:
Do
if porta.0 =1 then set portb.0
else reset portb.0
Loop
lمن برنامه هامو با bascom مي نويسم . اگه هنوز كتابي در مورد سي -codevision- نداريد مي تونم بهتون يه كتاب خوب معرفي كنم
درسته. توليد چنين نرم افزاري ، در راستاي اهداف مهندسي معكوسه. اگه كسي همچنن برنامه اي ديده بگه....
سلام دوستان.من تازه عضو شدم ومیخام.برنامه نویسی avrرو شروع کنم.من یک tester .and.or.xor لازم دارم هرکی میتونه کمکم کنه ممنون میشم.
آخرین ویرایش به وسیله LeBron : جمعه 01 آبان 1388 در 10:20 صبح
2 ورودی هستن ؟
چند تا از پایه های میکرو رو ، مثلا porta.0 تا porta.2 رو به عنوان ورودی تعریف کن ، و عملیات دلخواه رو روشون انجام بده ( or , and ,...) بعد رو یه پایه دیگه که به عنوان خروجی تعریفش کردی ، مثلا porta.5 حاصل رو قرار بده .
اگه هر کدوم از موارد بالا رو نمیتونی انجام بدی ، بهتره اون فایلهای آموزشی که تو این تاپیک هست رو بخونی:
https://barnamenevis.org/showthread.php?t=166278
مخصوصا اون آخری که از همه ساده تر گفته.
کسی هست به من 1کد یا راهنمایی در مورد ارتباط کیبورد 4*4 با avr بده؟
کیبورد 4*4 به این صورت به میکرو وصل میشه(البته این 4*5 هست):
برای گرفتن مقدار کلید ، معمولا کامپایلر ها یه تابع آماده دارن مثلا بسکام این رو دارهGetkbd()
اگرم بخواید خودتون تابع خوندن کلید رو بنویسید :
همونطور که تو شکل مشخصه باید اون 4 تا پایه ای که به ردیف های کیپد وصله رو یکی یکی 0 کنید(در هر لحظه یکی) و در هر مرحله 4 تا پایه ورودی میکرو که به ستونها وصلن رو چک کنید ببینید کدوم 0 شده . به این عمل اصطلاحا اسکن صفحه کلید میگن. (مثلا ردیف اول رو صفر میکنید بعد ستونها رو چک میکنید که کدومشون صفر شده اگه یکدوم صفر شده بود اون ستون و اون سطر نشون دهنده کلید هستن . اگرم همه 1 بودن میریر سراغ سطر بعدی)
چون عمل اسکن خیلی سریع اتفاق میوفته (کمتر از میلی ثانیه) اگه کلیدی فشار داده بشه سریعا شناسایی میشه .
یه روش دیگه(که سریعتره) هم اینه که تو دو مرحله این کار انجام بشه :
DDRC = 0x0f;تو این کد در مرحله اول 4 تا پایه میکرو خروجی هستن و 4 تا ورودی . بعد همه خروجی هارو صفر میکنید(نه یکی یکی) و ستون ها رو میخونید و توی متغییر key قرار میدید .
PORTC = 0xf0;
delay_us(5);
key = PINC;
DDRC = 0xf0;
PORTC = 0x0f;
delay_us(5);
key = key & PINC;
delay_ms(10);
در مرحله دوم جای ورودی خروجی ها عوض میشن و باز خروجی های جدید رو صفر میکنید (پایه هایی که تو مرحله قبلی ورودی بودن) و ورودی های جدید رو میخونید و با مقدار key که قبلا داشتید and میکنید . نتیجه مشخص میکنه کدوم کلید فشرده شده.
مثلا در مرحله اول key=10111111 و در مرحله دوم key= 11111101 باشه در نتیجه key=10111101 میشه . پس سطر 3 و ستون 2 فشرده شده. و الی آخر
با سلام
من در حال نوشتن پروژه پایان دوره کارشناسی (مهندسی تکنولوژی نرم افزار) می باشم (روبوت مسیریاب) چون وقت زیادی ندارم فقط میخوام اگه کد خواندن 5 سنسور (ورودی ) و ذخیره در متغیر را دارید برام بفرستید (در محیط codevision برای avr atmega32l).
به نظر شما من از 32 حالتی که با 5 سنسور به وجود می آید و 14 حالت را انتخاب نمودم با switch-case بنویسم بهتره یا if ?
کاربر جدید
سلام به دوستان من برنامه رطوبت سنج رو با سنسور humidity 818 میخوام .. البته با کدویژن نوشته شده باشه ممنون میشم
سلام
من باید این درس رو تدریس کنم!!! 1 ماه وقت دارم یاد بگیرمش
اگه می شه راهنمایی م کنید از کجا شرو کنم؟؟؟
سلام.من دارم يك ربات مين ياب درست ميكنم،كه از سنسور SRF05 براي اون استفاده كردم.وميكرومم atmega 128 است .حالا براي برنامه نويسي اين سنسور گير كردم!در ضمن ميخوام برنامه به زبان سي باشه!كسي ميتونه توبرنامه نويسيش بهم كمك كنه؟اگه نمونه كد هم داريد برام خواهشن بفرستيد.فقط دوستان من خيلي خيلي عجله دارم!!خواهش ميكنم يكي زود جوابمو بده!!ممنون.
سلام ، از آنجا که با اعمال پالس 10 میکروثانیه به ورودی Trigger ماژول فوق ، عملیات اندازه گیری آغاز میشود و نتیجه در خروجی Echo Pulse Output بصورت یک پالس با پهنای متناسب با زمان رسیدن امواج صوتی به هدف نمایان میشود . این پالس با لبه بالارونده است ، اگر آنرا به یک پایه اینتراپت خارجی درحالت Rising Edge جهت شروع به کار یک تایمر و همچنین به یک Input Capture درحالت Falling Edge جهت ثبت مقدار تایمر در پایان پالس وصل کنید و کدهای مربوطه بنویسید براحتی میتوانید با مازول فوق ارتباط برقرارکنید
با سلام من یه برنامه فلاشر 8 کاناله رقص نور دارم به زبان سی هست اگه اشتباه نکنمکه افکتهای متععددی رو اجرا میکنه میخاستم ببینم کسی میتونه تعداد کانالهاشو ویرایش کنه یعنی از 8 کانال به 10 کانال و 4 کانال و 5 و6 و7 کانال تغییر پیداکنه البته با همین رقص نورها فعلا 10 کاناله رو لازم دارم اگه سخته این دو تا 4 و 6 کاناله رو هم کارم راه میوفته اینم لینک برنامه
به به عجب فروم فعالی کلی حال کردم
آقا سلام
من دنبال یه برنامه به زبان بیسیک(تو بسکام) هستم که 8 تا led رو به ترتیب روسن کنه و به ترتیب هم خاموش کنه البته هنگام خاموش کردنش آروم آروم کم نور بشن و بعد خاموش بشن(مثل ستاره دنباله دار)......
می تونم از شما بپرسم اینا چین
دیدگاه شما در انتظار تایید مدیر می باشد.
سلام دوستان عزیز
فردا باید این برنامه رو تحویل بدم. چیز سختی نیست . ولی ازونجایی که ترم آحرم زیاد وقت نزاشتم روش و متوجه نمیشم .
ممنون میشم کمکم کنین .
صورت سوال اینه :
برنامه ای بنویسید گه با تغییر هر dip switch یک واحد به مقدار خروجی اضافه کند.
واسه درس آزمایشگاه ریزپردازنده هست.
باید تو مجیط AVR CODEVISION برنامش رو بنویسیم
بعد توی برنامه PROTEUS مدارشو رسم کنیم. تا هرجاشم بتونین کمکم کنین خیلی ممنون میشم