본문내용
e(void)
{
while(!(UCSR1A & (1 << RXC1)));
return UDR1;
}
void Txd0String(unsigned char *str)
{
int i;
for( i=0; str[i]!=0; i++)
Txd0Byte( str[i]);
}
void Txd1String(unsigned char *str)
{
int i;
for( i=0; str[i]!=0; i++)
Txd1Byte( str[i]);
}
void Txd0Dec(int dec)
{
char String[5];
int loop;
for (loop = 0 ; loop <5 ; loop++)
{
String[loop] = 0x30 + (dec % 10);
dec = dec / 10;
}
for(loop = 4; loop >= 0; loop --)
Txd0Byte(String[loop]);
}
void Txd1Dec(int dec)
{
char String[5];
int loop;
for (loop = 0 ; loop <5 ; loop++)
{
String[loop] = 0x30 + (dec % 10);
dec = dec / 10;
}
for(loop = 4; loop >= 0; loop --)
Txd1Byte(String[loop]);
}
int main (void)
{
USART_init(BAUD_38400,BAUD_38400);
PORT_init();
Timer_init();
ADC_init();
count_R = 0;
count_L = 0;
CrossCount = 0;
StopState = 0;
state = 0;
sei();
for(;;){
Delay_ms(60);
Txd1Dec(ir[0]);
Txd1Byte(\' \');
Txd1Dec(ir[1]);
Txd1Byte(\' \');
Txd1Dec(ir[2]);
Txd1Byte(\' \');
if(state==1) Txd1String(\"LEFT\");
else if (state==2) Txd1String(\"move_Left\");
else if (state==3) Txd1String(\"RIGHT\");
else if (state==4) Txd1String(\"move_right\");
else Txd1String(\"GO\");
Txd1Byte(\'\\n\');
}
return 0;
}
ISR(TIMER1_OVF_vect)
{
PORTA = Lmotor[count_L++];
count_L %=8;
SETSPEED();
TCNT1 = Lspeed;
}
ISR(TIMER3_OVF_vect)
{
PORTC= Rmotor[count_R++];
count_R %= 8;
SETSPEED();
TCNT3 = Rspeed;
}
ISR(ADC_vect)
{
ir[ADMUX++] = ADC ;
ADMUX %= 3;
ADCSRA = (1<
}
////////////////////////////////////////////////
{
while(!(UCSR1A & (1 << RXC1)));
return UDR1;
}
void Txd0String(unsigned char *str)
{
int i;
for( i=0; str[i]!=0; i++)
Txd0Byte( str[i]);
}
void Txd1String(unsigned char *str)
{
int i;
for( i=0; str[i]!=0; i++)
Txd1Byte( str[i]);
}
void Txd0Dec(int dec)
{
char String[5];
int loop;
for (loop = 0 ; loop <5 ; loop++)
{
String[loop] = 0x30 + (dec % 10);
dec = dec / 10;
}
for(loop = 4; loop >= 0; loop --)
Txd0Byte(String[loop]);
}
void Txd1Dec(int dec)
{
char String[5];
int loop;
for (loop = 0 ; loop <5 ; loop++)
{
String[loop] = 0x30 + (dec % 10);
dec = dec / 10;
}
for(loop = 4; loop >= 0; loop --)
Txd1Byte(String[loop]);
}
int main (void)
{
USART_init(BAUD_38400,BAUD_38400);
PORT_init();
Timer_init();
ADC_init();
count_R = 0;
count_L = 0;
CrossCount = 0;
StopState = 0;
state = 0;
sei();
for(;;){
Delay_ms(60);
Txd1Dec(ir[0]);
Txd1Byte(\' \');
Txd1Dec(ir[1]);
Txd1Byte(\' \');
Txd1Dec(ir[2]);
Txd1Byte(\' \');
if(state==1) Txd1String(\"LEFT\");
else if (state==2) Txd1String(\"move_Left\");
else if (state==3) Txd1String(\"RIGHT\");
else if (state==4) Txd1String(\"move_right\");
else Txd1String(\"GO\");
Txd1Byte(\'\\n\');
}
return 0;
}
ISR(TIMER1_OVF_vect)
{
PORTA = Lmotor[count_L++];
count_L %=8;
SETSPEED();
TCNT1 = Lspeed;
}
ISR(TIMER3_OVF_vect)
{
PORTC= Rmotor[count_R++];
count_R %= 8;
SETSPEED();
TCNT3 = Rspeed;
}
ISR(ADC_vect)
{
ir[ADMUX++] = ADC ;
ADMUX %= 3;
ADCSRA = (1<
////////////////////////////////////////////////
추천자료
전기전자,졸업작품,졸작 atmega, 적외선센서 이용한 자동문
VHDL 적외선센서 결과보고서
마이크로프로세서 I - 라인트레이서 보고서
엘리베이터 제어
AVR을 이용하여 적외선센서(수,발광) 제어하기 (IR센서제어,라인트레이서,적외선 ADC,센서값 측정,ATmega128,소스코드,회로도,ST5811,EL-7L,,수광,발광
라인트레이서(이대로만따라하면 100%구동(A+맞은 자료입니다)ATmega128,스테핑모터
RTX15를 이용한 라인트레이서 line tracer 마이크로 프로세스과목 설계보고서임
c언어 프로그래밍언어 Team Project
메카트로닉스 마이크로프로세서를 이용한 디지털 온도계 제작 - 선행과정, 소프트웨어 구성, 동작 원리, 설계과정,
소개글