سلام دوستان من کد راست گرد و چپ گرد و نوشتم حالا می خواهم براش یک کیبرد تعریف کنم که با وارد کردن عدد بر روی کیبرد سرعت موتور افزایش یا کاهش پیدا کنه
ممنون می شم کمکم کنید...
ممنون می شم کمکم کنید...
#include <mega32a.h> #include <delay.h> #include <stdlib.h> unsigned char data=16; //char s1[8]; void ref_key (void) { DDRB=0x0f; PORTB=0xff; PORTB.0=0; delay_ms(15); if(PINB.4==0)data=0; if(PINB.5==0)data=1; if(PINB.6==0)data=2; if(PINB.7==0)data=3; PORTB=0xff; PORTB.1=0; delay_ms(15); if(PINB.4==0)data=4; if(PINB.5==0)data=5; if(PINB.6==0)data=6; if(PINB.7==0)data=7; PORTB=0xff; PORTB.2=0; delay_ms(15); if(PINB.4==0)data=8; if(PINB.5==0)data=9; if(PINB.6==0)data=10; if(PINB.7==0)data=11; PORTB=0xff; PORTB.3=0; delay_ms(15); if(PINB.4==0)data=12; if(PINB.5==0)data=13; if(PINB.6==0)data=14; if(PINB.7==0)data=15; } // Declare your global variables here void main(void) { //unsigned char a[]={0b00111111,0b00000110,0b01011011,0b01001111,0b01100110,01101101,0b01111101,0b00000111,0b01111111,0b01101111,'9','F','A','B','C','D',' '}; // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTA=0x00; DDRA=0xFF; // Port B 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 PORTB=0x00; DDRB=0x0F; // 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; while (1) { ref_key(); //dar en ghesmat barnameye step ra gharar dahid. delay_ms(data); } }
دیدگاه