Hallo!
Ich habe mir vor einiger Zeit ein LCD-Display und einen ATMEGA8 bei www.pollin.de bestellt. Ein Board zum programmieren habe ich schon.
Jetzt zur Frage: Ich weiß nicht, wie ich das LCD-Display an den ATMAGA8 anschließe usw. Also brauche ich den ganzen "Schaltplan". Kann mir jemand dabei helfen???
Hier zum Datenblatt vom LCD-Display:
> http://imagesup.de/picture.php?code=2gx ... aia15ckfxl
> http://imagesup.de/picture.php?code=2qf ... qjzucy4o6o
Und dann habe ich eine 2. Frage:
Ich habe mir den "Text", den ich auf den ATMEGA8 programmieren will geschrieben. Ich habe es schon von einem E-Technik-Studenten konotrollieren lassen Wink. Jetzt weiß ich nur nicht, ob das mit dem Text richtig ist. (Dort wo Steht "HIER MUSS DER TEXT HIN!!!" Das würde er dann ja anzeigen, oder? Also ist das so alles richtig, oder habe ich noch irgendwelche Befehle vergessen?)
#include <mega8.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x12 ;PORTD
#endasm
#include <lcd.h>
HIER MUSS DER TEXT HIN!!!
HIER MUSS DER TEXT HIN!!!
#include <delay.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// LCD module initialization
lcd_init(16);
while (1)
{
// Place your code here
};
}
Noch eine Kurze Ergänzung zum LCD-DISPLAY: es kann 2 Zeilen á 16 Buchstaben anzeigen. Gekauft bei www.pollin.de - Best.Nr. 120 461
mfg. Andre