Forum: Mikrocontroller und Digitale Elektronik Atmega16 + LCD EASER161-ENLWK


von Julian (Gast)


Lesenswert?

Guten Tag,
ich bin Neuling in Sachen µC und habe folgende Aufgabe gestellt 
bekommen:

Mit einem Atmega16 auf einem LCD-Display EASER161-ENLWK einen Wert 
auszugeben, um genau zu sein eine Km/h Anzeige zu realisieren.

Mein Porblem liegt aber darin überhaupt ein Zeichen auf dem Display zu 
erhalten.
Ich hab diverse Beiträge und das Tutorial durchgelesen aber ich 
verzweifel.

Getestet wird mit einem Atmel Eval-Board V2 von pollin

Folender Quellcode:

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/delay.h>


#define FOSC 8000000L //Clockspeed
#define BAUD 9600L
#define MYUBRR  FOSC/16/BAUD-1


//Initialisierung des USART
void USART_Init(unsigned char ubrr)
{
  UCSRA = (0<<U2X);
//  UBRRX = 51;
  //Baud rate setzen
  UBRRH = (ubrr >>8);
  UBRRL = (ubrr);

  //Sender und Empfänger aktivieren
  UCSRB =  (1<<RXEN) | (1<<TXEN);

  //Frameformat setzten: 8data, 2stop bit
  //UCSRC = (1<<URSEL) | (0<<USBS) | (3<<UCSZ0);
  UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0) | (0<<UPM0) | (0<<USBS);
}

//Senden eines Zeichens über USART
void USART_Transmit(unsigned char zeichen)
{


  //Auf leeren Sendepuffer warten
  while( !(UCSRA & (1<<UDRE) ))
  {}

  //Zeichen ind Sendepuffer und senden
  UDR = zeichen;

  DDRD |= (1<<PD6);
  //LED2 anmachen
  PORTD |= (1<<PD6);
}

int main()
{
  unsigned char testchar = 'x';

  USART_Init(MYUBRR);

  USART_Transmit(testchar);

  return 0;
}

hab sowohl das Display angeschlosse als auch über HyperTerminal versucht 
ein Zeichen zu erhalten.
ich übermittel x bekomme auf dem Display kein zeichen und im HTerminal ~
Das Display benötigt 1 startbit 8 datenbits 1 stoppbit
und das Board hat einen 8 MHz quarz.

könnt ihr mir sagen was ich falsch mache?
wie gesagt, ich bekomme kein zeichen auf dem display (es funzt aber 
definitiv) und im Hyperterminal bekomm ich ein ~

Bin auch für links ähnlicher probleme dankbar.

gruß Julian

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.