Pomiar napiecia przetwornikiem A/C i prezentacja wyniku na LCD 2x16 HD44780

Jak napisać program w C Pomiar napięcia przetwornik A / D i prezentacji wyniku na LCD 2x16 HD44780 w C Programming Language ?


Solution:

  1. //Pomiar napiecia przetwornikiem A/C i prezentacja wyniku na LCD 2x16 HD44780
  2. #define F_CPU 16000000
  3. #include <avr/io.h>
  4. #include <util/delay.h>
  5. #include "HD44780.h"
  6.  
  7. //definicja ADIN (wejœcia ADC)
  8.  
  9. #define ADCIN PC5
  10.  
  11. int main (void)
  12. {
  13.   char wynik [1];
  14.  
  15.   LCD_Initalize(); //inicjalizacja LCD
  16.   LCD_GoTo (0, 0); //Ustawienie kursora na pocz¹tku, pozycja (0,0)
  17.   LCD_WriteText("ADC test: 10 bit");
  18.  
  19.   //Inicjalizacja ADC
  20.  
  21.   ADMUX |= (0<<REFS1) | (1<<REFS0) |(1<<MUX2) | (1<MUX0);//Napiêcie odniesienia 5V AVCC, wejœcie ADC PC5
  22.   ADCSRA |= (1<<ADEN) | (1<ADSC) | // Uruchomienie ADC
  23.             (1<<ADPS0)| (1<<ADPS1) | (1<<ADPS2);//Z preskalerem 128
  24.  
  25.   DDRC &=(1<ADCIN); //Ustawienie wejscia ADC PC5
  26.  
  27.  while(1)
  28.   {
  29.     ADCSRA |= (1<<ADSC); //Uruchomienie trybu pojedynczej konwersji
  30.  
  31.     while (ADCSRA & (1<<ADSC)); //czeka na zakoñczenie konwersji
  32.  
  33.     LCD_GoTo (5, 1); //Ustawnienie kursora w pozycji (5, 1)
  34.     LCD_WriteText ("  "); //czyszczenie poprzedniej wartosci
  35.     itoa(ADC,wynik,10); //Konwersja wyniku do tablicy char
  36.     LCD_GoTo (5, 1); //ustawienie kursora w pozycji (5, 1)
  37.     LCD_WriteText (wynik); //Wyswietlenie wyniku
  38.     _delay_ms(500);//opoznienei
  39.   }
  40.  
  41. }


Learn More :