Page 690 - 2
P. 690

// Clock source: System Clock
                // Clock value: 250.000 kHz
                // Mode: CTC top=OCR0
                // OC0 output: Disconnected
                // Timer Period: 1.024 ms
                ASSR=0<<AS0;
                TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (1<<WGM01) | (1<<CS02) | (0<<CS0
            1) | (0<<CS00);
                TCNT0=0x00;
                OCR0=0xFF;
                // Timer/Counter 2 initialization
                // Clock source: System Clock
                // Clock value: 250.000 kHz
                // Mode: CTC top=OCR2A
                // OC2 output: Disconnected
                // Timer Period: 1.024 ms
                TCCR2=(0<<WGM20) | (0<<COM21) | (0<<COM20) | (1<<WGM21) | (0<<CS22) | (1<<CS2
            1) | (1<<CS20);
                TCNT2=0x00;
                OCR2=0xFF;
                // Timer(s)/Counter(s) Interrupt(s) initialization
                TIMSK=(1<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE
            1) | (1<<OCIE0) | (0<<TOIE0);
                ETIMSK=(0<<TICIE3) | (0<<OCIE3A) | (0<<OCIE3B) | (0<<TOIE3) | (0<<OCIE3C) | (0<<O
            CIE1C);
                // Globally enable interrupts
                #asm("sei")
            }
            void init_uart()
            {
                lcd_init(16);
                lcd_clear();
                // USART0 initialization
                // Communication Parameters: 8 Data, 1 Stop, No Parity
                // USART0 Receiver: On
                // USART0 Transmitter: On
                // USART0 Mode: Asynchronous
                // USART0 Baud Rate: 9600
                UCSR0A=(0<<RXC0) | (0<<TXC0) | (0<<UDRE0) | (0<<FE0) | (0<<DOR0) | (0<<UPE0) |
            (0<<U2X0) | (0<<MPCM0);
                UCSR0B=(1<<RXCIE0) | (0<<TXCIE0) | (0<<UDRIE0) | (1<<RXEN0) | (1<<TXEN0) | (0<<U
            CSZ02) | (0<<RXB80) | (0<<TXB80);
                UCSR0C=(0<<UMSEL0) | (0<<UPM01) | (0<<UPM00) | (0<<USBS0) | (1<<UCSZ01) | (1
            <<UCSZ00) | (0<<UCPOL0);
                UBRR0H=0x00;


                                                         - 690 -
   685   686   687   688   689   690   691   692   693   694   695