ايران ويج

نسخه‌ی کامل: مشکل در پیاده سازی در برد بورد
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
من این مدار پایین رو بستم که میخوام با فشار دادن هر کلید, عدد اون کلید روی اولین سون سگمنت نمایش بده.
تو پروتئوس درست کار میکنه ولی روی بردبورد که بستم, چه کلید رو فشار بدم چه ندم عدد 8 رو نشون میده.
لطفا راهنمایی کنید.

[تصویر:  %D9%85%D8%AF%D8%A7%D8%B1%D8%B4.png]

کد:
#include <mega32.h>
#include <delay.h>

unsigned char key=10;

void keypad(void){
   
   PORTD.3=0;
   delay_ms(2);
   if(PIND.0==0) key=1;
   if(PIND.1==0) key=2;
   if(PIND.2==0) key=3;
   PORTD.3=1;

   PORTD.4=0;
   delay_ms(2);
   if(PIND.0==0) key=4;
   if(PIND.1==0) key=5;
   if(PIND.2==0) key=6;
   PORTD.4=1;
   
   PORTD.5=0;
   delay_ms(2);
   if(PIND.0==0) key=7;
   if(PIND.1==0) key=8;
   if(PIND.2==0) key=9;
   PORTD.5=1;
   
   PORTD.6=0;
   delay_ms(2);
   if(PIND.1==0) key=0;
   PORTD.6=1;
       
}

void main(void)
{
unsigned char seg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
DDRB.0=1;
PORTB.0=1;
DDRA=0xff;
DDRD=0x78;
while (1)
   {
   keypad();
   PORTA=seg[key];
   }
}
سلام
 فرکانس کاری میکرو کنترلر رو حین پروگرم درست تعریف کردین؟
ظاهراً پایه های خروجی میکرو یک می مونه که تمام  7سگمنت روشنه
پروژه رو هم آپلود کنید بی زحمت هم یه نگاهی بکنیم ببینیم مشکل چیه


هم یه چیزی هم یاد بگیرم خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید