هر کی سوالی در مورد avr داره بپرسه جواب می دم.
هر کی سوالی در مورد avr داره بپرسه جواب می دم.
سلام. من برنامه صفحه کلیدی که با میکرو ای وی آر باشه و با زبان سی باشه میخوام که روی ال سی دی گرافیکی نشان بده .می توانید کمکم کنید ؟
بیشتر توضیح بده درست منظورتو نفهمیدم.
سلام.سوالمو بهتر مطرح می کنم.یک برنامه می خوام به زبان CیاC++برای میکروی AVR.میکرو به یک lcd گرافیکی مدل ts12864A-2 (که از تراشه ی ks0108استفاده می کنه)و هم چنین یک صفحه کلید 4×4 وصل است.می خوام هر کلیدی که زده شد روی lcdنمایش بده.مثلا اگه کلید 6 را زدیم عدد 6 را نمایش بده.لطفا کمکم کنید.ممنونم
ای بابا هیچ کس نیست جواب منو بده؟ من عجله دارم.
ببین از نظر سخت افزاری که مشکلی نداری اما من باز توضیح می دم اولا که بهتره از Lcd معمولی استفاده کنی چون تو lcd گرافیکی کار با text سخته اما من هردو حالتشو توضیح می دم فقط الان یه مشکل دیگه هست اونم اینه که از چه ادیتوری واسه پروگرم کردن استفاده می کنی.
از پروگرامر stk400استفاده می کنم.استاد مجبورم کرده از این lcd استفاده کنم.مرسی که می خواین کمکم کنید.
سلام.من خیلی عجله دارم. از لحاظ سخت افزار هم مشکل ندارم.حتی می دونم چه طور روی lcd هم نشون بدم. فقط یه برنامه می خوام که هر کلیدی را زدیم تشخیص دهد و مثلا اگر کلید 8 را زدیم وارد یک تابعی بشود به نام key 8. کارهایی که قراره توی تابع انجام بشه را خودم بلدم.فقط تشخیص فشردگی کلید و این که کدوم کلید فشرده شده را نمی دونم.
ببین کی برد حالت ماتریس داره ینی تو هر دکمه رو که فشار می دی اون سطر و سطون به هم وصل می شن.
پس اگه از کی برد 4*4 استفاده می کنی باید چهار تا سیم مربوط به سطر یا سطون رو پول دان کنی(با یه مقاومت کم به GRD وصل کنی) تا نویز نگیره بعد دونه دونه به اون چهار تا پایه دیگه ولتاژ می دی با میکرو و اون چهار تای دیگه رو هم چک می کنی به همین راحتی.
مثلا تو سطون رو پول دان می کنی و به سطر ولتاژ میدی (اونی رو که پول دان کردی چک می کنی) مثلا وقی به سطر دو ولتاژ دادی اگه سطون 3 دارای ولتاژ باشه یعنی دکمه 8 فشار داده شده.
من خودم با codevisionavr کار می کنم و تا بحال با stk400ا کار نکردم اما اگه الگوریتمو متوجه نشدی برنامشم می نویسم ببینی چطوریه.
سلام.آقا ما جواب نخواستیم. این توضیحاتو خودم بلدم. بابا مثلا مهندس کامپیوترم.من برنامه را می خواستم که انگار شما فقط دارید منو می پیچونید.تازه امروز بالاخره جواب گرفتم . خداحافظ
سلام. دوشت عزیز من یک مدار دارم که روی ال سی دی چهار مقدار خروجی رو بهم نشون میده. حالا میخوام یک پورت USB بهش اضافه کنم تا این اطلاعات را از طریق این پورت وارد برنامه ای بکنه که با دلفی 7 نوشتم.
حالا میخواستم ببینم چه طور میتونم توی برنامه ام پورت USB رو بشناسم و این اطلاعات رو بخونم. لطفا بهم کمک کنید. خیلی خیلی بهش نیاز دارم. اگه کامپوننتی هم دارید لطف کنید و بهم معرفی کنید. باز هم ممنون از راهنماییتون.
سلام
من میخوام با بسکام از portc.2 که وصله به یه میکرو سوییچ ورودی بگیرم
مثلا وقتی vcc وصل شد به اون پین میکرو بفهمه و یکسری دستوراتو انجام بده ، زمانی ام که ولتاژ قطع شد یکسری دستوره دیگه انجام بدم.
اینم کدمه :
Do While Portc.2 == 0
portb.6=1
Loop
Do While Portc.2 == 1
portb.6=1
Loop
قبلش هم portc رو به عنوان ورودی معرفی کردم.
حالا موقع کامپایل اروره invalid datatype میده
میخواستم اگه میشه راهنماییم کنید که بدونم مشکل چیه
ممنون
لااقل یکی بگه چطوری میتونم حالیش کنم که تو یک بیت از یک پورت ولتاژ هست یا نه؟ بنویسم portc.0==0 یا 1 میفهمه خودش؟
سلام اگر از برنامه الکترو برای program کردن آی سی استفاده کنی مشکلت حل می شه.
بازم اگه مشکلی داشتی به انجمن Roboforum.ir یه سری بزن انشاالله مشکلت برطرف میشه.
چه طرز حرف زدنه .واقعا بعضی ها ادم رو به تعجب وا میدارن که اینا واقعا 12 13 سال درس خوندن ودانشجو هستن.از همون اول که استاد رو با نشون داد مشخص بود ادم با ادبی نیست
خیلی خیلی بی ادبانه حرف زدید.
من از شما دوست عزیز معذرت خواهی میکنم عوض این طرف
وقتی مفت مفت مدرک بدن همینه وضعمون دیگه
با سلام به اساتید گرامی خودم. چند وقتیه به دنبال چگونگی ارتباط میکرو AVR به جی اس ام مودم ویوکام هستم.این مودم پورت کام هم داره.اگر کسی از نظر چگونگی این ارتباط و توضیح ویا عکسی که بتوان پایه های میکرو را به ما نشان بده و منو ارشاد کنه ممنون میشم. باز هم از همه تشکر میکنم.
اینم برنامه.
مثلا ردیف افقی رو پول دان کردی
و همه رو 4تای پول دان شوده روی پرت b0-b3 و 4تای دیگه رو روی b4-b7 گذاشتی.
PORTB.4=1;
if(PINB.1==1)
{
lcd_putchar('1');
}
if(PINB.2==1)
{
lcd_putchar('2');
}
if(PINB.3==1)
{
lcd_putchar('3');
}
if(PINB.4==1)
{
lcd_putchar('a');
}
PORTB.5=1;
if(PINB.1==1)
{
lcd_putchar('4');
}
if(PINB.2==1)
{
lcd_putchar('5');
}
if(PINB.3==1)
{
lcd_putchar('6');
}
if(PINB.4==1)
{
lcd_putchar('b');
}
PORTB.6=1;
if(PINB.1==1)
{
lcd_putchar('7');
}
if(PINB.2==1)
{
lcd_putchar('8');
}
if(PINB.3==1)
{
lcd_putchar('9');
}
if(PINB.4==1)
{
lcd_putchar('c');
}
PORTB.7=1;
if(PINB.1==1)
{
lcd_putchar('d');
}
if(PINB.2==1)
{
lcd_putchar('e');
}
if(PINB.3==1)
{
lcd_putchar('f');
}
if(PINB.4==1)
{
lcd_putchar('g');
}
با سلام خدمت دوست عزيز.
من مبتدي نيستم ( به عنوان مثال اين برنامه اي كه دوستمان در خواست كرده بودند را من قبلا نوشته بودم.) ولي مي خواهم براي ادامه كارم در اين رشته دست به كار شوم و اطلاعات خود را در زمينه ي كمي و كيفي افزايش دهم .
مي شود يك كتاب مناسب به من معرفي كنيد( كه حاوي مطالب سطح بالاتر و مثال هاي متنوع و مفيد تر باشد).
اين مورد شايان ذكر است كه من در مورد AVR مي خواهم.
با تشكر .
خدانگهدار.
سلام از راستش من یه برنامه فلاشر با c نوشتم که روی پورت a یه برنامه و روی پورت b و d یه برنامه دیگه اجرا میکنه ولی مشکل اینجاست که برنامه هر دو پورت رو همزمان اجرا نمیکنه میتونید در این مورد کمکم کنید برنامش چطوری میشه ممنون میشم
اگه از سری ATmega استفاده میکنی مدل mega128 میتونه سیستم عامل های ساده رو اجرا کنه تا بتونی تو سیستم پردازش موازی رو داشته باشی
البته تو سری های 8 بیت من فقط mega 128 رو دیدم که بتونه OS اجرا کنه بقیه رو نمی دونم
ولی سری ها 16 و 32 بیتی رو به راحتی میتونی روش سیستم عامل نصب کنی حتی لینوکس و ویندوز
البته نظر شخصی من اینه که با یکم تلاش و اضافه کردن امکانات جانبی شاید بتونی نسخه uclinux رو هم تو mega128 اجرا کنی !
یعنی با mega16 نمیشه این کارو انجام داد راستش من تازه واردم و زیاد نمیتونم برنامه های سخت رو بنویسم میتونید یکم واضح تر توضیح بدید که در نهایت با این ای سی میتونم یا نه میخوام اگه لطف کنید من رو تو نوشتن برنامه یاری کنید ممنون میشم
با سلام.
نه بامگا 16 نمی شه.مگا 16 یک سری امکانات در اختیار افراد قرار می دهد ولی فقط برای شروع کار خوب است.
هر آی سی را بهر کاری ساخته اند.شما می توانید به بروشور این محصول رجوع کنید تا بهتر بتوانید آی سی مورد استفاده را پیدا کنید.
البته اگر شما بیشتر توضیح می دادید که دقیقا چه کار انجام می دید ، می شد راهنمایی بیشتری انجام داد.
موفق باشید.
میتونین بگین باید چکار کنم و با چه ای سی این کارو انجام بدم ببینین من میخوام برنامه ای بنویسم که روی پورت A میکرو یکسری led چشمک بزنه و روی پورت B و D میکرو یکسری دیگه LED با یه برنامه دیگه چشمک بزنه یه برنامه فلاشر ولی میخوام این دو برنامه مختلف روی این دو پورت بصورت همزمان اجرا بشه یعنی دو پورت مستقل از هم کارکنن حالا میتونین راهنمایی کنین با چه ای سی و برنامش چطوری میشه
منظورتون از لوازم جانبی چیه
یه سوال دیگه هم داشتم چطور میشه یه باتری بک آپ رو به atmega16 وصل کرد کسی نقشه ای در این مورد داره یعنی باید به کدوم پایه ها وصل کرد طریقه وصل کردنش چطوریه
اینم برنامه :
#include <mega16.h>
#include <delay.h>
#define B PORTB
#define D PORTD
#define A PORTA
char i;
char x;
char z;
void main(void)
{
PORTA=0x00;
DDRA=0x0F;
PORTB=0x00;
DDRB=0xff;
PORTD=0x00;
DDRD=0xFf;
while (1)
{
i=0x55; //1
B=i;
D=i;
delay_ms(50);
B=B<<1;
D=D<<1;
delay_ms(50);
x=0X0F; //2
A=x;
delay_ms(50);
x=0X00;
A=x;
delay_ms(50);
}
}
با سلام.
دوست من ، در اینجا خیلی برنامه مهم نیست.چون در هر صورت برنامه قابل تغییر است.در اینجا فقط مدار و توانایی آی سی است که غیر قابل تغییر است.
آی سی ای که دوست خوبم آقای کرنل پیشنهاد دادند برای این کار باید مناسب باشد.ولی بااین وجود در بعضی موارد شاهد آن خواهیم بود که همه چیز آنطور که ما می خواهیم پیش نمی رود.
منظور شما از باتری بک آپ چیست؟
اگر منظور شما باتری پشتیبان است (که احتمالا هم همین است ) ، باید از طریق یک رله به مصرف کننده وصل شود و سپس کنترل آن رله را به آی سی بدهید.این روشی است که همواره جواب می دهد ولی روش های دیگر ی وجود دارد که از این روش بسیار ساده تر بوده ولی مختص شرایط خاص هستند.
دلیل شکم بر نام باتری این است که ، مداری که شما از آن صحبت کرده اید نیازی به باتری بک آپ ندارد.مگر منظور شما غیر از این باشد.
باز هم اگر موردی هست سوال کن ولی سعی کن آن را در یک پست جدید مطرح کنی.
البته از این پس برای سوال خود توضیحات دقیق تر و با ذکر مشخصات سوال بفرمایید.چون همانطور که می دانید دانش الکترونیک مبتنی بر مشاهده و بررسی دقیق است که بدون شرح جزئیات این مهم تحقق نمی یابد.
خدانگهدار.
ببینین من یک برنامه ساعت با mega16دارم که باتری پشتیبان نداره و هر وقت تغذیه قطع میشه ساعت از اول شروع به کار میکنه میخوام زمان دقیق رو تا وصل مجدد تغذیه حفظ کنه
در مورد سوال دیگم میتونین بگین باید چکار کنم و با چه ای سی این کارو انجام بدم ببینین من میخوام برنامه ای بنویسم که روی پورت A میکرو یکسری led چشمک بزنه و روی پورت B و D میکرو یکسری دیگه LED با یه برنامه دیگه چشمک بزنه یه برنامه فلاشر ولی میخوام این دو برنامه مختلف روی این دو پورت بصورت همزمان اجرا بشه یعنی دو پورت مستقل از هم کارکنن حالا میتونین راهنمایی کنین با چه ای سی و برنامش چطوری میشه
اینم برنامه :
#include <mega16.h>
#include <delay.h>
#define B PORTB
#define D PORTD
#define A PORTA
char i;
char x;
char z;
void main(void)
{
PORTA=0x00;
DDRA=0x0F;
PORTB=0x00;
DDRB=0xff;
PORTD=0x00;
DDRD=0xFf;
while (1)
{
i=0x55; //1
B=i;
D=i;
delay_ms(50);
B=B<<1;
D=D<<1;
delay_ms(50);
x=0X0F; //2
A=x;
delay_ms(50);
x=0X00;
A=x;
delay_ms(50);
}
}
کسی نیست یه جواب به ما بده
کسی نیست یه جواب به ما بده
بابا تورو خدا به ما هم کمک کنید برنامش چطوری میشه عجله دارم این با برنامه رو هم براتون گذاشتم میتونید راهنمایی کنید چطور میشه برنامه روی پورت a و پورت b هر دو همرمان و مستقل اجرا بشه
بابا یعنی یه نفر نیست این برنامه رو بلد باشه کسی از این موضوع سر در نمیاره
دو تا راه داری یا برای برنامه ساعت از یه iC real time clock استفاده کن مثل ds1307 اینا خودشون باتری بک آپ قبول میکنه و ساعت همیشه درسته یا نه اگه میخوای برای خود میکرو باتری بک آپ بذاری باید یه مدار باشه احتمالا با یه رله و مدار شارژ باتری
یک سوال
من تاحالا با اتمل کار نکردم
فقط هم س بلدم
چه نو AtMel برای اولین بر کار با AVR پیشنهاد میکنید (مدل)
که هم با س کار کنه و هم نه زیاد گنده باشه که زیاد بشه
و در ادامه چجوری میشه programmer برای آور سخت به که اکثرشون بخوره و ساختنش اسون باشه
چون اینجا programmer خیلی گرونه...
و در ادامه من پرت USB فقط توی پکام دارم و serial ندارم
اینو در ادامهٔ حرف programer میگم، که یه پرگرممری باشه که با USB بشه وصل کر