اطلاعیه

Collapse
No announcement yet.

سوال در مورد کی پد

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

    سوال در مورد کی پد

    با سلام

    چه طوری میتونم از کیپد یه عدد 4 رقمی بگیرم؟

    البته توی کدویژن!


    این رو نوشتم ولی کار نمیکنه! ( http://upir.ir/files/3_87e4c.zip )

    با تشکر

    #2
    پاسخ : سوال در مورد کی پد

    سلام
    می تونی یه حلقه ایجاد کنی که 4بار یه عدد از کی پد بگیره ، بعد بیاد عدد اول رو ضرب در 1000 ؛ عدد دوم ضرب در 100 ، عدد سوم ضرب در 10
    بعد بیای 4 تار رقم رو با هم جمع کنی ؛ اینجوری یه عدد 4 رقمی داری...

    دیدگاه


      #3
      پاسخ : سوال در مورد کی پد

      این رو نوشتم کاراکتر های عجیب غریب میاد!

      کد:
      /*****************************************************
      This program was produced by the
      CodeWizardAVR V2.05.3 Standard
      Automatic Program Generator
      © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
      http://www.hpinfotech.com
      
      Project : 
      Version : 
      Date  : 10/10/2013
      Author : PerTic@n
      Company : If You Like This Software,Buy It
      Comments: 
      
      
      Chip type        : ATmega8
      Program type      : Application
      AVR Core Clock frequency: 1.000000 MHz
      Memory model      : Small
      External RAM size    : 0
      Data Stack size     : 256
      *****************************************************/
      
      
      #include <mega8.h>
      #include <delay.h>
      #include <lcd.h>
      #include <stdlib.h>
      #include <stdio.h>
      
      
      #asm
        .equ __lcd_port=0x12
      #endasm
      
      int a,b,c;
      int f=1,ff=0;
      char lcd[];
      
      // Declare your global variables here
      
      
      void keypad ()
      { 
      
        PORTB=0b11111110;
        
        if (PINB.4==0) {a=7;}
        if (PINB.5==0) {a=4;}
        if (PINB.6==0) {a=1;}
        if (PINB.7==0) ;
        
        PORTB=0b11111101;
        
        if (PINB.4==0) {a=8;}
        if (PINB.5==0) {a=5;}
        if (PINB.6==0) {a=2;}
        if (PINB.7==0) {a=0;}
        
        PORTB=0b11111011;
        
        if (PINB.4==0) {a=9;}
        if (PINB.5==0) {a=6;}
        if (PINB.6==0) {a=3;}
        if (PINB.7==0);
        
        PORTB=0b11110111;
        
        PORTB=0b11111111;
        
      }
      
      void main(void)
      {
      
      
      // Input/Output Ports initialization
      // Port B initialization
      // Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out 
      // State7=P State6=P State5=P State4=P State3=1 State2=1 State1=1 State0=1 
      PORTB=0xFF;
      DDRB=0x0F;
      
      // Port C initialization
      // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
      // 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
      TCCR0=0x00;
      TCNT0=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
      MCUCR=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;
      
      lcd_init(16);
      lcd_clear();
      
      
      while (1)
         {
         
         keypad();   
         
         
         if (a>-1)
         { 
          if (f==1) { b=a; f=2; };
          if (ff==1)
          {  
            for(f=2;f<=4;f++)
            {
            if (f==2 || a>-1 ) { c=b*10; b=c+a; a=-1; };
            if (f==3 || a>-1 ) { c=b*10; b=c+a; a=-1; };
            if (f==4 || a>-1 ) { c=b*10; b=c+a; a=-1; };
            };
      
          };
          a=-1;ff=1;
         };    
         
         
         lcd_clear();
         itoa(b,lcd);
         lcd_puts(lcd);
         delay_ms(100);
         
         }
      }

      دیدگاه


        #4
        پاسخ : سوال در مورد کی پد

        کسی نیست؟

        دیدگاه

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