31
Робо-сумо / Моят сумо робот
« -: Май 09, 2009, 10:18:51 pm »
Мерси!
А как по-точно с стабилизатора се избягва падът на напрежение?
А как по-точно с стабилизатора се избягва падът на напрежение?
От тук може да видиш всички публикации на този потребител.
#include <avr/io.h>
#include <avr/delay.h>
#define F_CPU 4000000UL // 4 MHz clock rate
int main(void)
{
DDRD=0xff;
DDRC=0x00;
DDRB =1<<PB2;
TCCR1A=(1<<COM1B1)|(1<<WGM11)|(1<<WGM10);
TCNT1=0;
OCR1A=105; //tuning to 38kHz
OCR1B=53; //50% duty cycle
TCCR1B=(1<<WGM12)|(1<<WGM13)|(1<<CS10);
PORTD|=_BV(PD0);
PORTD|=_BV(PD3);
while(1)
{
if(!(PINC&(1<<PC3)))
{
PORTD&=~_BV(PD0);
PORTD&=~_BV(PD3);
PORTD|=_BV(PD1);
PORTD|=_BV(PD2);
_delay_ms(500);
PORTD&=~_BV(PD1);
PORTD&=~_BV(PD2);
PORTD|=_BV(PD0);
_delay_ms(500);
PORTD|=_BV(PD3);
}
if(!(PINC&(1<<PC2)))
{
PORTD&=~_BV(PD0);
PORTD&=~_BV(PD3);
PORTD|=_BV(PD1);
PORTD|=_BV(PD2);
_delay_ms(500);
PORTD&=~_BV(PD1);
PORTD&=~_BV(PD2);
PORTD|=_BV(PD3);
_delay_ms(500);
PORTD|=_BV(PD0);
}
while(PINC&(1<<PC2),PINC&(1<<PC3),!(PINC&(1<<PC2)),PINC&(1<<PC5))
{
PORTD&=~_BV(PD0);
}
PORTD|=_BV(PD0);
while(PINC&(1<<PC2),PINC&(1<<PC3),PINC&(1<<PC4),!(PINC&(1<<PC5)))
{
PORTD&=~_BV(PD3);
}
PORTD|=_BV(PD3);
while(PINC&(1<<PC2),PINC&(1<<PC3),PINC&(1<<PC4),PINC&(1<<PC5))
{
PORTD|=_BV(PD3);
PORTD|=_BV(PD0);
}
}
}