ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 3 از 3
  1. #1
    2007/11/30
    83
    0

    مشکل عجیب با کیپد(Keypad یا کی پد) ماتریسی

    سلام دوستان. من یه کیپد ماتریسی 4*4 رو به SAM7X وصل کردم به این صورت که پایه های B23 تا B26 به ستون ها و پایه های B27 تا B30 به ردیف ها وصل شده. از این فایل کتابخونه هم استفاده کردم اما به یه مشکل عجیب خوردم اونم اینه که همه عددهای روی کیپد رو به خوبی تشخیص میده و وقتی کلید رو فشار میدم رو LCD مینویسه به غیر از عددهای 7 و 8 و 9 و C . کیپد رو هم چک کردم سالمه ممنون میشم کمکم کنید.

    http://public.fileup.ir/d/2138349/keypad.h
  2. #2
    2007/11/30
    83
    0

    پاسخ : مشکل عجیب با کیپد(Keypad یا کی پد) ماتریسی

    شرمنده دوستان مشکل حل شد ایراد از یکی از Via ها بود که بین پین هدر و چیپ بود. نمیدونم چرا از اول سراغ تست ترک ها نرفتم :redface: :angry:
  3. #3
    2014/02/20
    38
    0

    پاسخ : مشکل عجيب با کيپد(Keypad يا کي پد) ماتريسي

    سلام. من يک مشکلي با کيپد 4*4 پيدا کردم. برنامه ام تو شبيه ساز پروتئوس کار مي کند. وقتي مي بندمش هم همه اعداد کار ميکنند به غير از ستون اول! که اعداد رو جابجا نشون ميده! مثلا کليد 1 رو ميزنم 4 نشون ميده!
    با تست ديود هم چک کردم و همه اتصالاتم درسته! به نظرتون مشکل از کجاست؟
    کد:
    #include <mega16.h>
    #include <delay.h>
    // Alphanumeric LCD Module functions
    #include <alcd.h>
    #include <stdio.h>
    char key=00;         
    char s_key[];
     char i=0;
     char a=0;
     char b=0;
     char c=0;
     int num=0;
    // Declare your global variables here
    
    void main(void)
    {
    // Declare your local variables here
    
    // Input/Output Ports initialization
    // Port A initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out 
    // State7=T State6=T State5=T State4=T State3=0 State2=0 State1=0 State0=0 
    PORTA=0x00;
    DDRA=0xFF;
    
    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTB=0x00;
    DDRB=0x00;
    
    // Port C initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTC=0x00;
    DDRC=0x00;
    
    // Port D initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTD=0x00;
    DDRD=0x00;
    
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=0xFF
    // OC0 output: Disconnected
    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;
    
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer1 Stopped
    // Mode: Normal top=0xFFFF
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    
    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer2 Stopped
    // Mode: Normal top=0xFF
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    
    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: Off
    MCUCR=0x00;
    MCUCSR=0x00;
    
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;
    
    // USART initialization
    // USART disabled
    UCSRB=0x00;
    
    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    
    // ADC initialization
    // ADC disabled
    ADCSRA=0x00;
    
    // SPI initialization
    // SPI disabled
    SPCR=0x00;
    
    // TWI initialization
    // TWI disabled
    TWCR=0x00;
    
    // Alphanumeric LCD initialization
    // Connections specified in the
    // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
    // RS - PORTC Bit 5
    // RD - PORTC Bit 4
    // EN - PORTC Bit 3
    // D4 - PORTC Bit 2
    // D5 - PORTC Bit 1
    // D6 - PORTC Bit 0
    // D7 - PORTD Bit 7
    // Characters/line: 16
    lcd_init(16);
    
    while (1)
       {
     PORTB=0xff;
     PORTA=0b11111110;
     
     if(PINB.3==0){
     key=1;
     i++;}
     if(PINB.1==0){
     key=2;
     i++;}
     if(PINB.2==0){
     key=3;
     i++;} 
     delay_ms(5); 
    //*********************************
     
     PORTA=0b11111101;
     if(PINB.3==0){
     key=4;
     i++;}
     if(PINB.1==0){
     key=5;  
     i++;}
     if(PINB.2==0){
     key=6;
     i++;}  
      delay_ms(5);
     
    //*********************************
    
     PORTA=0b11111011;
     
     if(PINB.3==0){
     key=7;
     i++;}
     if(PINB.1==0){
     key=8;  
     i++;}
     if(PINB.2==0){
     key=9;   
     i++;}  
     delay_ms(5); 
    //*********************************
    
     PORTA=0b11110111;
     
     if(PINB.3==0){
     key=10;
     i++;}
     if(PINB.1==0){
     key=0; 
     i++;}
     if(PINB.2==0){
     key=11; 
     i++;} 
     delay_ms(5);
     //***********************************
     if(i>3){
      i=1; 
      b=0;
      c=0;}
          
     if(i==1) {
     a=key; 
     num=a;}
     if(i==2){
     b=key; 
     num=a*10+b;}
     if(i==3){
     c=key;
     num=a*100+b*10+c;} 
     
     if(key==11){ 
     num=0;
     i=0; 
     a=0;
     b=0;
     c=0;}
    
    
        lcd_clear(); 
        sprintf(s_key,"key:%d,i=%d",num,i);
        lcd_puts(s_key);
        //delay_ms(100);  
       } 
       }
نمایش نتایج: از 1 به 3 از 3

موضوعات مشابه

  1. مشکل با راه اندازی کیبرد ماتریسی 4*3
    توسط edris.noei در انجمن میکروکنترلرهای AVR
    پاسخ: 15
    آخرين نوشته: 2016/09/19, 11:26
  2. اسکن کیپد ماتریسی
    توسط tohid041 در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2016/05/25, 12:08
  3. مشکل با Keypad
    توسط saman1989t در انجمن میکروکنترلرهای AVR
    پاسخ: 7
    آخرين نوشته: 2015/06/22, 20:25
  4. تکنولوژی متفاوت در ساخت کیپد های ممبرن Membrane Keypad
    توسط shahriar در انجمن مدار چاپی (PCB)
    پاسخ: 0
    آخرين نوشته: 2011/03/17, 15:50
  5. مشکل با keypad
    توسط maziyar123 در انجمن میکروکنترلرهای AVR
    پاسخ: 9
    آخرين نوشته: 2011/01/05, 17:35

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •