Page 607 - 2
P. 607
#include <mega128.h>
#include <delay.h>
#include <alcd.h>
#define LED PORTB.0
#define MOT PORTB.1
unsigned char rx;
int cds_value;
void lcd_out(void)
{
lcd_init(16); //lcd 초기화
lcd_gotoxy(1,0);
lcd_putsf("RCcar driving");
}
void cds_adc(void)
{
ADMUX=0x02; //PORTF.2 사용
ADCSRA=0b11000111; //ADEN=1,ADSC=1 변환 시작
while((ADCSRA&0x10)==0); //ADIF=1 이 될때까지 대기
cds_value=ADCW; //cds 값 읽기
if(cds_value<690) LED=1;
else LED=0;
}
void main()
{
DDRA = 0xff;
DDRB = 0xff;
DDRD=0xff;
DDRG=0xff;
EIMSK=0x01;
EICRA=0x03;
UCSR1A = 0x00;
UCSR1B = 0b11011000;
UCSR1C = 0b00000110;
UBRR1H = 0;
UBRR1L = 103;
SREG = 0x80; // 설정 인터럽트 허용. ( 송수신 인터럽트)
while(1)
{
cds_adc();
- 607 -