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 -
   602   603   604   605   606   607   608   609   610   611   612