|
Spannungswert von ADC0 auf LCD ausgeben
Zeigerinstrumente haben auch so
ihre Vorteile, z. B. kann man
vorteilhafter Tendenzen erkennen.
Das folgende Programm stellt auf unserem LCD in der oberen
Zeile die Spannungswerte 0..5V dar und bewegt in der zweiten Zeile
einen Zeiger.
Benutzt man für die Darstellung von Zeigern, wie sie auf analogen
Meßgeräten üblich sind, digitale Anzeigen, spricht man von
einer Quasianaloganzeige.

#include <avr/io.h>
#define F_CPU 1000000 // CPU-Frequenz in Hz
#include <util/delay.h>
#include "messen.h"
#include "lcd-routines.h"
int main(void){
int x=0;
DDRB |= _BV(PB0); PORTB
&= ~_BV(PB0); // PB0 ist Status-LED Ausgang
lcd_init();
lcd_clear();
set_cursor(0, 1); lcd_string("0 1
2 3 4 5");
while (1) {
//Wert von ADC0, siehe "messen.h"
x=MESSWERT(0);
x=x/60.18;
set_cursor(0, 2);
lcd_string("
");
set_cursor(x, 2); lcd_string("|");
_delay_ms(255);
}
return(0);
}
Du kannst mit z.B. einem
10K-Poti an 5V und GND mit Schleifer auf ADC0 die Spannung 0..5V
"durchleiern".
Die
LCD-Routinen habe ich übrigens aus einem Tutorial von Christian
Schifferle und Martin Thomas,
das auf www.mikrocontroller.net veröffentlicht ist - einer
empfehlenswerten
Mikrocontroller-Web-Seite.
Hier der Code-Ordner.
|