اطلاعیه

Collapse
No announcement yet.

مشکل در اتصال کیپد به میکرو

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در اتصال کیپد به میکرو

    سلام
    شاید مشکل من برای خیلی ها پیش پا افتاده باشه ولی درک کنید که من یک تازه کار هستم

    مشکلم اینه که یک برنامه برای خواندن کیپد که از اینترنت گرفتم و میدونم درسته را وقتی در پروتئوس در طراحی که خودم کردم روی میکرو میریزم جواب نمیده ولی اگر در طراحی پروتئوسی که از اینترنت گرفتم بریزم درست کار میکنه
    خودم فکر میکنم مشکل از پروتئوس هست ولی نمی دونم از کجاش
    ...
    دواي درد عاشق را کسي کو سهل پندارد ز فکر آنان که در تدبير درمانند در مانند
    چو منصور از مراد آنان که بردارند بر دارند بدين درگاه حافظ را چو ميآ‌خوانند ميآ‌رانند
    در اين حضرت چو مشتاقان نياز آرند ناز آرند که با اين درد اگر در بند درمانند در مانند
    http://www.iranboomerang.blogfa.com

    #2
    پاسخ : مشکل در اتصال کیپد به میکرو

    خوب برنامه را بگذارید تا بتونیم راهنماییتون کنیم.....
    قنديل، تنديس قطره هايي است كه تسليم جاذبه زمين نشدند. "چگوآرا"

    دیدگاه


      #3
      پاسخ : مشکل در اتصال کیپد به میکرو

      سلام
      شما هم برنامه و هم دوفایل پروتوس رو بزار تا ببینیم مشکل چی هست
      به احتمال زیاد هم مشکل از طراحی شما باید باشه
      روزی که درک کردیم همه چیز به خدا تعلق دارد . آن روز .روز طلوع دانش است

      دیدگاه


        #4
        پاسخ : مشکل در اتصال کیپد به میکرو

        این هم فایل برنامه و طراحی آماده و طراحی من که در طراحی من خروجی در سون سگمنت نشان داده نمی شود و خروجی از روی رنگ قرمز یا آبی کنار پایه ها مشخص می شود
        فایل اولی برنامه آماده و فایل 2 طراحی من است
        New_folder.rar
        ...
        دواي درد عاشق را کسي کو سهل پندارد ز فکر آنان که در تدبير درمانند در مانند
        چو منصور از مراد آنان که بردارند بر دارند بدين درگاه حافظ را چو ميآ‌خوانند ميآ‌رانند
        در اين حضرت چو مشتاقان نياز آرند ناز آرند که با اين درد اگر در بند درمانند در مانند
        http://www.iranboomerang.blogfa.com

        دیدگاه


          #5
          پاسخ : مشکل در اتصال کیپد به میکرو

          سلام
          من برنامه ی شما را به شکل زیر اصلاح کردم
          بهترین روش برای خواندن صفحه کلید همین روشه
          کد:
          #include <mega16.h>
          #include <delay.h>
          
          unsigned char key(void);
          
          flash char sseg[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,
          0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
          
          void main(void){
          
          unsigned char KeyVal;
          
            PORTB=0x00;
            DDRB=0xFF;
            
            DDRD =0x0F;
            PORTD=0xF0; 
            
            
            while (1){
             if(PIND != 0xF0)
             {
             KeyVal =key();
             PORTB=sseg[KeyVal];
             while(PIND != 0xF0);  
             }
            }
          }
          
          unsigned char key(void){
          unsigned char Row,Col,Temp,Result;
          
           Col = PIND & 0xF0;
            delay_ms(10);  
            DDRD = 0xF0;
            PORTD= 0x0F;
            delay_ms(10);
           Row = PIND & 0x0F;
            Temp = Row | Col; 
           
           switch (Temp)
           {
            case 0b11101110:
             Result =7;
           break;
            case 0b11011110:
             Result =8;
           break;
            case 0b10111110:
             Result =9;
           break;
            case 0b01111110:
             Result =0; // Taghsim
           break;  
            case 0b11101101:
             Result =4;
           break;
            case 0b11011101:
             Result =5;
           break;
            case 0b10111101:
             Result =6;
           break;
            case 0b01111101:
             Result =0; // Zarb
           break;  
            case 0b11101011:
             Result =1;
           break;
            case 0b11011011:
             Result =2;
           break;
            case 0b10111011:
             Result =3;
           break;
            case 0b01111011:
             Result =0; // Menha
           break;  
            case 0b11100111:
             Result =0; //on/c
           break;
            case 0b11010111:
             Result =0; 
           break;
            case 0b10110111:
             Result =0; // mosavi
           break;
            case 0b01110111:
             Result =0; // Jamee
           break;
           }
           
           
           delay_ms(10);
           DDRD =0x0F;
           PORTD=0xF0;  
            
           
           return Result;
          }
          موفق باشید
          امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

          دیدگاه


            #6
            پاسخ : مشکل در اتصال کیپد به میکرو

            این برنامه هم این مشکل را دارد تا وقتی هیچ کلیدی را فشار ندادی همه ی پایه ها صفر است ولی به محضی که یک کلید را فشار میدهم عدد صفر 7-seg در پایه ها ظاهر می شود
            عجیبتر این که بازم اگر این برنامه را در طراحی پروتئوس که از اینترنت گرفته بودم بریزم هیچ مشکلی نداره من نمی دونم فرق این دو طراحی پروتئوس چیه؟
            نمی تونه مشکل از تنضیمات پروتئوس باشه؟
            یقینا مشکل از برنامه نیست
            لطفا کمک کنید
            ...
            دواي درد عاشق را کسي کو سهل پندارد ز فکر آنان که در تدبير درمانند در مانند
            چو منصور از مراد آنان که بردارند بر دارند بدين درگاه حافظ را چو ميآ‌خوانند ميآ‌رانند
            در اين حضرت چو مشتاقان نياز آرند ناز آرند که با اين درد اگر در بند درمانند در مانند
            http://www.iranboomerang.blogfa.com

            دیدگاه


              #7
              پاسخ : مشکل در اتصال کیپد به میکرو

              نوشته اصلی توسط mrbp
              این برنامه هم این مشکل را دارد تا وقتی هیچ کلیدی را فشار ندادی همه ی پایه ها صفر است ولی به محضی که یک کلید را فشار میدهم عدد صفر 7-seg در پایه ها ظاهر می شود
              عجیبتر این که بازم اگر این برنامه را در طراحی پروتئوس که از اینترنت گرفته بودم بریزم هیچ مشکلی نداره من نمی دونم فرق این دو طراحی پروتئوس چیه؟
              نمی تونه مشکل از تنضیمات پروتئوس باشه؟
              یقینا مشکل از برنامه نیست
              لطفا کمک کنید
              برنامه مشکل نداره من با پروتئوس 7.7 تستش کردم کار کرد.

              تا وقتی هیچ کلیدی را فشار ندادی همه ی پایه ها صفر است
              اگه منظورت اینه که از ابتدا هیچی نشون نمیده طبیعیه که همه صفر هستن چون برای دفعه اول مقدار بهشون نمیدی قبل از (1)while خط زیر را اضافه کن :
              کد:
              PORTB=sseg[0];
              موفق باشید
              امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

              دیدگاه


                #8
                پاسخ : مشکل در اتصال کیپد به میکرو

                مشکل اینه که وقتی برای اولین بار هر کدام از کلید های کیپد را فشار دهیم خروجی عدد صفر در سون سگمنت می شود و از آن به بعد خروجی ثابت می ماند
                فایلی که من در بالا گذاشتم را نگاه کنید یک برنامه را با هر دو طراحی پروتئوس شبیه سازی کنید خودتون متوجه می شوید
                با تشکر
                ...
                دواي درد عاشق را کسي کو سهل پندارد ز فکر آنان که در تدبير درمانند در مانند
                چو منصور از مراد آنان که بردارند بر دارند بدين درگاه حافظ را چو ميآ‌خوانند ميآ‌رانند
                در اين حضرت چو مشتاقان نياز آرند ناز آرند که با اين درد اگر در بند درمانند در مانند
                http://www.iranboomerang.blogfa.com

                دیدگاه


                  #9
                  پاسخ : مشکل در اتصال کیپد به میکرو

                  سلام
                  من یه دونه هدر از یه سایت گرفتم، عملی هم تست کردم خیلی خوب جواب داد
                  https://www.dropbox.com/s/20iryye2hw..._3.4_advan.zip
                  این لینک رو دانلود کنید فایل پروتئوس هم داره

                  دیدگاه


                    #10
                    پاسخ : مشکل در اتصال کیپد به میکرو

                    هنوز مشکل من حل نشده
                    خودم هم موندم چیکار کنم
                    اگه میشه فایل را دانلود کنید و بگید کجای کار من اشتباه هست طراحی و برنامه هم خیلی ساده هست
                    ...
                    دواي درد عاشق را کسي کو سهل پندارد ز فکر آنان که در تدبير درمانند در مانند
                    چو منصور از مراد آنان که بردارند بر دارند بدين درگاه حافظ را چو ميآ‌خوانند ميآ‌رانند
                    در اين حضرت چو مشتاقان نياز آرند ناز آرند که با اين درد اگر در بند درمانند در مانند
                    http://www.iranboomerang.blogfa.com

                    دیدگاه


                      #11
                      پاسخ : مشکل در اتصال کیپد به میکرو

                      مشکل تشخیص سطوح منطقی در پروتئوس هست
                      شما 8 عدد مقاومت 470 اهمی بین کیپد و میکرو قرار بدهید یعنی کیپد را مستقیم به میکرو وصل نکنید

                      در مورد اسکن هم همون روشی که گفتم استفاده کن حالشو ببر
                      موفق باشید
                      امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                      دیدگاه

                      لطفا صبر کنید...
                      X