با سلام خدمت تمامی دوستان
من حمید هستم و قصد دارم با استفاده از یک ATMEGA 16 or 32 و ال سی دی بر روی پورت A و 3میکرو سوئیچ بر روی پورت های B1 تا B3 که از یک طرف به پایه های میکرو و از طرف دیگر به مقاومت 4.7 بعد به منفی متصل هستند .
می خواهم با زدن هر میکرو سوئیچ عدد مورد نظر را بر روی ال سی دی 16*2 نمایش بدهم که امکان پذیر نیست . نمی دونم چرا اعداد نا مربوط مرتبا بر روی ال سی دی عوض می شوند و وقتی که سوئیچ را فشار می دهیم آن عدد سه یا چهار رقمی بر روی ال سی دی ثابت می شود .
البته اگر هر میکرو سوئیچ را بر روی یک پورت جداگانه قرار دهم بر روی ال سی دی می توانیم اعداد را نمایش دهیم .
یعنی سویچ 1 بر روی پورت B1 و سویئچ 2 بر روی پورت D1 و سوئیچ 3 بر روی پورت C1 و یک طرف سویچ ها به منفی در اینصورت است که می توان بر روی ال سی دی عدد مورد نظر را بنویسیم اما نمیشه از این روش استفاده کنم باید سوئیچ ها بر روی یک پورت باشند
برنامه را هم در پایین قرار می دم امید وارم دوستان عنایت کنند تا این پروژه به سرانجام برسد بازم ممنونم
int x;
int y;
int z;
bit b;
bit c;
bit a;
char txt[15];
if(b^PINB.0)
{
b=PINB.0;
if(~PINB.1)
{
x=1;
sprintf(txt,"x=%d"
;
lcd_clear();
lcd_puts(txt);
delay_ms(20);
}
}
if(c^PINB.2)
{
c=PINB.0;
if(~PINB.2)
{
y=2;
sprintf(txt,"y=%d"
;
lcd_clear();
lcd_puts(txt);
delay_ms(20);
}
}
if(a^PINB.3)
{
a=PINB.0;
if(~PINB.3)
{
z=0;
sprintf(txt,"z=%d"
;
lcd_clear();
lcd_puts(txt);
delay_ms(20);
}
}
من حمید هستم و قصد دارم با استفاده از یک ATMEGA 16 or 32 و ال سی دی بر روی پورت A و 3میکرو سوئیچ بر روی پورت های B1 تا B3 که از یک طرف به پایه های میکرو و از طرف دیگر به مقاومت 4.7 بعد به منفی متصل هستند .
می خواهم با زدن هر میکرو سوئیچ عدد مورد نظر را بر روی ال سی دی 16*2 نمایش بدهم که امکان پذیر نیست . نمی دونم چرا اعداد نا مربوط مرتبا بر روی ال سی دی عوض می شوند و وقتی که سوئیچ را فشار می دهیم آن عدد سه یا چهار رقمی بر روی ال سی دی ثابت می شود .
البته اگر هر میکرو سوئیچ را بر روی یک پورت جداگانه قرار دهم بر روی ال سی دی می توانیم اعداد را نمایش دهیم .
یعنی سویچ 1 بر روی پورت B1 و سویئچ 2 بر روی پورت D1 و سوئیچ 3 بر روی پورت C1 و یک طرف سویچ ها به منفی در اینصورت است که می توان بر روی ال سی دی عدد مورد نظر را بنویسیم اما نمیشه از این روش استفاده کنم باید سوئیچ ها بر روی یک پورت باشند
برنامه را هم در پایین قرار می دم امید وارم دوستان عنایت کنند تا این پروژه به سرانجام برسد بازم ممنونم
int x;
int y;
int z;
bit b;
bit c;
bit a;
char txt[15];
if(b^PINB.0)
{
b=PINB.0;
if(~PINB.1)
{
x=1;
sprintf(txt,"x=%d"

lcd_clear();
lcd_puts(txt);
delay_ms(20);
}
}
if(c^PINB.2)
{
c=PINB.0;
if(~PINB.2)
{
y=2;
sprintf(txt,"y=%d"

lcd_clear();
lcd_puts(txt);
delay_ms(20);
}
}
if(a^PINB.3)
{
a=PINB.0;
if(~PINB.3)
{
z=0;
sprintf(txt,"z=%d"

lcd_clear();
lcd_puts(txt);
delay_ms(20);
}
}
دیدگاه