Page 31 - 6486
P. 31

{
                         DDRB = PORTB = 0xFF; //Порт В на вихід, високий рівень
                         ADMUX = (0<<REFS1)| (1<<REFS0)| (0<<ADLAR)| (0<<MUX4)| (0<<MUX3)|
                  (0<<MUX2)| (1<<MUX1)| (0<<MUX0);
                  //____AVCC з конденсатором на  AREF (REFS1 та REFS0)
                  //розрядність 10 біт (ADLAR)
                  //ADC2
                  ADCSRA = (1<<ADEN)|(1<<ADPS2)|(0<<ADPS1)|(1<<ADPS0);
                  // ADC in
                  // Тактова частота АЦП СК//32
                  lcd_init( ); //Ініціалізація РК-екрану
                  lcd_com(0x80); //Переведення курсору на початок першого рядка
                  for(unsigned cgar i=0; i<16; i++)
                  lcd_dat(text[i]; //Виведення напису
                         //Безкінечний цикл while(1)
                         {
                  u=getACD( );
                  //Зчитуємо дані з вибраного каналу АЦП
                  voltage = 5*u*1000/1024; //Розрахунок значення напруги.
                         //=Виводимо отримане значення на РКІ.
                         //=Розкладаємо отримане значення на розряди, після першого ставимо
                  кому
                         lcd_com(0xC4); //
                         lcd_dat(voltage/1000+0x30);
                         lcd_dat(‘,’);
                         i=voltage/1000;
                         u=voltage-i*1000;
                         lcd_dat((u/ 100)+0x30);
                         i=voltage/100;
                         u=voltage-i*100;
                         lcd_dat((u/ 10)+0x30);
                         lcd_dat(voltage% 10+0x30);
                         lcd_dat(‘ ‘);
                         lcd_dat(‘V’);
                         for(unsigned char d = 50; d>0; d--)_delay_ms(10);//Затримка 500 ms
                         }
                         }
                         У  нескінченному  циклі  процесор  викликає  процедуру

                  зчитування  даних  з  вибраного  каналу  АЦП  та  виводить

                  обраховаие значення на екран.




                         4.2 Хід роботи


                  1. Знайти на навчальній платі рідкокристалічний індикатор. Змінні

                  резистори для регулювання рівня вхідного сигналу на канал АЦП,

                  лінійки світлодіодів та кнопки.



                                                               31
   26   27   28   29   30   31   32   33   34   35   36