// اتصال کلید به avr - برق،رباتیک،کامپیوتر - الکترونیکا

الکترونیکا پروژه های الکترونیک و مکانیک

سایت در حال به روز رسانی به نسخه ی جدید میباشد در صورت بروز مشکل با شماره ی 09213203841 تماس بگیرید

اتصال کلید به avr

اطلاعات بیشتر
10 سال 3 ماه قبل #166 توسط goli
سلام من برنامه قبلی که با ADC بود را عوض کردم ولی نمیدونم چرا جواب نمیده
برنامم اینه با زدن هر کلید LED نظیر و روی 7seg عدد نظیر نمایش داده میشه و بیزر روشن بشه و با زدن کلید ریست همه به حالت اول برگرده و اگر چند تا کلید پشت هم زده بشه بعد از هر بار ریست کلید بعدی روشن بشه
پيوست:

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

اطلاعات بیشتر
10 سال 3 ماه قبل #168 توسط atmega128
شما از برنامه زیر استفاده کردید:
while (1)
      {
      a= PINA;
      if (a==0x01){
      PORTD= code [1];
      PORTD.4=1;
      PORTC=0x01;
      if (PIND.5==1){
      a=a&0xfe;
و ورودیهای مدارت وقتی کلید فشار داده میشه ---> زمین میشه
1-پس ورودیهات در حالت عادی هیچی نیستن و 2-وقتی کلید فشار داده میشه صفر میشن
> اینجا دو مشکل داریم اول باید ورودیهای مدارت در حالت عادی یک عدد باشن یعنی 1 باشن برای این کار درر ایندای برنامه باید پورت a رو به عنوان ورودی تعریف کنی و پول آپش کنی البته در میکروی avr که خاصیت پول آپ رو داره میشه با برنامه این کار رو کرد ولی در میگروهای قدیمی باید خودت مقاومت بزاری و ورودیها رو در حالت عادی 1 کنی که بهش میگن پول آپ کردن.
ورودی کردن پورت A:
DDRA=0x00;
پول آپ کردن تمام پایه های A:
PORTA=0xff;
حالا میتونی ورودی ها رو بخونی ولی بجای عبارتهای قبل در هر if باید به شکل زیر بنویسی:
if (PINA.0==0){
      PORTD= code [1];
      PORTD.4=1;
      PORTC=0x01;
      if (PIND.5==1){
      a=a&0xfe;
      }
      }
      if (PINA.1==0){
      PORTD= code [2];
      PORTD.4=1;
      PORTC=0x02;
      if (PIND.5==1){
      a=a&0xfd;
      }
      }
و همه رو باید تغییر بدی تا درست بشه

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

قدرت گرفته از كيوننا