Jak napisać program w C Pomiar napięcia przetwornik A / D i prezentacji wyniku na LCD 2x16 HD44780 w C Programming Language ?
Solution:
- //Pomiar napiecia przetwornikiem A/C i prezentacja wyniku na LCD 2x16 HD44780
- #define F_CPU 16000000
- #include <avr/io.h>
- #include <util/delay.h>
- #include "HD44780.h"
- //definicja ADIN (wejœcia ADC)
- #define ADCIN PC5
- int main (void)
- {
- char wynik [1];
- LCD_Initalize(); //inicjalizacja LCD
- LCD_GoTo (0, 0); //Ustawienie kursora na pocz¹tku, pozycja (0,0)
- LCD_WriteText("ADC test: 10 bit");
- //Inicjalizacja ADC
- ADMUX |= (0<<REFS1) | (1<<REFS0) |(1<<MUX2) | (1<MUX0);//Napiêcie odniesienia 5V AVCC, wejœcie ADC PC5
- ADCSRA |= (1<<ADEN) | (1<ADSC) | // Uruchomienie ADC
- (1<<ADPS0)| (1<<ADPS1) | (1<<ADPS2);//Z preskalerem 128
- DDRC &=~ (1<ADCIN); //Ustawienie wejscia ADC PC5
- while(1)
- {
- ADCSRA |= (1<<ADSC); //Uruchomienie trybu pojedynczej konwersji
- while (ADCSRA & (1<<ADSC)); //czeka na zakoñczenie konwersji
- LCD_GoTo (5, 1); //Ustawnienie kursora w pozycji (5, 1)
- LCD_WriteText (" "); //czyszczenie poprzedniej wartosci
- itoa(ADC,wynik,10); //Konwersja wyniku do tablicy char
- LCD_GoTo (5, 1); //ustawienie kursora w pozycji (5, 1)
- LCD_WriteText (wynik); //Wyswietlenie wyniku
- _delay_ms(500);//opoznienei
- }
- }